jQuery関数でif文を使用してIE7をターゲットにしようとしています。この特定のビットへの私のコードは:jQueryを使用したターゲットIE7
if($.browser.msie && $.browser.version.substring(0) == "7") {
//Do something
}
これは正しいですか?
jQuery関数でif文を使用してIE7をターゲットにしようとしています。この特定のビットへの私のコードは:jQueryを使用したターゲットIE7
if($.browser.msie && $.browser.version.substring(0) == "7") {
//Do something
}
これは正しいですか?
試してみてください。
if($.browser.msie && parseInt($.browser.version, 10) == 7) {
//Do something
}
そして@Andrewウィテカーのコメントとしては、代わりに特定のブラウザを標的とする、代わりの特徴を検出することを検討してください。
その声明に同意します。 jquery apisでも次のように述べています。「このプロパティを使用しないことをおすすめします。機能の検出を代わりに使用してください。」 (http://api.jquery.com/jQuery.browser/) – Tjirp
@Tjirp、私は「IE7がオーバーフロー上のコンテンツウィンドウ内のスクロールバーを描画するために、IE8は外それらを描く「機能」を検出する方法があるとは思いません" – CaffGeek
ニースのスクリプト、upvote。しかし、もし私がIE7とIE8をターゲットにしたいのであれば?私は 'if($。browser.msie && parseInt($。browser.version、10)== 7,8)'でテストして動作します。しかし、私のJSLintはエラーがあると私に伝えます。私はJavaScriptの達人ではないので、エラーの意味を理解していません。私の考えはDYRにあるので、2つの異なるブラウザで同じ機能を繰り返す必要はありません。どのようにこれを達成するためのアイデア?ありがとう。 –
テストしましたか? – Domenic
あなたはおそらく何かをする "正しい"方法を探していますか?そうでない場合は、コードをテストし、それが機能するかどうかを確認してください。 – gideon
私は 'parseInt($。browser.version)== 7'と思う方がきれいでしょう。 – karim79