Определить версию браузера Opera немного сложнее, т. к. этот браузер любит маскироваться под другие браузеры. Кроме того, пользователь в настройках программы может сам выбрать нужные свойства для своего браузера. Начиная с Opera 9, браузер уже не прячет свое название, но пользователь по-прежнему может изменять эти настройки. Перечислим возможные возвращаемые строки свойства navigator.userAgent
в Opera 8.5:
- для IE6: Mozilla/4.0 (compatible; MSIE 0; Windows XP) Opera 8.5 [en] ;
- для Mozilla 5: Mozilla/5.0 (Windows XP; U) Opera 8.5 [en];
- для Opera: Opera/8.5 (Windows XP; U) [en].
В любом случае здесь имеется строка Opera и номер версии после нее (либо через пробел, либо через слэш).
А вот как может выглядеть сценарий для определения версии Opera (листинг 1).
Листинг 1. Определение версии браузера Opera
<script type="text/javascript">
// userAgent в Opera 9.24 Windows XP возвращает:
// Opera/9.24 (Windows NT 5.1; U; en)
// userAgent в Opera 8.5 (под именем IE) возвращает:
// Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Opera 8.50 [en]
// userAgent в Opera 8.5 (под именем Opera) возвращает:
// Opera/8.50 (Windows NT 5.1; U) [en]
if (/Opera[\/\s](\d+\.\d+)/.test(navigator.userAgent))
{ // проверка для Opera/x.x или Opera x.x (игнорируем остальные цифры);
var oprversion=new Number(RegExp.$1);
// получаем цифры x.x
if (oprversion>=10)
document.write("У вас Opera 10.x или выше");
else if (oprversion>=9)
document.write("У вас Opera 9.x");
else if (oprversion>=8)
document.write("У вас Opera 8.x");
else if (oprversion>=7)
document.write("У вас Opera 7.x");
else
document.write("Не определено");
}
else
document.write("Не определено");
</script>