0

まったく同じ場所にあるものを取得できないため、ブラウザに応じて異なるcssスタイルを追加するためにjqueryにこのコードがあります。これは、ユーザーがchromeを使用しているときにスタイルシートにリンクを追加するコードです。

<script type= "text/javascript">
    $.browser.chrome = /chrome/.test(navigator.userAgent.toLowerCase());
    if ($.browser.chrome) {
        document.write('<link rel="stylesheet" href="css/chrome.css" 
                                         type="text/css" media="screen">'); 
    }
</script>

ただし、chromeを使用すると、別のコード(safariのスタイルシートにリンクを追加するのと同じコード)もtrueになり、リンクも追加されます。だから私はクロムを使用しているときに2つのスタイルシートを持っています。どちらのコードもまったく同じですが、唯一の違いは、「chrome」という単語が「safari」に変更されていることです。

4

3 に答える 3

1

より良い、より正確なクロム検出については、次のURLをチェックしてください: https ://stackoverflow.com/a/11382806/2177992

それに加えて、次のようにコードを構造化できます。

if ( chrome )
{
    //chrome stuff
}
else if ( safari )
{
    //safari stuff
}

このように、両方が同時にアクティブになることはありません。

于 2013-03-17T20:13:39.813 に答える
0
"mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.22 (khtml, like gecko) chrome/25.0.1364.172 safari/537.22"

Chromeのuseragent文字列にsafari含まれているため、文字列にsafariが含まれているかどうかを確認すると、ChromeとSafarの両方に当てはまります。

ブラウザを検出するためのより良い方法については、これらの質問を参照してください

JavaScriptでのブラウザ検出?

ブラウザのバージョンを検出する

興味深い関連記事:ブラウザのユーザーエージェント文字列の履歴

于 2013-03-17T20:06:40.870 に答える
0

これは、がnavigator.userAgent.toLowerCase()含まれているためsafariです。その私のバージョンはですmozilla/5.0 (windows nt 6.1) applewebkit/537.22 (khtml, like gecko) chrome/25.0.1364.172 safari/537.22

http://user-agent-string.info/?Fuas=mozilla%2F5.0+%28windows+nt+6.1%29+applewebkit%2F537.22+%28khtml%2C+like+gecko%29+chromeによると%2F25.0.1364.172 + safari%2F537.22&test = 4438&action=analyze文字列のこの部分は。と呼ばれますbrowser signature

于 2013-03-17T20:06:59.340 に答える