js區分webkit,web和js的區別

本文目錄一覽:

JS辨別訪問瀏覽器判斷是android還是ios系統

1、通過判斷瀏覽器的userAgent,用正則來判斷是否是ios和Android客戶端。代碼如下:

2、檢查是否是移動端(Mobile)、ipad、iphone、微信、QQ等:

使用方法:

檢測瀏覽器語言:

3、判斷iPhone|iPad|iPod|iOS|Android客戶端:

4、判斷pc還是移動端:

如何用 JavaScript 探測當前瀏覽器是否為 WebKit 內核?

script

window.onload=function(){

    var body=document.getElementsByTagName(“body”)[0];

    if(typeof body.style.WebkitAnimation!=”undefined”)

        alert(“當前瀏覽器是Webkit內核!”);

    else

        alert(“當前瀏覽器不是Webkit內核!”);

}

/script

如何用 JavaScript 探測當前瀏覽器是否為 WebKit 內核

script

    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[‘\x241’];  

    } 

    //檢測當前瀏覽器是否為Safari, 如果是,則返回Safari的大版本號  

    if (/(\d+\.\d)?(?:\.\d)?\s+safari\/?(\d+\.\d+)?/i.test(agent)  !/chrome/i.test(agent)) {  

        browser.safari = +(RegExp[‘\x241’] || RegExp[‘\x242’]);  

    } 

    // 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;  

}();

/script

js怎麼判斷360瀏覽器是兼容模式還是極速模式?

代碼如下:

html

head

titleJS顯示當前瀏覽器詳細信息/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

TABLE BORDER

/head

body bgcolor=”#fef4d9″ onLoad=”whatBrowser()”

FORM NAME=”Browser”

TR TD 名稱: /TD TD

INPUT TYPE=”txt” NAME=”Name” Size=”150″/TD /TR

TR TD 版本: /TD TD INPUT TYPE=”txt” NAME=”Version” Size=”150″/TD /TR TR TD 內核: /TD

TD INPUT TYPE=”txt” NAME=”Code” Size=”150″/TD

/TR TR TD User-Agent: /TD

TD INPUT TYPE=”txt” NAME=”Agent” Size=”150″/TD

/TR

/FORM

/TABLE

/body

/html

360極速模式採用的是Wekbit內核,兼容模式是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之後的數字。

script type=”text/javascript”

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);

/script

已測試,各瀏覽器非常好用

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了。所以,老老實實用後台判斷吧。

原創文章,作者:XOJU,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/140473.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
XOJU的頭像XOJU
上一篇 2024-10-04 00:23
下一篇 2024-10-04 00:23

相關推薦

  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • Python中new和init的區別

    new和init都是Python中常用的魔法方法,它們分別負責對象的創建和初始化,本文將從多個角度詳細闡述它們的區別。 一、創建對象 new方法是用來創建一個對象的,它是一個類級別…

    編程 2025-04-29
  • Sublime Test與Python的區別

    Sublime Text是一款流行的文本編輯器,而Python是一種廣泛使用的編程語言。雖然Sublime Text可以用於編寫Python代碼,但它們之間有很多不同之處。接下來從…

    編程 2025-04-29
  • Python Web開發第三方庫

    本文將介紹Python Web開發中的第三方庫,包括但不限於Flask、Django、Bottle等,並討論它們的優缺點和應用場景。 一、Flask Flask是一款輕量級的Web…

    編程 2025-04-29
  • Shell腳本與Python腳本的區別

    本文將從多個方面對Shell腳本與Python腳本的區別做詳細的闡述。 一、語法差異 Shell腳本和Python腳本的語法存在明顯差異。 Shell腳本是一種基於字元命令行的語言…

    編程 2025-04-29
  • Python中while語句和for語句的區別

    while語句和for語句是Python中兩種常見的循環語句,它們都可以用於重複執行一段代碼。然而,它們的語法和適用場景有所不同。本文將從多個方面詳細闡述Python中while語…

    編程 2025-04-29
  • Web程序和桌面程序的區別

    Web程序和桌面程序都是進行軟體開發的方式,但是它們之間存在很大的區別。本文將從多角度進行闡述。 一、運行方式 Web程序運行於互聯網上,用戶可以通過使用瀏覽器來訪問它。而桌面程序…

    編程 2025-04-29
  • 解析js base64並轉成unit

    本文將從多個方面詳細介紹js中如何解析base64編碼並轉成unit格式。 一、base64編碼解析 在JavaScript中解析base64編碼可以使用atob()函數,它會將b…

    編程 2025-04-29
  • Node.js使用Body-Parser處理HTTP POST請求時,特殊字元無法返回的解決方法

    本文將解決Node.js使用Body-Parser處理HTTP POST請求時,特殊字元無法返回的問題。同時,給出一些相關示例代碼,以幫助讀者更好的理解並處理這個問題。 一、問題解…

    編程 2025-04-29
  • TensorFlow和Python的區別

    TensorFlow和Python是現如今最受歡迎的機器學習平台和編程語言。雖然兩者都處於機器學習領域的主流陣營,但它們有很多區別。本文將從多個方面對TensorFlow和Pyth…

    編程 2025-04-28

發表回復

登錄後才能評論