JavaScript判斷微信瀏覽器實例代碼
先給大家說下我的項目需求:用戶掃一掃二維碼會產(chǎn)生一個鏈接,該鏈接會向后端發(fā)送個請求,返回一個 apk 的下載地址,用戶點擊下載按鈕可以下載此 apk。然后就發(fā)生了問題,經(jīng)過測試,發(fā)現(xiàn)用微信掃一掃打開的頁面點擊下載按鈕下載不了 apk,后百度之,原來是微信內(nèi)置瀏覽器屏蔽了下載鏈接,后面和需求方溝通,需求改為如果用戶是用微信內(nèi)置瀏覽器打開的,則提示用戶換一個瀏覽器打開頁面,否則下載不了 apk。那么該如何判斷用戶是否是用微信瀏覽器呢?
我們知道 js 可以通過 window.navigator.userAgent 來獲取瀏覽器的相關(guān)信息,比如:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36,那么我們也可以通過該方法來獲取微信內(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 來判斷是否是微信內(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>
說明:可以將上面的 demo 放到服務器上,然后生成個二維碼掃一掃。
以上所述是小編給大家介紹的JavaScript判斷微信瀏覽器實例代碼的相關(guān)知識,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
原生js實現(xiàn)ajax請求和JSONP跨域請求操作示例
這篇文章主要介紹了原生js實現(xiàn)ajax請求和JSONP跨域請求操作,結(jié)合實例形式分析了基于原生js實現(xiàn)的ajax請求和JSONP跨域請求相關(guān)操作技巧與使用注意事項,需要的朋友可以參考下2020-03-03
avascript中的自執(zhí)行匿名函數(shù)應用示例
javascript中的自執(zhí)行匿名函數(shù)可以用它創(chuàng)建命名空間,只要把自己所有的代碼都寫在這個特殊的函數(shù)包裝內(nèi),那么外部就不能訪問,除非你允許2014-09-09
JavaScript?防抖debounce與節(jié)流thorttle
這篇文章主要介紹了JavaScript?防抖debounce與節(jié)流thorttle,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-05-05

