1

機能検出を使用して、ブラウザーが firefox (ie6 ではない)、opera、chrome、safari のいずれであるかを検出するにはどうすればよいですか?

4

3 に答える 3

4

機能検出は、ユーザーが使用しているブラウザーを通知するものではありません。これは、ブラウザが必要なことを処理できるかどうかを示すためのものです。

たとえば、ActiveX をサポートする必要がある場合は、

if(ActiveXObject) { ... }

他のブラウザー (現在または将来) も ActiveX をサポートする可能性があるため、これはブラウザーが IE であるかどうかを確認するよりも優れています。

より有用な例は、ノード リストをトラバースするときのテキスト ノード チェックです。

if (!el.tagName || el.tagName != expectedTagName)
    el = el.nextSibling;    // skip the text node
于 2010-02-10T02:03:26.660 に答える
0

おそらく誰かが私の問題を解決したのではないかと考えて、私は答えを探していました。多くの人と同じように、私は自分自身を書くことになりました:

    try {
        if (ActiveXObject != undefined) {
            alert("we have activex");
    }
    }
    catch (err)
    {
        alert(err.message);
    }

もちろん、実装をカスタマイズしたいと思うでしょう。私の例は、基本ロジックを示しているだけです。チッ!

于 2013-04-30T17:47:35.073 に答える
0

Safari の場合: サーバー側のルート、つまり Chris Schuld の Browser.php を使用します。http ユーザー エージェントを除けば、Safari の機能検出に関するドキュメントはほとんどありません。

于 2010-04-12T00:03:26.583 に答える