Amazon.com gần đây đã cập nhật javascript của họ và nó gây ra sự cố với một số trình duyệt Opera.Cách chính xác để phát hiện Opera bằng jQuery là gì?
đang phát hiện trình duyệt của họ trông giống như vậy, nhưng nó bị lỗi:
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
);
}
}
Không có gì rõ ràng sai nhảy ra lúc tôi với mã này, nhưng tôi đã không bao giờ sử dụng jQuery trước vì vậy tôi không biết .
Mặc dù mã này có vẻ như đang cố gắng để người dùng Opera thông qua, khi tôi truy cập trang bằng Opera 9.64 tôi nhận được thông báo "trình duyệt không được hỗ trợ". Nếu tôi thay đổi cài đặt của Opera để tự báo cáo là Firefox, trang hoạt động hoàn hảo! Với ý nghĩ đó, tôi chắc chắn đó là vấn đề với kịch bản chứ không phải trình duyệt.
Bất kỳ chuyên gia jQuery nào đều có đề xuất?
Bạn có thể sao chép hành vi bằng cách truy cập bất kỳ sách nào trên Amazon và nhấp vào liên kết "xem bên trong sách này".
Tôi đang sử dụng Opera 9.64 nhưng tất cả trang đó cho tôi biết rằng Amazon Online Reader hoạt động tốt nhất với IE> 6.0, Firefox> 1.5 hoặc Safari> 2.0 –
Ví dụ về lý do tại sao trình duyệt phát hiện và thông báo "trình duyệt không được hỗ trợ" hầu như luôn là một ý tưởng tệ hại. – tgecho
Vâng, * đoạn trích đánh dấu cụ thể này thực sự cố gắng cho phép Opera, nhưng là một trong những câu trả lời dưới đây cho biết Amazon có nhiều trình duyệt đánh hơi hơn ở nơi khác, kể cả đánh hơi phía máy chủ, không thân thiện với Opera. – hallvors