Quelle est la bonne façon de détecter Opera en utilisant jQuery?

Amazon.com récemment mis à jour leur javascript, et cela cause des problèmes avec certains Opera navigateurs.

Leur code de détection du navigateur ressemble, mais c'est défectueuse:

    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
            );
        }
}

Rien évidemment mal de sauts à moi avec ce code, mais je n'ai jamais utilisé jQuery avant, donc je ne sais pas.

Même si ce à quoi ressemble le code qu'il tente de laisser les utilisateurs de Opera à travers, quand je visite la page avec Opera 9.64-je un navigateur non pris en charge" du message. Si je change d'Opéra paramètres du rapport lui-même comme Firefox, la page fonctionne parfaitement! Avec cela à l'esprit, je suis sûr que c'est un problème avec le script et le navigateur.

Toute jQuery experts vous avez une suggestion?

Vous pouvez reproduire le comportement en visitant un livre sur Amazon et en cliquant sur le "regarder à l'intérieur de ce livre".

source d'informationauteur