js判斷當(dāng)前頁(yè)面在移動(dòng)設(shè)備還是在PC端中打開
本文實(shí)例講解了js判斷當(dāng)前頁(yè)面在移動(dòng)設(shè)備還是在PC端中打開的詳細(xì)代碼,分享給大家供大家參考,具體內(nèi)容如下
var browser = {
versions: function () {
var u = navigator.userAgent, app = navigator.appVersion;
return { //移動(dòng)終端瀏覽器版本信息
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.*/), //是否為移動(dòng)終端
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) {//判斷是否是移動(dòng)設(shè)備打開。browser代碼在下面
var ua = navigator.userAgent.toLowerCase();//獲取判斷用的對(duì)象
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è)備是移動(dòng)設(shè)備還是PC
最近做的一個(gè)網(wǎng)站頁(yè)面中需要根據(jù)用戶的訪問(wèn)設(shè)備的不同來(lái)顯示不同的頁(yè)面樣式,主要是判斷移動(dòng)設(shè)備還是電腦瀏覽器訪問(wèn)的。
下面給出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均做過(guò)測(cè)試,此代碼可行,各設(shè)備判斷均正確。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。
相關(guān)文章
javascript將json格式數(shù)組下載為excel表格的方法
下面小編就為大家分享一篇javascript將json格式數(shù)組下載為excel表格的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12
JS日期格式化之javascript Date format
這篇文章主要介紹了JS日期格式化之javascript Date format的相關(guān)資料,需要的朋友可以參考下2015-10-10
TypeScript語(yǔ)法詳解之類型操作的補(bǔ)充
TypeScript最大的一個(gè)特點(diǎn)就是變量是強(qiáng)類型的,也就是說(shuō)在聲明變量的時(shí)候我們必須給他一個(gè)類型,下面這篇文章主要給大家介紹了關(guān)于TypeScript語(yǔ)法詳解之類型操作的補(bǔ)充,需要的朋友可以參考下2022-08-08
JavaScript實(shí)現(xiàn)支持過(guò)期時(shí)間的數(shù)據(jù)緩存功能
這篇文章主要為大家詳細(xì)介紹了如何使用JavaScript實(shí)現(xiàn)支持過(guò)期時(shí)間的數(shù)據(jù)緩存功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以參考下2025-01-01
javascript判斷一個(gè)變量是數(shù)組還是對(duì)象
這篇文章主要介紹了javascript判斷一個(gè)變量是數(shù)組還是對(duì)象,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
解決使用layui對(duì)select append元素?zé)o效或者未及時(shí)更新的問(wèn)題
今天小編就為大家分享一篇解決使用layui對(duì)select append元素?zé)o效或者未及時(shí)更新的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09
詳談js中標(biāo)準(zhǔn)for循環(huán)與foreach(for in)的區(qū)別
下面小編就為大家?guī)?lái)一篇詳談js中標(biāo)準(zhǔn)for循環(huán)與foreach(for in)的區(qū)別。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11
利用JS實(shí)現(xiàn)頁(yè)面刪除并重新排序功能
這篇文章主要介紹了利用JS實(shí)現(xiàn)頁(yè)面刪除并重新排序功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-12-12
js實(shí)現(xiàn)Select頭像選擇實(shí)時(shí)預(yù)覽代碼
這篇文章主要介紹了js實(shí)現(xiàn)Select頭像選擇實(shí)時(shí)預(yù)覽代碼,涉及javascript動(dòng)態(tài)遍歷及設(shè)置select選項(xiàng)的技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-08-08

