0

私は安全で信頼性の高いブラウザ検出について少し研究を行ってきました。解析が最悪の方法であるという事実を考えるとnavigator.userAgent、ユーザーが簡単になりすますことができるため、機能検出を使用するのが最善の策のようです。したがって、StackOveflowやその他の場所のさまざまな記事に基づくと、最終的には次のようになります。

IE: /*@cc_on!@*/false
Firefox: -moz-box-sizing
Safari: window.getComputedStyle && !window.globalStorage && !window.opera
Opera: window.opera && window.opera.version
Chrome: window.chrome

これらはブラウザの将来のリリースのために維持および監視されることを考えると(現在使用している機能を無効にする可能性がある場合、または他のブラウザがそれを実装している可能性があるため、テストはそのブラウザに対してもtrueを返します)、この方法に注意点はありますか?ユーザーは、何らかの方法で、これらでも間違った結果を返すようなことをすることができますか?

4

1 に答える 1

1

これらの方法に注意点はありますか?ユーザーは、何らかの方法で、これらでも間違った結果を返すようなことをすることができますか?

AFAIKあなたは2つのことを考慮に入れなければなりません。まず、ブラウザによっては、IDがグローバルスコープを汚染する可能性があります。第二に、すでに、プレフィックスがブラウザ固有であると信頼することはできませ。他のユーザーがコメントで指摘しているように、代わりに機能検出に依存することをお勧めします(あなたがしていることは相関推論です)。

ちなみに、Safariフィルターは信頼できません。

于 2013-03-18T12:06:01.623 に答える