js区分webkit,web和js的区别

发布时间:2023-12-08

js区分webkit,web和js的区别

更新:<time datetime="2022-11-20 22:51">2022-11-20 22:51</time>

本文目录一览:

  1. JS辨别访问浏览器判断是android还是ios系统
  2. [如何用 JavaScript 探测当前浏览器是否为 WebKit 内核?](#如何用 JavaScript 探测当前浏览器是否为 WebKit 内核?)
  3. [如何用 JavaScript 探测当前浏览器是否为 WebKit 内核](#如何用 JavaScript 探测当前浏览器是否为 WebKit 内核)
  4. js怎么判断360浏览器是兼容模式还是极速模式?
  5. 怎么用js区分chrome和safari?
  6. webkit.怎样用js识别出来它是个安卓机

JS辨别访问浏览器判断是android还是ios系统

  1. 通过判断浏览器的userAgent,用正则来判断是否是ios和Android客户端。代码如下:
  2. 检查是否是移动端(Mobile)、ipad、iphone、微信、QQ等: 使用方法:
  • 检测浏览器语言:
  1. 判断iPhone|iPad|iPod|iOS|Android客户端:
  2. 判断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了。所以,老老实实用后台判断吧。