Недавно Amazon.com обновил свой javascript и вызвал проблемы с некоторыми браузерами Opera.
Их код обнаружения браузера выглядит так, но он неисправен:
function sitbReaderIsCompatibleBrowser() {
if (typeof(jQuery) == 'undefined') {
return false;
} else {
var version = jQuery.browser.version || "0";
var splitVersion = version.split('.');
return (
(jQuery.browser.msie && splitVersion[0] >= 6) // IE 6 and higher
|| (jQuery.browser.mozilla && (
(splitVersion[0] == 1 && splitVersion[1] >= 8) // Firefox 2 and higher
|| (splitVersion[0] >= 2)
))
|| (jQuery.browser.safari && splitVersion[0] >= 500) // Safari 5 and higher
|| (jQuery.browser.opera && splitVersion[0] >= 9) // Opera 5 and higher
);
}
}
Ничего явно неправильно выпрыгивает на меня с помощью этого кода, но я никогда не использовал jQuery, прежде чем я не знаю.
Несмотря на то, что этот код похож на попытку позволить пользователям Opera, когда я посещаю страницу с помощью Opera 9.64, я получаю сообщение "неподдерживаемый браузер". Если я изменил настройки Opera, чтобы сообщить себя как Firefox, страница работает отлично! Имея это в виду, я уверен, что это проблема с script, а не с браузером.
У любого эксперта jQuery есть предложение?
Вы можете воспроизвести поведение, посетив любую книгу на Amazon и нажав ссылку "загляните внутрь этой книги".