簡體   English   中英

如何檢測舊版瀏覽器並重定向到瀏覽器支持頁面

[英]How to detect older version of browser and redirect to browser support page

如果IE <9然后或mozilla <35或Chrome <39或safari <s7那么,它應該重定向到瀏覽器支持頁面。

嘗試使用下面的代碼,但它沒有工作..它只有工作時,我已在IE中打開對象檢查器窗口。

 <!--[if lt IE 9 ]>
<script type='text/javascript'>
    console.log("its less than IE 9");        
window.location.href="BrowserSupport.html";
</script>

請指導我如何檢測這些瀏覽器版本並重定向到瀏覽器支持頁面?

看看這些鏈接。 他們提供的代碼完全相同。

https://browser-update.org/

 var nVer = navigator.appVersion; var nAgt = navigator.userAgent; var browserName = navigator.appName; var fullVersion = ''+parseFloat(navigator.appVersion); var majorVersion = parseInt(navigator.appVersion,10); var nameOffset,verOffset,ix; // In Opera 15+, the true version is after "OPR/" if ((verOffset=nAgt.indexOf("OPR/"))!=-1) { browserName = "Opera"; fullVersion = nAgt.substring(verOffset+4); } // In older Opera, the true version is after "Opera" or after "Version" else if ((verOffset=nAgt.indexOf("Opera"))!=-1) { browserName = "Opera"; fullVersion = nAgt.substring(verOffset+6); if ((verOffset=nAgt.indexOf("Version"))!=-1) fullVersion = nAgt.substring(verOffset+8); } // In MSIE, the true version is after "MSIE" in userAgent else if ((verOffset=nAgt.indexOf("MSIE"))!=-1) { browserName = "Microsoft Internet Explorer"; fullVersion = nAgt.substring(verOffset+5); } // In Chrome, the true version is after "Chrome" else if ((verOffset=nAgt.indexOf("Chrome"))!=-1) { browserName = "Chrome"; fullVersion = nAgt.substring(verOffset+7); } // In Safari, the true version is after "Safari" or after "Version" else if ((verOffset=nAgt.indexOf("Safari"))!=-1) { browserName = "Safari"; fullVersion = nAgt.substring(verOffset+7); if ((verOffset=nAgt.indexOf("Version"))!=-1) fullVersion = nAgt.substring(verOffset+8); } // In Firefox, the true version is after "Firefox" else if ((verOffset=nAgt.indexOf("Firefox"))!=-1) { browserName = "Firefox"; fullVersion = nAgt.substring(verOffset+8); } // In most other browsers, "name/version" is at the end of userAgent else if ( (nameOffset=nAgt.lastIndexOf(' ')+1) < (verOffset=nAgt.lastIndexOf('/')) ) { browserName = nAgt.substring(nameOffset,verOffset); fullVersion = nAgt.substring(verOffset+1); if (browserName.toLowerCase()==browserName.toUpperCase()) { browserName = navigator.appName; } } // trim the fullVersion string at semicolon/space if present if ((ix=fullVersion.indexOf(";"))!=-1) fullVersion=fullVersion.substring(0,ix); if ((ix=fullVersion.indexOf(" "))!=-1) fullVersion=fullVersion.substring(0,ix); majorVersion = parseInt(''+fullVersion,10); if (isNaN(majorVersion)) { fullVersion = ''+parseFloat(navigator.appVersion); majorVersion = parseInt(navigator.appVersion,10); } alert("Name:"+browserName+" Version "+majorVersion) 

更新代碼。 現在它會正常工作

 /* * Browser Detect script */ BrowserDetect = (function() { // script settings var options = { osVersion: true, minorBrowserVersion: true }; // browser data var browserData = { browsers: { chrome: uaMatch(/Chrome\\/([0-9\\.]*)/), firefox: uaMatch(/Firefox\\/([0-9\\.]*)/), safari: uaMatch(/Version\\/([0-9\\.]*).*Safari/), opera: uaMatch(/Opera\\/.*Version\\/([0-9\\.]*)/, /Opera\\/([0-9\\.]*)/), msie: uaMatch(/MSIE ([0-9\\.]*)/, /Trident.*rv:([0-9\\.]*)/) }, engines: { webkit: uaContains('AppleWebKit'), trident: uaMatch(/(MSIE|Trident)/), gecko: uaContains('Gecko'), presto: uaContains('Presto') }, platforms: { win: uaMatch(/Windows NT ([0-9\\.]*)/), mac: uaMatch(/Mac OS X ([0-9_\\.]*)/), linux: uaContains('X11', 'Linux') } }; // perform detection var ua = navigator.userAgent; var detectData = { platform: detectItem(browserData.platforms), browser: detectItem(browserData.browsers), engine: detectItem(browserData.engines) }; // private functions function uaMatch(regExp, altReg) { return function() { var result = regExp.exec(ua) || altReg && altReg.exec(ua); return result && result[1]; }; } function uaContains(word) { var args = Array.prototype.slice.apply(arguments); return function() { for(var i = 0; i < args.length; i++) { if(ua.indexOf(args[i]) < 0) { return; } } return true; }; } function detectItem(items) { var detectedItem = null, itemName, detectValue; for(itemName in items) { if(items.hasOwnProperty(itemName)) { detectValue = items[itemName](); if(detectValue) { return { name: itemName, value: detectValue }; } } } } // add classes to root element (function() { // helper functions var addClass = function(cls) { var html = document.documentElement; html.className += (html.className ? ' ' : '') + cls; }; var getVersion = function(ver) { return typeof ver === 'string' ? ver.replace(/\\./g, '_') : 'unknown'; }; // add classes if(detectData.platform) { addClass(detectData.platform.name); if(options.osVersion) { addClass(detectData.platform.name + '-' + getVersion(detectData.platform.value)); } } if(detectData.engine) { addClass(detectData.engine.name); } if(detectData.browser) { addClass(detectData.browser.name); addClass(detectData.browser.name + '-' + parseInt(detectData.browser.value, 10)); if(options.minorBrowserVersion) { addClass(detectData.browser.name + '-' + getVersion(detectData.browser.value)); } } }()); // export detection information return detectData; }()); 

您可以簡單地使用已經制作的東西,如哪個瀏覽器 只需從github下載它。 編寫自己的車輪版本通常更容易,更好。

編輯:因為你在評論中提供了更多的信息,而“哪個broser”使用了一些php,你使用asp,這里是一個使用jquery的純javascript解決方案: Jquery瀏覽器

if ( $.browser.msie ) {
    alert( $.browser.version );
}

你也可以用jquery重定向:

$(location).attr('href','http://examplesite.com/whatever.html');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM