(function (win, doc, nav)
{
/
@des 浏览器判断脚本,兼容cmd规范
/
var ua = navuserAgenttoLowerCase (), key =
{
ie : "msie",
sf : "safari",
tt : "tencenttraveler"
},
// 正则列表
reg =
{
browser : "(" + keyie + "|" + keysf + "|firefox|chrome|opera)",
shell : "(maxthon|360se|360chrome|theworld|se|theworld|greenbrowser|qqbrowser|lbbrowser|bidubrowser)",
tt : "(tencenttraveler)",
os : "(windows nt|macintosh|solaris|linux)",
kernel : "(webkit|gecko|like gecko)"
}, System =
{
"50" : "Win2000",
"51" : "WinXP",
"52" : "Win2003",
"60" : "WinVista",
"61" : "Win7",
"62" : "Win8",
"63" : "Win81"
}, chrome = null, is360Chrome = null, // 360浏览器
is360se = null, // 360级速浏览器
// 特殊浏览器检测
is360 = (function ()
{
// 高速模式
var result = uaindexOf ("360chrome") > -1 !!1 : !1, s;
// 普通模式
try
{
if (winexternal && winexternaltwGetRunPath)
{
s = winexternaltwGetRunPath;
if (s && sindexOf ("360se") > -1)
{
result = !!1;
}
}
}
catch (e)
{
result = !1;
}
return result;
}) (),
// 判断百度浏览器
isBaidu = (function ()
{
return uaindexOf ('bidubrowser') > -1 !!1 : !1;
}) (),
// 判断百度影音浏览器
isBaiduPlayer = (function ()
{
return uaindexOf ('biduplayer') > -1 !!1 : !1;
}) (),
// 判断爱帆avant浏览器
isAvant = (function ()
{
return uaindexOf ('爱帆') > -1 !!1 : !1;
}) (), isLiebao = (function ()
{
return uaindexOf ('lbbrowser') > -1 !!1 : !1;
}) (),
// 特殊检测maxthon返回版本号
maxthonVer = function ()
{
try
{
if (/(\d+\\d)/test (winexternalmax_version))
{
return parseFloat (RegExp['\x241']);
}
}
catch (e)
{
}
} (), browser = getBrowser (), shell = uaMatch (regshell), os = uaMatch (regos), kernel = uaMatch (regkernel);
// ie11
function getBrowser ()
{
// 检测是否是ie内核 是否是ie10 标识
if ((!!winActiveXObject || "ActiveXObject" in win)
&& (uamatch (/net clr/gi) && uamatch (/rv:(\w+\\w+)/gi)))
{
return [
"msie", uamatch (/rv:(\w+\\w+)/gi)[0]split (":")[1]
];
}
return uaMatch (regbrowser);
}
/
对ua字符串进行匹配处理
@param {string}
str 要处理的字符串
@return {array} 返回处理后的数组
/
function uaMatch (str)
{
var reg = new RegExp (str + "\\b[ \\/]([\\w\\])", "i"), result = uamatch (reg);
return result resultslice (1) : [
"", ""
];
}
function detect360chrome ()
{
return 'track' in documentcreateElement ('track') && 'scoped' in documentcreateElement ('style');
}
function isHao123 ()
{
return !!(windowexternal && windowexternalExtGetAppPath && windowexternalExtGetAppPath ());
}
function isIpad ()
{
return uaindexOf ("ipad") > -1 || uaindexOf ("iphone") > -1;
}
function canvasSupport ()
{
return !!documentcreateElement ('canvas')getContext;
}
// 保存浏览器信息
if (browser[0] === keyie)
{
if (is360)
{
shell = [
"360se", ""
];
}
else if (maxthonVer)
{
shell = [
"maxthon", maxthonVer
];
}
else if (shell == ",")
{
shell = uaMatch (regtt);
}
}
else if (browser[0] === keysf)
{
browser[1] = uaMatch ("version") + "" + browser[1];
}
chrome = (browser[0] == "chrome") && browser[1];
// 如果是chrome浏览器,进一步判断是否是360浏览器
if (chrome)
{
if (detect360chrome ())
{
if ('v8Locale' in window)
{
is360Chrome = true;
}
else
{
is360se = true;
}
}
}
/
获取 *** 作系统
/
function getSystem ()
{
var plat = navigatorplatform, isWin = (plat == "Win32") || (plat == "Windows") || (plat == "Win64"), isMac = (plat == "Mac68K")
|| (plat == "MacPPC") || (plat == "Macintosh") || (plat == "MacIntel");
if (isMac)
{
return "Mac";
}
var isUnix = (plat == "X11") && !isWin && !isMac;
if (isUnix)
{
return "Unix";
}
var isLinux = (String (plat)indexOf ("Linux") > -1);
if (isLinux)
{
return "Linux";
}
if (isWin)
{
return System[os[1]] || "other";
}
return "other";
}
// 遵循cmd规范,输出浏览器、系统等响应参数
windowexports =
{
cookieEnabled : navigatorcookieEnabled,
isStrict : (doccompatMode == "CSS1Compat"),
isShell : !!shell[0],
shell : shell,
kernel : kernel,
platform : os,
types : browser,
chrome : chrome,
system : getSystem (),
firefox : (browser[0] == "firefox") && browser[1],
ie : (browser[0] == "msie") && browser[1],
opera : (browser[0] == "opera") && browser[1],
safari : (browser[0] == "safari") && browser[1],
maxthon : (shell[0] == "maxthon") && shell[1],
isTT : (shell[0] == "tencenttraveler") && shell[1],
is360 : is360,
is360Chrome : is360Chrome, // 是否是chrome内核的360浏览器
is360se : is360se, // 是否是chrome内核的360极速浏览器
isBaidu : isBaidu,
isHao123 : isHao123, // 判断hao123浏览器
isLiebao : isLiebao,
isSougou : (shell[0] == "se"),
isQQ : shell[0] == "qqbrowser",
isIpad : isIpad,
version : '',
noDl : isBaidu || isAvant || isBaiduPlayer, // 浏览器下载入口需排除的浏览器
canvasSupport : canvasSupport () // 是否支持canvas
};
}) (window, document, navigator);
一般的浏览器因为cookie的隐私性,所以限制了普通用户查看cookie的具体内容
ie11查看cookie:点击浏览器上面的工具-internet选项-隐私-高级-“覆盖自动cookies处理”前面勾上。第一方和第三方的cookie都选接受。
火狐查看cookie还是很方便地,可以用火狐查看一下
js设置cookie,可以读取当前用户的在自己网站上的cookie文件,主要用到的是documentcookie方法。
以上就是关于js检测浏览器的基本信息 如:版本 内核 。。。。全部的内容,包括:js检测浏览器的基本信息 如:版本 内核 。。。。、关于js设置cookie问题 ie cookie ie11查看cookie ie的cookie在哪、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)