JavaScript判斷微信瀏覽器實(shí)例代碼
先給大家說(shuō)下我的項(xiàng)目需求:用戶掃一掃二維碼會(huì)產(chǎn)生一個(gè)鏈接,該鏈接會(huì)向后端發(fā)送個(gè)請(qǐng)求,返回一個(gè) apk 的下載地址,用戶點(diǎn)擊下載按鈕可以下載此 apk。然后就發(fā)生了問(wèn)題,經(jīng)過(guò)測(cè)試,發(fā)現(xiàn)用微信掃一掃打開的頁(yè)面點(diǎn)擊下載按鈕下載不了 apk,后百度之,原來(lái)是微信內(nèi)置瀏覽器屏蔽了下載鏈接,后面和需求方溝通,需求改為如果用戶是用微信內(nèi)置瀏覽器打開的,則提示用戶換一個(gè)瀏覽器打開頁(yè)面,否則下載不了 apk。那么該如何判斷用戶是否是用微信瀏覽器呢?
我們知道 js 可以通過(guò) window.navigator.userAgent 來(lái)獲取瀏覽器的相關(guān)信息,比如:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36,那么我們也可以通過(guò)該方法來(lái)獲取微信內(nèi)置瀏覽器的相關(guān)信息:Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Mobile/11d201 MicroMessenger/5.3。根據(jù)關(guān)鍵字 MicroMessenger 來(lái)判斷是否是微信內(nèi)置的瀏覽器。判斷函數(shù)如下:
function isWeiXin(){ var ua = window.navigator.userAgent.toLowerCase(); if(ua.match(/MicroMessenger/i) == 'micromessenger'){ return true; }else{ return false; } }
demo:
<!DOCTYPE HTML> <html lang="en"> <head> <meta charset="utf-8"/> <title>判斷是否是微信內(nèi)置瀏覽器</title> </head> <body> <h1>如果用微信瀏覽器打開可以看到下面的文字</h1> <p></p> </body> </html> <script type="text/javascript"> window.onload = function(){ if(isWeiXin()){ var p = document.getElementsByTagName('p'); p[0].innerHTML = window.navigator.userAgent; } } function isWeiXin(){ var ua = window.navigator.userAgent.toLowerCase(); if(ua.match(/MicroMessenger/i) == 'micromessenger'){ return true; }else{ return false; } } </script>
說(shuō)明:可以將上面的 demo 放到服務(wù)器上,然后生成個(gè)二維碼掃一掃。
以上所述是小編給大家介紹的JavaScript判斷微信瀏覽器實(shí)例代碼的相關(guān)知識(shí),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
JsonServer安裝及啟動(dòng)過(guò)程圖解
這篇文章主要介紹了JsonServer安裝及啟動(dòng)過(guò)程圖解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02javascript從定義到執(zhí)行 你不知道的那些事
這篇文章主要介紹了javascript從定義到執(zhí)行,你不知道的那些事,感興趣的小伙伴們可以參考一下2016-01-01JavaScript setTimeout使用閉包功能實(shí)現(xiàn)定時(shí)打印數(shù)值
這篇文章主要介紹了JavaScript setTimeout使用閉包功能實(shí)現(xiàn)定時(shí)打印數(shù)值 的相關(guān)資料,需要的朋友可以參考下2015-12-12