function getMSIEversion(FLAG) {
var strMSIEversion;
if (FLAG == 0)
strMSIEversion = "Microsoft Internet Explorer ";
else
strMSIEversion = "MSIE ";
with(navigator) {
if (appVersion.charAt(0) == 2)
strMSIEversion += "2.0";
else if (appVersion.charAt(0) == 3)
strMSIEversion += "3.0";
else { // if(appVersion.charAt(0) == 4)
if (appVersion.indexOf("MSIE 8") != -1)
strMSIEversion += "8.0";
else if (appVersion.indexOf("MSIE 7") != -1)
strMSIEversion += "7.0";
else if (appVersion.indexOf("MSIE 6") != -1)
strMSIEversion += "6.0";
else if (appVersion.indexOf("MSIE 5") != -1)
strMSIEversion += "5.0";
else // if(appVersion.indexOf("MSIE 4") != -1)
strMSIEversion += "4.0";
}
} // with() end!!
return strMSIEversion;
}
function Init() {
var strLanguage = navigator.userLanguage;
var strPlatForm = navigator.platform;
var strUserAgent = navigator.userAgent;
var strAppName = navigator.appName;
var strAppVersion = navigator.appVersion;
var strBrowserType, strBrowserVersion, strBrowserKernelVersion;
var nRet = 0;
with(navigator) {
if (appName == "Microsoft Internet Explorer") { // Avant Browser, GOSURF, GreenBrowser, KKMan, Maxthon, PCMan, Sleipnir, The World Browser and MSIE.
if ((userAgent.indexOf("Avant Browser") != -1) && (appVersion.indexOf("Avant Browser") != -1)) {
strBrowserType = "Avant Browser";
strBrowserVersion = getMSIEversion(1);
}
else if ((userAgent.indexOf("GreenBrowser") != -1) && (appVersion.indexOf("GreenBrowser") != -1)) {
strBrowserType = "GreenBrowser";
strBrowserVersion = getMSIEversion(1);
}
else if ((userAgent.indexOf("KKMAN") != -1) && (appVersion.indexOf("KKMAN") != -1)) {
strBrowserType = "KKMAN";
nRet = appVersion.indexOf("KKMAN") + "KKMAN".length;
strBrowserVersion = appVersion.slice(nRet, nRet + 3);
}
else if ((userAgent.indexOf("Maxthon") != -1) && (appVersion.indexOf("Maxthon") != -1)) {
strBrowserType = "Maxthon";
nRet = appVersion.indexOf("Maxthon") + "Maxthon".length + 1;
strBrowserVersion = appVersion.slice(nRet, nRet + 3);
}
else if ((userAgent.indexOf("Sleipnir") != -1) && (appVersion.indexOf("Sleipnir") != -1)) {
strBrowserType = "Sleipnir";
nRet = appVersion.indexOf("Sleipnir") + "Sleipnir".length + 1;
strBrowserVersion = appVersion.slice(nRet, nRet + 5);
}
else if ((userAgent.indexOf("TheWorld") != -1) && (appVersion.indexOf("TheWorld") != -1)) {
strBrowserType = "The World Browser";
strBrowserVersion = getMSIEversion(1);
}
else {// GOSURF, PCMan and Microsoft Internet Explorer
strBrowserType = "Microsoft Internet Explorer / PCMan / GOSURF";
strBrowserVersion = getMSIEversion(0);
}
}
else if (appName == "Netscape") { // Mozilla Firefox, Netscape Navigator, Safari, Google Chrome.
if (userAgent.indexOf("Firefox") != -1) {
if (userAgent.indexOf("Navigator") != -1) {
strBrowserType = "Netscape Navigator";
nRet = userAgent.indexOf("Navigator") + "Navigator".length + 1;
strBrowserVersion = userAgent.slice(nRet, nRet + 7);
}
else {
strBrowserType = "Mozilla Firefox";
nRet = userAgent.indexOf("Firefox") + "Firefox".length + 1;
strBrowserVersion = userAgent.slice(nRet, nRet + 3);
}
}
else if (userAgent.indexOf("Safari") != -1) {
if (userAgent.indexOf("Chrome") != -1) {
strBrowserType = "Google Chrome";
nRet = appVersion.indexOf("Chrome") + "Chrome".length + 1;
strBrowserVersion = appVersion.slice(nRet, nRet + 10);
}
else {
strBrowserType = "Safari";
nRet = appVersion.indexOf("Safari") + "Safari".length + 1;
strBrowserVersion = appVersion.slice(nRet, nRet + 9);
}
}
else {// Other Netscape browser
}
strBrowserKernelVersion = appName + " " + appVersion.slice(0, 3);
}
else {//if(appName == "Opera")
if (userAgent.indexOf("Opera") != -1) {
strBrowserType = "Opera";
strBrowserVersion = appVersion.slice(nRet, nRet + 4);
}
}
strBrowserKernelVersion = appName + " " + appVersion.slice(0, 4);
} // with() end!!
alert("Your Browser Languagr: " + strLanguage + "\n\n" +
"Your Platform: " + strPlatForm + "\n\n" +
"Your User Agent:\n" + strUserAgent + "\n\n" +
"Your Application Name: " + strAppName + "\n\n" +
"Your Application Version:\n" + strAppVersion + "\n\n" +
"Your Browser Version: " + strBrowserType + " " + strBrowserVersion + "\n\n" +
"Your Browser Kernel Version: " + strBrowserKernelVersion + "\n");
return;
}
補充一下,關於抓取瀏灠器的語系方面,自己原本是使用.language,不過這個物件,在以MSIE為核心的一系列瀏灠器會有問題,會抓不到語系,反而會告訴你"undefined"。所以,比較佳的解決方法是改用.userLanguage,如此不論是MSIE、Netscape或Opera都能夠正確地抓到語系了。
那麼,所得到的語系,例如:zh-TW,TW是指Taiwan,這大家應該都很好理解;那zh呢??它是指"Zhong Hua (中華)"的音譯。
參考網址:
http://blog.xuite.net/emisjerry/tech/337730
沒有留言:
張貼留言