導航:首頁 > 編程語言 > js判斷webkit內核

js判斷webkit內核

發布時間:2025-06-13 22:10:31

『壹』 js辨別訪問瀏覽器判斷是android還是ios系統

<script type="text/javascript">
/*
* 智能機瀏覽器版本信息:
*
*/
var browser = {
versions: function() {
var u = navigator.userAgent, app = navigator.appVersion;
return {//移動終端瀏覽器版本信息
trident: u.indexOf('Trident') > -1, //IE內核
presto: u.indexOf('Presto') > -1, //opera內核
webKit: u.indexOf('AppleWebKit') > -1, //蘋果、谷歌內核
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐內核
mobile: !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/), //是否為移動終端
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios終端
android: u.indexOf('Android') > -1 || u.indexOf('linux') > -1, //android終端或者uc瀏覽器
iphone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否為iPhone或者qqHD瀏覽器
iPad: u.indexOf('iPad') > -1, //是否iPad
webApp: u.indexOf('Safari') == -1 //是否web應該程序,沒有頭部與底部
};
}(),
language: (navigator.browserLanguage || navigator.language).toLowerCase()
}

if (browser.versions.ios || browser.versions.iPhone || browser.versions.iPad) {
window.location="https://itunes.apple.com/xxx";
}
else if (browser.versions.android) {
window.location="http://xxx/xxx.apk";
}

// document.writeln("語言版本: " + browser.language);
// document.writeln(" 是否為移動終端: " + browser.versions.mobile);
// document.writeln(" ios終端: " + browser.versions.ios);
// document.writeln(" android終端: " + browser.versions.android);
// document.writeln(" 是否為iPhone: " + browser.versions.iPhone);
// document.writeln(" 是否iPad: " + browser.versions.iPad);
// document.writeln(navigator.userAgent);

</script>

『貳』 js判斷瀏覽器是否是極速模式或者Chrome內核

主要用到navigator.userAgent
代碼如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
function myBrowser(){
var userAgent = navigator.userAgent; //取得瀏覽器的userAgent字元串
console.log(userAgent);
var isOpera = userAgent.indexOf("Opera") > -1;
if (isOpera) {
return "Opera"
}; //判斷是否Opera瀏覽器
if (userAgent.indexOf("Firefox") > -1) {
return "FF";
} //判斷是否Firefox瀏覽器
if (userAgent.indexOf("Chrome") > -1){
return "Chrome";
}

if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
return "IE";
}; //判斷是否IE瀏覽器

}
var cc = myBrowser();
if(cc == "Chrome"){
alert("當前是Chrome瀏覽器")
}
if(cc == "IE"){
alert("當前是IE瀏覽器")
}
</script>
</body>
</html>

『叄』 js檢測瀏覽器的基本信息 如:版本 內核 。。。。

