私のウェブページでは、私はこのCSSを持っています:jQuery.browserは廃止されましたが、どのように.supportを使用しますか?
tr:hover {
background-color: #f0f;
}
良い古いIE以外のすべてのブラウザでうまく動作します。マウスの上/下にあるクラスを追加したり削除したりするためのjQueryを書くことができますが、:hover
を正しくサポートする他のすべてのブラウザをハンディキャップしないことを望みます。純粋なCSSソリューションをネイティブにサポートしていないブラウザのこのJSの動作。
もちろん、$.browser
は非難されていることを知っています。ブラウザのスニッフィングは悪いことですが、他のすべての質問には「あなたがチェックしてはいけないブラウザでは、の機能を確認してください。これは、これらの人々が住んでいる魔法の妖精の土地でうまくいいですが、私たちの残りの部分は、IE6やその他のブラウザでサイトを正常に動作させる必要があります。
&はIE6 &のように見える7:
leadingWhitespace: false
tbody: false
objectAll: false
htmlSerialize: false
style: false
hrefNormalized: false
opacity: false
cssFloat: false
scriptEval: false
noCloneEvent: false
boxModel: true
tr:hover
が動作するかどうかは、これらのプロパティを使ってどのように仮定しますか?
はいこの例では、それはかなり無害で、IEのユーザーにその機能を与えないか、すべてのブラウザでシミュレートすることによって、おそらく逃げることができますが、それは重要ではありません。 $.support
がそれに置き換わっていないとき、$.browser
の使用をやめようとしていますか?
+1これはおそらくユーザーエージェントのスニッフィングよりも信頼性が高いためですが、コードにフォワード互換性を持たせたいという問題は解決しません。IE9が出てきてXをサポートし、IE単なる条件付きコメントは機能しません。 (私はあなたが '' IE <9 'なら何かをすることができると知っていますが、それでもスニッフィングしています.. – nickf
CCの優位性は、偽装できないか、少なくともレジストリをハッキングしない限りです。 $ .browserを非難しませんでした。Resig氏に電子メールの長いリストを送っていたに違いありません。 – alex