2016-07-26 8 views
0

古いバージョンのブラウザを確認して比較する必要があります。ユーザーのブラウザのバージョンが定義済みのバージョン番号(< =)以下の場合は、ブラウザを更新するようメッセージが表示されます。バージョンは私のhtmlの以下の配列で定義されています。Javascriptブラウザのバージョン参照アレイ

<script type="text/javascript" language="javascript"> 

    var browserarr = {Name:"Chrome", ChromeVersion:52, URL:"http://www.google.com", 
       Name:"Firefox", FirefoxVersion:40, URL:"http://www.firefox.com", 
       Name:"Safari", SafariVersion:10, URL:"" 

       }; 

</script> 

私のロジックは、if文を使用して、それをコード化してきましたが、私は、ブラウザの家族(クロム、FirefoxやIE)を取り出すことができるようにそれを行うための別の方法をしたいと、対応する古いバージョンとのURLブラウザを更新してください。動的でなければならないので、新しいブラウザを指定してjavascriptで比較する新しい行を配列に追加するだけです。

チェックブラウザ

detectJS: function() { 
    b = detect.parse(navigator.userAgent); 

    if (b.browser.family === 'Chrome' && b.browser.major <= browserarr["ChromeVersion"]) { 
     document.getElementById('browserNotificationDiv').style.display = "block"; 
     var url = 'google.com'; 
     //document.getElementById("msgURL").innerHTML = browserarr["URL"]; 

    } 

    if (b.browser.family === 'IE' && b.browser.major <= 9) { 
     document.getElementById('browserNotificationDiv').style.display = "block"; 
     var url = 'ie.com'; 
    } 

    if (b.browser.family === 'Safari' && b.browser.major <= browserarr["SafariVersion"]) { 
     document.getElementById('browserNotificationDiv').style.display = "block"; 
     var url = 'safari.com'; 
    } 

    if (b.browser.family === 'Firefox' && b.browser.major <= browserarr["FirefoxVersion"]) { 

     document.getElementById('browserNotificationDiv').style.display = "block"; 
     var url = 'firefox.com'; 
    } 

    browserDetect.displayInfo(
    'Your current browser ' + b.browser.family + ' version ' + b.browser.major +' is outdated. </br>' + 
    'Please download the latest version by going to: ' + url + ' ' + '<a href="'+browserarr["URL"]+'">link</a>' +'</br>' 
    ); 
}, 

はどのように進めるもの?

+2

コード 'browserarr'は配列ではなく、' Name'が上書きされるオブジェクトです。 – Tushar

+0

これを正確に行う既存のライブラリをチェックアウトしましたか? https://github.com/burocratik/outdated-browser – arjabbar

+0

「ありがとうございますが、使用したいブラウザのバージョンを自分で決める」というユーザーのクリックがありますか? – nnnnnn

答えて

0

は、あなたが探しているまさにんウィジェットがあり、そしてあなたはここのように時代遅れのマークにしたいバージョンを設定することができます。

https://updatemybrowser.org/widget.html

しかし、あなたの現在のコードの面で

。その中で、その後、AN場合声明、そして、あなたのコードでは、あなたが(それが簡単にするために小文字に)ブラウザ名を比較するswitch文を持つことができます

var browserList = { 
    "chrome" : { 
     acceptedVersion: 52, 
     downloadUrl: "https://www.google.com" 
    }, 

    "firefox" : { 
     acceptedVersion: 40, 
     downloadUrl: "https://www.firefox.com"   
    }, 

    "safari" : { 
     acceptedVersion: 10, 
     downloadUrl: "https://www.apple.com"   
    } 

} 

:私はより多くのような構造を持っているあなたのブラウザオブジェクトを変更します受け入れられたバージョンをチェックし、適切に動作するswitch節。

var broswerName = b.browser.family.toLowerCase(); 

switch(broswerName) { 
    case 'chrome': 

     if(broswerList[broswerName].acceptedVersion > b.browser.major) { 
      //browser is outdated    
     } 

     break; 
    case 'firefox': 

     if(broswerList[broswerName].acceptedVersion > b.browser.major) { 
      //browser is outdated    
     } 

     break; 
} 
関連する問題