對網頁來說,這兩個系統有多大區(qū)別么?
創(chuàng)新互聯是一家專注于做網站、成都網站設計與策劃設計,伊川網站建設哪家好?創(chuàng)新互聯做網站,專注于網站建設10多年,網設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:伊川等地區(qū)。伊川做網站價格咨詢:18980820575
下面的自己改改就成:
function goPAGE() {
if ((navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i))) {
window.location.href="你的手機版地址";
}
else {
window.location.href="你的電腦版地址"; }
}
goPAGE();//調用判斷函數
js監(jiān)聽navigator.userAgent,代碼如下:
var?user?=?navigator.userAgent;
if?(user.match(/(iphone?os)/i))?{
console.log("isphone");
}else?if(user.match(/ipad/i)){
console.log("isipad");
}else?if(user.match(/(midp|ucweb|android|windows?ce|windows?mobile)/i){
console.log("android");
};
$(function?()?{
var?u?=?navigator.userAgent,?app?=?navigator.appVersion;
var?isAndroid?=?u.indexOf('Android')??-1?||?u.indexOf('Linux')??-1;?//g
var?isIOS?=?!!u.match(/\(i[^;]+;(?U;)??CPU.+Mac?OS?X/);?//ios終端
if?(isAndroid)?{
//這個是安卓操作系統
}
if?(isIOS)?{
//這個是ios操作系統
}
});
button onclick="callJsLogout()"
? ? ? ? ? ? ? ? 退出登錄
/button
script type="text/javascript"
function callJsLogout()
{
var u = navigator.userAgent;
if (u.indexOf('Android') -1 || u.indexOf('Linux') -1) {
? ? // 安卓手機處理
? ? // window.JsToNative.User.login("js調用了android中的login方法");
? ? callAndroid();
} else if (u.indexOf('iPhone') -1) {
? ? // 蘋果手機處理
? ? callJsIos();
} else {
}
}
function callAndroid(){
Web.logout();//調用安卓端函數
window.location.href="$url";//跳轉地址
}
function? callJsIos() {
window.webkit.messageHandlers.logout.postMessage({body:''});//調用IOS端函數
window.location.href="$url";//跳轉地址
}
/script
判斷原理:
JavaScript是前端開發(fā)的主要語言,我們可以通過編寫JavaScript程序來判斷瀏覽器的類型及版本。JavaScript判斷瀏覽器類型一般有兩種辦法,一種是根據各種瀏覽器獨有的屬性來分辨,另一種是通過分析瀏覽器的userAgent屬性來判斷的。在許多情況下,值判斷出瀏覽器類型之后,還需判斷瀏覽器版本才能處理兼容性問題,而判斷瀏覽器的版本一般只能通過分析瀏覽器的userAgent才能知道。
瀏覽器類型
⑴瀏覽器特有屬性
⑵根據userAgent
瀏覽器版本
⑴根據userAgent
對于手機瀏覽器判斷
1.如何判斷是否為移動終端 利用正則match,
匹配navigator.userAgent是否含有字符串AppleWebKit*****Mobile
安卓qq瀏覽器HD版 只有AppleWebKit
2手機語言版本的判斷
使用navigator.browserLanguage 便可得出windows phone語言版本,
當然可惡的小小手機語言版本也有兼容性的差異,兼容Mozilla,以及AppleWebKit內核的瀏覽器訪問其語言版本,它會列出 navigator.language
CODE:
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.*/), //是否為移動終端
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 , //是否為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
安卓window里面name["js"] 方法名:["intenttoZxing"]
if (window["js"] window["js"]["intenttoZxing"]) {//安卓
window.js.intenttoZxing();
} else {//iOS方法nameScanAction
window.webkit.messageHandlers.ScanAction.postMessage(null);
}