(function(win,doc,nav)
{
/**
*@des瀏覽器判斷腳本,兼容cmd規范
*/
varua=nav.userAgent.toLowerCase(),key=
{
ie:"msie",
sf:"safari",
tt:"tencenttraveler"
},
//正則列表
reg=
{
browser:"("+key.ie+"|"+key.sf+"|firefox|chrome|opera)",
shell:"(maxthon|360se|360chrome|theworld|se|theworld|greenbrowser|qqbrowser|lbbrowser|bibrowser)",
tt:"(tencenttraveler)",
os:"(windowsnt|macintosh|solaris|linux)",
kernel:"(webkit|gecko|likegecko)"
},System=
{
"5.0":"Win2000",
"5.1":"WinXP",
"5.2":"Win2003",
"6.0":"WinVista",
"6.1":"Win7",
"6.2":"Win8",
"6.3":"Win8.1"
},chrome=null,is360Chrome=null,//360瀏覽器
is360se=null,//360級速瀏覽器
//特殊瀏覽器檢測
is360=(function()
{
//高速模式
varresult=ua.indexOf("360chrome")>-1?!!1:!1,s;
//普通模式
try
{
if(win.external&&win.external.twGetRunPath)
{
s=win.external.twGetRunPath;
if(s&&s.indexOf("360se")>-1)
{
result=!!1;
}
}
}
catch(e)
{
result=!1;
}
returnresult;
})(),
//判斷網路瀏覽器
isBai=(function()
{
returnua.indexOf('bibrowser')>-1?!!1:!1;
})(),
//判斷網路影音瀏覽器
isBaiPlayer=(function()
{
returnua.indexOf('biplayer')>-1?!!1:!1;
})(),
//判斷愛帆avant瀏覽器
isAvant=(function()
{
returnua.indexOf('愛帆')>-1?!!1:!1;
})(),isLiebao=(function()
{
returnua.indexOf('lbbrowser')>-1?!!1:!1;
})(),
//特殊檢測maxthon返回版本號
maxthonVer=function()
{
try
{
if(/(d+.d)/.test(win.external.max_version))
{
returnparseFloat(RegExp['x241']);
}
}
catch(e)
{
}
}(),browser=getBrowser(),shell=uaMatch(reg.shell),os=uaMatch(reg.os),kernel=uaMatch(reg.kernel);

//ie11
functiongetBrowser()
{
//檢測是否是ie內核是否是ie10標識
if((!!win.ActiveXObject||"ActiveXObject"inwin)
&&(ua.match(/.netclr/gi)&&ua.match(/rv:(w+.w+)/gi)))
{
return[
"msie",ua.match(/rv:(w+.w+)/gi)[0].split(":")[1]
];
}
returnuaMatch(reg.browser);
}

/**
*對ua字元串進行匹配處理
*
*@param{string}
*str要處理的字元串
*@return{array}返回處理後的數組
*/
functionuaMatch(str)
{

varreg=newRegExp(str+"\b[\/]?([\w\.]*)","i"),result=ua.match(reg);

returnresult?result.slice(1):[
"",""
];
}

functiondetect360chrome()
{
return'track'indocument.createElement('track')&&'scoped'indocument.createElement('style');
}

functionisHao123()
{
return!!(window.external&&window.external.ExtGetAppPath&&window.external.ExtGetAppPath());
}

functionisIpad()
{
returnua.indexOf("ipad")>-1||ua.indexOf("iphone")>-1;
}

functioncanvasSupport()
{
return!!document.createElement('canvas').getContext;
}
//保存瀏覽器信息
if(browser[0]===key.ie)
{
if(is360)
{
shell=[
"360se",""
];
}
elseif(maxthonVer)
{
shell=[
"maxthon",maxthonVer
];
}
elseif(shell==",")
{
shell=uaMatch(reg.tt);
}
}
elseif(browser[0]===key.sf)
{
browser[1]=uaMatch("version")+"."+browser[1];
}

chrome=(browser[0]=="chrome")&&browser[1];

//如果是chrome瀏覽器,進一步判斷是否是360瀏覽器
if(chrome)
{
if(detect360chrome())
{
if('v8Locale'inwindow)
{
is360Chrome=true;
}
else
{
is360se=true;
}
}
}

/*
*獲取操作系統
*/
functiongetSystem()
{
varplat=navigator.platform,isWin=(plat=="Win32")||(plat=="Windows")||(plat=="Win64"),isMac=(plat=="Mac68K")
||(plat=="MacPPC")||(plat=="Macintosh")||(plat=="MacIntel");
if(isMac)
{
return"Mac";
}
varisUnix=(plat=="X11")&&!isWin&&!isMac;
if(isUnix)
{
return"Unix";
}
varisLinux=(String(plat).indexOf("Linux")>-1);
if(isLinux)
{
return"Linux";
}
if(isWin)
{
returnSystem[os[1]]||"other";
}
return"other";
}

//遵循cmd規范,輸出瀏覽器、系統等響應參數
window.exports=
{
cookieEnabled:navigator.cookieEnabled,
isStrict:(doc.compatMode=="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極速瀏覽器
isBai:isBai,
isHao123:isHao123,//判斷hao123瀏覽器
isLiebao:isLiebao,
isSougou:(shell[0]=="se"),
isQQ:shell[0]=="qqbrowser",
isIpad:isIpad,
version:'',
noDl:isBai||isAvant||isBaiPlayer,//瀏覽器下載入口需排除的瀏覽器
canvasSupport:canvasSupport()//是否支持canvas
};
})(window,document,navigator);

『肆』 js判斷是安卓還是ios 微信

判斷原理:
JavaScript是前端開發的主要語言,我們可以通過編寫JavaScript程序來判斷瀏覽器的類型及版本。JavaScript判斷瀏覽器類型一般有兩種辦法,一種是根據各種瀏覽器獨有的屬性來分辨,另一種是通過分析瀏覽器的userAgent屬性來判斷的。在許多情況下,值判斷出瀏覽器類型之後,還需判斷瀏覽器版本才能處理兼容性問題,而判斷瀏覽器的版本一般只能通過分析瀏覽器的userAgent才能知道。

瀏覽器類型
⑴瀏覽器特有屬性
⑵根據userAgent
瀏覽器版本
⑴根據userAgent

對於手機瀏覽器判斷
1.如何判斷是否為移動終端利用正則match,
匹配navigator.userAgent是否含有字元串AppleWebKit*****Mobile
安卓qq瀏覽器HD版只有AppleWebKit
2手機語言版本的判斷
使用navigator.browserLanguage便可得出windowsphone語言版本,
當然可惡的小小手機語言版本也有兼容性的差異,兼容Mozilla,以及AppleWebKit內核的瀏覽器訪問其語言版本,它會列出navigator.language

<scripttype="text/javascript">
varbrowser={
versions:function(){
varu=navigator.userAgent,app=navigator.appVersion;
return{//移動終端瀏覽器版本信息
trident:u.indexOf('Trident')>-1,//IE內核
presto:u.indexOf('Presto')>-1,//opera內核
webKit:u.indexOf('AppleWebKit')>-1,//蘋果、谷歌內核
gecko:u.indexOf('Gecko')>-1&&u.indexOf('KHTML')==-1,//火狐內核
mobile:!!u.match(/AppleWebKit.*Mobile.*/),//是否為移動終端
ios:!!u.match(/(i[^;]+;(U;)?CPU.+MacOSX/),//ios終端
android:u.indexOf('Android')>-1||u.indexOf('Linux')>-1,//android終端或uc瀏覽器
iPhone:u.indexOf('iPhone')>-1,//是否為iPhone或者QQHD瀏覽器
iPad:u.indexOf('iPad')>-1,//是否iPad
webApp:u.indexOf('Safari')==-1//是否web應該程序,沒有頭部與底部
};
}(),
language:(navigator.browserLanguage||navigator.language).toLowerCase()
}
document.writeln("語言版本:"+browser.language);
document.writeln("是否為移動終端:"+browser.versions.mobile);
document.writeln("ios終端:"+browser.versions.ios);
document.writeln("android終端:"+browser.versions.android);
document.writeln("是否為iPhone:"+browser.versions.iPhone);
document.writeln("是否iPad:"+browser.versions.iPad);
document.writeln(navigator.userAgent);
</script>

比較特別的地方
UC瀏覽器沒有安卓報頭,只返回:linux,這里粗略的根據linux來判斷是安卓(前提必須滿足是移動終端,UC這點是滿足的)
安卓QQ瀏覽器HD版檢測的結果是:mac,Safari

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

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

『陸』 【玩轉移動端系列】瀏覽器內核WebKit長啥樣

Webkit是眾多主流瀏覽器的核心組件,其架構主要包括嵌入式介面、WebCore渲染引擎、JavaScriptCore引擎,以及適應不同平台的WebKit Ports部分。以下是關於Webkit內核的詳細解析:

1. WebCore渲染引擎 功能:負責解析HTML和CSS,是瀏覽器一致性的重要部分。 組件:包含HTML/CSS解釋器、DOM管理和渲染樹等功能,確保網頁內容能夠正確、高效地展示。

2. JavaScriptCore引擎 地位:是WebKit默認的JS引擎。 性能:起初性能不佳,但隨著技術發展,通過優化DOM操作等方式,減少了性能損失。Chrome等瀏覽器則選擇了性能更強的V8引擎作為替代。 組件JSVM:負責提供JS運行環境,與ObjectiveC通信,每個JSVM獨立運行,不支持跨JSVM對象傳遞。 JSContext:運行JavaScript代碼的上下文環境。 JSValue:用於數據交換的組件。 JSExport:允許Native對象與JS環境進行交互。

3. JIT技術 作用:通過編譯熱點代碼並緩存,提高代碼執行效率,進一步優化瀏覽器性能。

4. WebKit Ports 功能:適應不同平台的WebKit部分,確保Webkit內核能夠在多種操作系統和設備上穩定運行。

總的來說,Webkit內核的復雜結構和優化策略確保了瀏覽器的高效渲染和JavaScript執行,為現代Web應用提供了強大支持。

『柒』 js判斷360瀏覽器是兼容模式還是極速模式

代碼如下:

<html>
<head>
<title>JS顯示當前瀏覽器詳細信息</title>
<SCRIPT>
functionwhatBrowser()
{
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兼容模式');
}
if(window.navigator.userAgent.indexOf('AppleWebKit')!=-1){
alert('360極速模式');
}
}
</SCRIPT>
<TABLEBORDER>
</head>
<bodybgcolor="#fef4d9"onLoad="whatBrowser()">
<FORMNAME="Browser">
<TR><TD>名稱:</TD><TD>
<INPUTTYPE="txt"NAME="Name"Size="150"></TD></TR>
<TR><TD>版本:</TD><TD><INPUTTYPE="txt"NAME="Version"Size="150"></TD></TR><TR><TD>內核:</TD>
<TD><INPUTTYPE="txt"NAME="Code"Size="150"></TD>
</TR><TR><TD>User-Agent:</TD>
<TD><INPUTTYPE="txt"NAME="Agent"Size="150"></TD>
</TR>
</FORM>
</TABLE>
</body>
</html>

閱讀全文

與js判斷webkit內核相關的資料

熱點內容
編程的變數分數怎麼十分十分地變 瀏覽:63
電力sdh傳輸網網路優化專題研究 瀏覽:841
qq登錄頁面圖片不顯示 瀏覽:515
360系統盤瘦身文件搬運到哪裡去了 瀏覽:597
java工作兩年面試題 瀏覽:520
plc編程w是什麼意思 瀏覽:64
蘋果移動圖標修改工具 瀏覽:423
保密櫃和文件櫃有什麼區別 瀏覽:152
泰語單詞app哪裡下載 瀏覽:301
計算機網路多項式是什麼 瀏覽:714
蘋果6手機啟動不了4g 瀏覽:952
如何算每個柵格像元的統計數據 瀏覽:209
有歌譜網app嗎 瀏覽:884
bat重啟程序 瀏覽:381
硬碟裝系統後文件如何恢復 瀏覽:636
pd安裝win10教程 瀏覽:656
sol文件是什麼 瀏覽:819
jqueryjson分組 瀏覽:259
微耕門禁怎麼用戶數據導出 瀏覽:183
iphone更改代碼 瀏覽:625

友情鏈接