0

Source Code:

if (navigator.userAgent.toLowerCase().indexOf('msie') != -1 && parseInt($.browser.version, 10)<7)

Edited - sorry, posted wrong code.

What's the correct formation of the above, to identfiy browsers less than ie9?

thanks

Edit -

Here's the reason for the code above:

if (navigator.userAgent.toLowerCase().indexOf('msie') != -1 ) {
                    hidden = document.createElement('<input type="hidden" name="' + atName + '" value="' + attrId + '"/>');
                } else {
                    hidden = document.createElement("input");

it's for the createElement issue in anything lower than IE9

Additionally, I would love to rewrite the entire function, but due to scope I am unable to rewrite the file until it's included in a project - so I need to rewrite this one line to work correctly.

4

1 に答える 1

1

ANDは有効なjavascriptキーワードではありません。VERSIONどちらもどこでも宣言されていないようです。また、特定のナビゲーターやバージョンに対してテストするのではなく、ブラウザーが使用したい機能をサポートしているかどうかに対してテストすることをお勧めします。特徴検出と呼ばれる手法。したがって、たとえば、HTML5のcanvas要素を使用する場合は、ブラウザがXXXで、バージョンがYYYであるかどうかをテストしないでください。ブラウザがHTMLキャンバス要素をサポートしているかどうかをテストします。Modernizrは、この仕事に最適なライブラリです。


アップデート:

また、グッドプラクティスについて聞きたくなくても、このブラウザのバージョン検出を主張する場合は、次のようにします。

if ($.browser.msie && parseInt($.browser.version, 10) < 9) {
    alert('Warning, you are running a crap of a browser. Please upgrade!');
}
于 2011-10-18T18:35:47.280 に答える