11

私はさまざまなスクリプトをいじっていましたが、Chrome 以外のすべてで機能するスクリプトを見つけました...これは、.CSS ファイルを区別するために使用しているコードです。ブラウザ名を「Chrome」にしてみましたが、うまくいきませんでした。

if (browser == 'Firefox') {
    document.write('<link rel="stylesheet" href="../component/fireFoxdefault.css" />');
}
if (browser == 'Safari') {
    document.write('<'+'link rel="stylesheet" href="../component/default.css" />');
}
4

4 に答える 4

36

以下を使用してクロムを検出します。

var isChrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;

ソース: http://davidwalsh.name/detecting-google-chrome-javascript

更新 (2015-07-20) :

上記の解決策は常に機能するとは限りません。より信頼性の高い解決策は、この回答で見つけることができます(以下を参照)。そうは言っても、私はブラウザの検出を避け、代わりに機能の検出を行います:

var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor); 

次のように、クロム専用の css ファイルを含めることができます。

if (isChrome) {
    document.write('<'+'link rel="stylesheet" href="../component/chromeDefault.css" />');
}

更新 (2014-07-29):

@gillesc は、Chrome を検出するためのより洗練された提案を下のコメントに投稿しており、この質問でも参照できます。

var isChrome = !!window.chrome
于 2012-04-20T18:00:34.263 に答える
1

iOS 上の Chrome の更新: Chrome 38 (iOS 8.1 でテスト済み) は で false を返します!!window.chrome。これを修正するには、次を使用できます。

function isChrome(){
    var windowChrome = !!window.chrome;
    if(!windowChrome){
        // Chrome iOS specific test
        var pattern = /crios/i;
        return pattern.test(window.navigator.userAgent);
    }else{
        return windowChrome;
    }
}

問題に関するGoogleの参照

于 2014-11-26T16:06:36.087 に答える
1

以下に 2 つの簡単な方法を示します。1 つは indexOf を使用し、もう 1 つは test を使用します。

// first method 
function check_chrome_ua() {
    var ua = navigator.userAgent.toLowerCase();
    var is_chrome = /chrome/.test(ua);

    return is_chrome;
}

// second method */
function check_chrome_ua2() {
    var ua = navigator.userAgent.toLowerCase();
    var is_chrome = ua.indexOf("applewebkit/") != -1 && ua.indexOf("khtml") > - 1;

    return is_chrome;
}

alert(check_chrome_ua()); // false or true 
alert(check_chrome_ua2()); // false or true

これら 2 つのブール関数のいずれかを使用してクロムが使用されているかどうかを確認した後、スタイルシートを変更するメソッドを実装できます。

于 2012-04-20T18:51:59.570 に答える
-1
var userAgent = navigator.userAgent.toLowerCase(); 
$.browser.chrome = /chrome/.test(navigator.userAgent.toLowerCase()); 

// Is this a version of Chrome?
if($.browser.chrome){
  userAgent = userAgent.substring(userAgent.indexOf('chrome/') +7);
  userAgent = userAgent.substring(0,userAgent.indexOf('.'));
  $.browser.version = userAgent;
  // If it is chrome then jQuery thinks it's safari so we have to tell it it isn't
  $.browser.safari = false;
}

// Is this a version of Safari?
if($.browser.safari){
  userAgent = userAgent.substring(userAgent.indexOf('safari/') +7);
  userAgent = userAgent.substring(0,userAgent.indexOf('.'));
  $.browser.version = userAgent;
}
于 2012-04-20T18:11:13.760 に答える