js判斷當(dāng)前頁面在移動設(shè)備還是在PC端中打開
本文實例講解了js判斷當(dāng)前頁面在移動設(shè)備還是在PC端中打開的詳細(xì)代碼,分享給大家供大家參考,具體內(nèi)容如下
var browser = {
versions: function () {
var u = navigator.userAgent, app = navigator.appVersion;
return { //移動終端瀏覽器版本信息
trident: u.indexOf('Trident') > -1, //IE內(nèi)核
presto: u.indexOf('Presto') > -1, //opera內(nèi)核
webKit: u.indexOf('AppleWebKit') > -1, //蘋果、谷歌內(nèi)核
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐內(nèi)核
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應(yīng)該程序,沒有頭部與底部
};
}(),
language: (navigator.browserLanguage || navigator.language).toLowerCase()
}
if (browser.versions.mobile) {//判斷是否是移動設(shè)備打開。browser代碼在下面
var ua = navigator.userAgent.toLowerCase();//獲取判斷用的對象
if (ua.match(/MicroMessenger/i) == "micromessenger") {
//在微信中打開
setInterval(WeixinJSBridge.call('closeWindow'),2000);
}
if (ua.match(/WeiBo/i) == "weibo") {
//在新浪微博客戶端打開
}
if (ua.match(/QQ/i) == "qq") {
//在QQ空間打開
}
if (browser.versions.ios) {
//是否在IOS瀏覽器打開
}
if(browser.versions.android){
//是否在安卓瀏覽器打開
}
} else {
//否則就是PC瀏覽器打開
window.close();
}
代碼二:js判斷用戶的瀏覽設(shè)備是移動設(shè)備還是PC
最近做的一個網(wǎng)站頁面中需要根據(jù)用戶的訪問設(shè)備的不同來顯示不同的頁面樣式,主要是判斷移動設(shè)備還是電腦瀏覽器訪問的。
下面給出js判斷處理代碼,以作參考。
<script type="text/javascript">
function browserRedirect() {
var sUserAgent = navigator.userAgent.toLowerCase();
var bIsIpad = sUserAgent.match(/ipad/i) == "ipad";
var bIsIphoneOs = sUserAgent.match(/iphone os/i) == "iphone os";
var bIsMidp = sUserAgent.match(/midp/i) == "midp";
var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4";
var bIsUc = sUserAgent.match(/ucweb/i) == "ucweb";
var bIsAndroid = sUserAgent.match(/android/i) == "android";
var bIsCE = sUserAgent.match(/windows ce/i) == "windows ce";
var bIsWM = sUserAgent.match(/windows mobile/i) == "windows mobile";
document.writeln("您的瀏覽設(shè)備為:");
if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {
document.writeln("phone");
} else {
document.writeln("pc");
}
}
browserRedirect();
</script>
我用電腦上的瀏覽器,android設(shè)備,iphone,ipad均做過測試,此代碼可行,各設(shè)備判斷均正確。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。
相關(guān)文章
JavaScript直接調(diào)用函數(shù)與call調(diào)用的區(qū)別實例分析
這篇文章主要介紹了JavaScript直接調(diào)用函數(shù)與call調(diào)用的區(qū)別,結(jié)合額實例形式分析了JavaScript直接調(diào)用函數(shù)與call調(diào)用的基本用法、區(qū)別及相關(guān)注意事項,需要的朋友可以參考下2020-05-05
javascript firefox 自動加載iframe 自動調(diào)整高寬示例
iframe 自動獲取onload高寬以及iframe 自動加載,具體實現(xiàn)如下,感興趣的朋友可以參考下2013-08-08
鼠標(biāo)懸浮在樹組件節(jié)點上展示當(dāng)前節(jié)點名稱的三種實現(xiàn)方式
這篇文章主要介紹了鼠標(biāo)懸浮在樹組件節(jié)點上展示當(dāng)前節(jié)點名稱的三種實現(xiàn)方式,第一種是使用css樣式設(shè)置,第二種在checkBox綁定,第三種使用tooltip,本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2023-12-12
Uncaught?SyntaxError:Unexpected?token?'<'?(
這篇文章主要為大家介紹了JS判斷趨近于直線的多邊形(退化多邊形)實例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
javascript跨域方法、原理以及出現(xiàn)問題解決方法(詳解)
javascript出于安全方面的考慮,不允許跨域調(diào)用其他頁面的對象。但是在安全限制的同時也給注入iframe或是ajax應(yīng)用上帶來了不少麻煩??缬蚝唵蔚睦斫饩褪且驗閖avascript同源策略的限制,a.com域名下的js無法操作b.com 或者是c.a.com域名下的對象2015-08-08
JavaScript實現(xiàn)像素鳥小游戲的詳細(xì)流程
最近通過javascript這門語言,然后結(jié)合html的來寫一個簡單的小游戲 ,這篇文章主要給大家介紹了關(guān)于JavaScript實現(xiàn)像素鳥小游戲的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07

