由於沒有上述腳本足夠的情況下工作,包括一些基本的重定向到「火狐37.x」(!!) - 最差的幸福「谷歌瀏覽器」(很固執) - 現在:唯一的 「老派」 *的方式,我發現WORKING:
http://www.javascripter.net/faq/browsern.htm
下圖:我的修改(魁CK /髒/歡迎您清潔)「版本」,因爲我們想在這裏的是一個重定向,而不是顯示的瀏覽器代碼名稱等
- 注:筆者KWOWS,關於整體方法瑕疵 - 並警告。
我認爲任何人誰讀這已經明白,對象檢測/瀏覽器功能檢測是目前(9月2015)晉升爲一個更好的方法 - 除了...這:
所有的第一次,它也不是100%可靠的;最重要的是,人們可能需要一種更簡單的方法,或者更快,尤其是當需要修改現有網站(儘可能少)時,而不必重新編碼幾乎所有東西,切換到CSS等等。年齡!
測試使用:http://www.w3schools.com/html/tryit.asp?filename=tryhtml_default
(http://stackoverflow.com作爲測試重定向URL似乎不工作,即W3Schools的頁面上,無論是谷歌的,而個人網站的URL的工作)
。
<!DOCTYPE html><html><head>
<script language="JavaScript" type="text/JavaScript">
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)
window.location.href = "http://stackoverflow.com"
}
// In Chrome, the true version is after "Chrome"
else if ((verOffset=nAgt.indexOf("Chrome"))!=-1) {
browserName = "Chrome";
fullVersion = nAgt.substring(verOffset+7)
window.location.href = "http://www.w3schools.com"
}
// 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)
window.location.href = "http://stackoverflow.com"
}
// 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);
}
</script></head><body>