js区分webkit,web和js的区别
更新:<time datetime="2022-11-20 22:51">2022-11-20 22:51</time>
本文目录一览:
- JS辨别访问浏览器判断是android还是ios系统
- [如何用 JavaScript 探测当前浏览器是否为 WebKit 内核?](#如何用 JavaScript 探测当前浏览器是否为 WebKit 内核?)
- [如何用 JavaScript 探测当前浏览器是否为 WebKit 内核](#如何用 JavaScript 探测当前浏览器是否为 WebKit 内核)
- js怎么判断360浏览器是兼容模式还是极速模式?
- 怎么用js区分chrome和safari?
- webkit.怎样用js识别出来它是个安卓机
JS辨别访问浏览器判断是android还是ios系统
- 通过判断浏览器的userAgent,用正则来判断是否是ios和Android客户端。代码如下:
- 检查是否是移动端(Mobile)、ipad、iphone、微信、QQ等: 使用方法:
- 检测浏览器语言:
- 判断iPhone|iPad|iPod|iOS|Android客户端:
- 判断pc还是移动端:
如何用 JavaScript 探测当前浏览器是否为 WebKit 内核?
window.onload = function() {
var body = document.getElementsByTagName("body")[0];
if (typeof body.style.WebkitAnimation != "undefined")
alert("当前浏览器是Webkit内核!");
else
alert("当前浏览器不是Webkit内核!");
}
如何用 JavaScript 探测当前浏览器是否为 WebKit 内核
var browser = function() {
var agent = navigator.userAgent.toLowerCase(),
opera = window.opera,
browser = {
// 检测当前浏览器是否为IE
ie: /(msie\s|trident.*rv:)([\w.]+)/.test(agent),
// 检测当前浏览器是否为Opera
opera: (!!opera || opera.version),
// 检测当前浏览器是否是webkit内核的浏览器
webkit: (agent.indexOf('applewebkit/') != -1),
// 检测当前浏览器是否是运行在mac平台下
mac: (agent.indexOf('macintosh') != -1),
// 检测当前浏览器是否处于“怪异模式”下
quirks: (document.compatMode == 'BackCompat')
};
// 检测当前浏览器内核是否是gecko内核
browser.gecko = (navigator.product == 'Gecko' && !browser.webkit && !browser.opera && !browser.ie);
var version = 0;
// Internet Explorer 6.0+
if (browser.ie) {
var v1 = agent.match(/(?:msie\s([\w.]+))/);
var v2 = agent.match(/(?:trident.*rv:([\w.]+))/);
if ((v1 || v2) && v1[1] || v2[1]) {
version = Math.max(v1[1] * 1, v2[1] * 1);
} else if (v1 && v1[1]) {
version = v1[1] * 1;
} else if (v2 && v2[1]) {
version = v2[1] * 1;
} else {
version = 0;
}
// 检测浏览器模式是否为 IE11 兼容模式
browser.ie11Compat = document.documentMode == 11;
// 检测浏览器模式是否为 IE9 兼容模式
browser.ie9Compat = document.documentMode == 9;
// 检测浏览器模式是否为 IE10 兼容模式
browser.ie10Compat = document.documentMode == 10;
// 检测浏览器是否是IE8浏览器
browser.ie8 = !!document.documentMode;
// 检测浏览器模式是否为 IE8 兼容模式
browser.ie8Compat = document.documentMode == 8;
// 检测浏览器模式是否为 IE7 兼容模式
browser.ie7Compat = ((version == 7 && !document.documentMode) || document.documentMode == 7);
// 检测浏览器模式是否为 IE6 模式 或者怪异模式
browser.ie6Compat = (version < 7 || browser.quirks);
browser.ie9above = version > 8;
browser.ie9below = version < 9;
}
// Gecko.
if (browser.gecko) {
var geckoRelease = agent.match(/rv:([\d\.]+)/);
if (geckoRelease) {
geckoRelease = geckoRelease[1].split('.');
version = geckoRelease[0] * 10000 + (geckoRelease[1] || 0) * 100 + (geckoRelease[2] || 0) * 1;
}
}
// 检测当前浏览器是否为Chrome, 如果是,则返回Chrome的大版本号
if (/chrome\/(\d+\.\d)/i.test(agent)) {
browser.chrome = +RegExp['$1'];
}
// 检测当前浏览器是否为Safari, 如果是,则返回Safari的大版本号
if (/(\d+\.\d)?(?:\.\d)?\s+safari\/?(\d+\.\d+)?/i.test(agent) && !/chrome/i.test(agent)) {
browser.safari = +(RegExp['$1'] || RegExp['$2']);
}
// Opera 9.50+
if (browser.opera)
version = parseFloat(opera.version());
// WebKit 522+ (Safari 3+)
if (browser.webkit)
version = parseFloat(agent.match(/applewebkit\/(\d+)/)[1]);
// 检测当前浏览器版本号
browser.version = version;
return browser;
}();
js怎么判断360浏览器是兼容模式还是极速模式?
代码如下:
<head>
<title>JS显示当前浏览器详细信息</title>
<script>
function whatBrowser() {
document.Browser.Name.value = navigator.appName;
document.Browser.Version.value = navigator.appVersion;
document.Browser.Code.value = navigator.appCodeName;
document.Browser.Agent.value = navigator.userAgent;
if (window.navigator.userAgent.indexOf('compatible') != -1)
alert('360兼容模式');
}
</script>
</head>
<body bgcolor="#fef4d9" onLoad="whatBrowser()">
<form name="Browser">
<table border>
<tr><td>名称:</td><td><input type="text" name="Name" size="150"/></td></tr>
<tr><td>版本:</td><td><input type="text" name="Version" size="150"/></td></tr>
<tr><td>内核:</td><td><input type="text" name="Code" size="150"/></td></tr>
<tr><td>User-Agent:</td><td><input type="text" name="Agent" size="150"/></td></tr>
</table>
</form>
</body>
360极速模式采用的是Webkit内核,兼容模式是IE内核,也即Trident内核。通常所谓的浏览器内核也就是浏览器所采用的渲染引擎,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。
- Trident:IE浏览器使用的内核,该内核程序在1997年的IE4中首次被采用,是微软在Mosaic代码的基础之上修改而来的,并沿用到目前的IE7。Trident实际上是一款开放的内核,其接口内核设计的相当成熟,因此才有许多采用IE内核而非IE的浏览器涌现。
- Geckos:Netcape6开始采用的内核,后来的Mozilla FireFox也采用了该内核,Geckos的特点是代码完全公开,因此,其可开发程度很高,全世界的程序员都可以为其编写代码,增加功能。
- Presto:目前Opera采用的内核,该内核在2003年的Opera7中首次被使用,该款引擎的特点就是渲染速度的优化达到了极致,也是目前公认网页浏览速度最快的浏览器内核,然而代价是牺牲了网页的兼容性。
- Webkit:Safari浏览器使用的内核。Webkit引擎包含WebCore排版引擎及JavaScriptCore解析引擎,均是从KDE的KHTML及KJS引擎衍生而来,它们都是自由软件,在GPL条约下授权,同时支持BSD系统的开发。
怎么用js区分chrome和safari?
Safari
Safari典型的userAgent如下:
Mozilla/5.0 (Windows; U; Windows NT 5.2) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13
Mozilla/5.0 (iPhone; U; CPU like Mac OS X) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/4A93 Safari/419.3
其版本号是Version之后的数字。
Chrome
目前,Chrome的userAgent是:
Mozilla/5.0 (Windows; U; Windows NT 5.2) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13
其中,版本号在Chrome之后的数字。
var Sys = {};
var ua = navigator.userAgent.toLowerCase();
var s;
(s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
(s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
(s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
(s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
(s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;
// 以下进行测试
if (Sys.ie) document.write('IE: ' + Sys.ie);
if (Sys.firefox) document.write('Firefox: ' + Sys.firefox);
if (Sys.chrome) document.write('Chrome: ' + Sys.chrome);
if (Sys.opera) document.write('Opera: ' + Sys.opera);
if (Sys.safari) document.write('Safari: ' + Sys.safari);
已测试, 各浏览器非常好用。
webkit.怎样用js识别出来它是个安卓机
用js完全不可靠,你就看看微软edge这丧心病狂的UA吧:
Mozilla/5.0 (Windows Phone 10.0; Android 6.0.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Mobile Safari/537.36 Edge/14.14393
判断出移动端还是pc端还行,设备?实在太难为js了。所以,老老实实用后台判断吧。