JS判斷當(dāng)前頁(yè)面是否在微信瀏覽器打開的方法
本文實(shí)例講述了JS判斷當(dāng)前頁(yè)面是否在微信瀏覽器打開的方法。分享給大家供大家參考,具體如下:
最近做很多HTML5的項(xiàng)目,很多頁(yè)面會(huì)通過(guò)微信微博等SNS分享出去。在分享頁(yè)面上提供公司APP的下載。但是在很多應(yīng)用的瀏覽器中,點(diǎn)擊下載鏈接無(wú)法下載應(yīng)用。那么針對(duì)這些瀏覽器我們需要給用戶提示從safari或者系統(tǒng)自帶的瀏覽器打開分享頁(yè)面。通過(guò)js就可以判斷當(dāng)前頁(yè)面是在什么瀏覽器打開的。
以下是一段示例代碼,注釋中表明了通過(guò)JS如何判斷是否在微信瀏覽器打開,是否在QQ空間瀏覽器,是否在新浪微博打開。當(dāng)然可以做得更完善一點(diǎn),再加上判斷是在移動(dòng)設(shè)備打開還是在PC端瀏覽器打開的,更加細(xì)分一點(diǎn),可以判斷是在安卓系統(tǒng)的瀏覽器打開的還是IOS系統(tǒng)瀏覽器打開的。
if (browser.versions.mobile) {//判斷是否是移動(dòng)設(shè)備打開。browser代碼在下面 var ua = navigator.userAgent.toLowerCase();//獲取判斷用的對(duì)象 if (ua.match(/MicroMessenger/i) == "micromessenger") { //在微信中打開 } if (ua.match(/WeiBo/i) == "weibo") { //在新浪微博客戶端打開 } if (ua.match(/QQ/i) == "qq") { //在QQ空間打開 } if (browser.versions.ios) { //是否在IOS瀏覽器打開 } if(browser.versions.android){ //是否在安卓瀏覽器打開 } } else { //否則就是PC瀏覽器打開 }
再附上browser的代碼,通過(guò)以下方法可以判斷很多瀏覽器。包括判斷IE瀏覽器,Opera瀏覽器,蘋果瀏覽器,谷歌瀏覽器,火狐瀏覽器等。
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() }
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
ymPrompt的doHandler方法來(lái)實(shí)現(xiàn)獲取子窗口返回值的方法
今天在寫頁(yè)面時(shí)用到了ymPrompt的win方法來(lái)彈出一個(gè)窗口。由于要用到獲取子窗口返回來(lái)的值判斷是否刷新父窗口,在ymPrompt的組件Demo中一直沒有找到合適的方法實(shí)現(xiàn)2010-06-06JavaScript實(shí)現(xiàn)單點(diǎn)登錄的示例
這篇文章主要介紹了JavaScript實(shí)現(xiàn)單點(diǎn)登錄的示例,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下2020-09-09JavaScript 直接操作本地文件的實(shí)現(xiàn)代碼
Chrome、IE和Firefox都紛紛在新版中增強(qiáng)了JavaScript引擎的執(zhí)行效率,隨著JavaScript效率在各大瀏覽器的顯著提高,JavaScript可以做越來(lái)越多的事,本地文件API的引入將讓很多有趣的功能成為現(xiàn)實(shí)。2009-12-12JS原生輪播圖的簡(jiǎn)單實(shí)現(xiàn)(推薦)
下面小編就為大家?guī)?lái)一篇JS原生輪播圖的簡(jiǎn)單實(shí)現(xiàn)(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07JavaScript實(shí)現(xiàn)數(shù)字前補(bǔ)“0”的五種方法示例
這篇文章主要介紹了JavaScript實(shí)現(xiàn)數(shù)字前補(bǔ)“0”的五種方法,結(jié)合具體實(shí)例形式分析了javascript數(shù)字前補(bǔ)0的相關(guān)操作技巧,涉及javascript字符串遍歷、迭代、截取、構(gòu)造等操作,需要的朋友可以參考下2019-01-01