1. 程式人生 > >使用userAgent判斷當前頁面是否在webView裡開啟

使用userAgent判斷當前頁面是否在webView裡開啟

需求背景:需要判斷網頁是在否在自己app裡的的webView裡開啟(電腦端瀏覽器、手機qq,手機qq瀏覽器,微信,微信朋友圈,微博,手機safari等除外)
1、app內部:需要呼叫原生app方法
2、非微信的其他瀏覽器或webview,提示請在微信中開啟頁面
3、微信:發起微信授權獲取使用者資訊。

function openInWebview () {
    var ua = navigator.userAgent.toLowerCase()
    if (ua.match(/MicroMessenger/i) == 'micromessenger') { // 微信瀏覽器判斷
        return
false } else if (ua.match(/QQ/i) == 'qq') { // QQ瀏覽器判斷 return false } else if (ua.match(/WeiBo/i) == "weibo") { return false } else { if (ua.match(/Android/i) != null) { return ua.match(/browser/i) == null } else if (ua.match(/iPhone/i) != null) { return
ua.match(/safari/i) == null } else { return (ua.match(/macintosh/i) == null && ua.match(/windows/i) == null) } } } // 使用方式 if (openInWebview()) { // 在app內開啟 // to do something } else { // 其他地方 // 發起微信授權 }

備註:此判斷在電腦端,使用手機模式預覽,且選擇安卓手機機型的時候,判斷會有問題(會判斷為是在app內開啟)。但是在真機上是好的。

相關推薦

使用userAgent判斷當前頁面是否在webView開啟

需求背景:需要判斷網頁是在否在自己app裡的的webView裡開啟(電腦端瀏覽器、手機qq,手機qq瀏覽器,微信,微信朋友圈,微博,手機safari等除外) 1、app內部:需要呼叫原生app方法 2、非微信的其他瀏覽器或webview,提示請在微信中開啟頁

判斷當前頁面是否在微信瀏覽器中開啟

在實際的專案中,有時候需要判斷當前頁面是否在微信瀏覽器中開啟 ,以下提示了三種方法,每一種都可以, 方法一, var ua = navigator.userAgent.toLowerCase(); var isWeixin = ua.indexOf('micromessenger')

原生Js判斷當前頁面是否是第一次開啟

原理是利用瀏覽器cook來判斷,噹噹前頁面不存在cook時就是第一次開啟 程式碼:  function Cookie(key,value){ this.key=key; if(value!=null) { this.value=e

JS判斷當前頁面是否在微信內開啟

有的時候我們的頁面只允許在微信內才能使用,這個時候就要判斷是否是在微信內開啟的頁面,只需要加入一行程式碼判斷下就可以了 var wx= (function(){ return navigator.us

判斷當前頁面是否在微信瀏覽器中打開

當前頁 tro als != log () navi sha sharp 方法:(微信官方js判斷做法) var ua = navigator.userAgent.toLowerCase();   var isWeixin = ua.indexOf(‘micromesse

32.js 判斷當前頁面是否被瀏覽

span bili string key opera ont ber style iter 可以通過document.hidden屬性判斷當前頁面是否是激活狀態。 兼容性:IE10+,Firefox10+,Chrome14+,Opera12.1+,Safari7.1+ 兼容

判斷當前頁面是否在微信內置瀏覽器中打開

pan var 不同的 nav rom navigator false 都是 16px 轉: 任何瀏覽器的判斷都是獲取user-agent參數進行判斷的,判斷當前頁面是否在微信瀏覽器中打開同樣也不例外。1、首先需要獲取微信內置瀏覽器的User Agent,經過對微信的瀏覽器

js如何判斷當前頁面處於最頂級窗體

keyword line index 頁面 key == 窗口 word com if(top== self){ //在頂級窗口 }else{ //不在 } https://zhidao.baidu.com/question/308150730026502444.htm

判斷當前頁面是不是頂層頁面

問題描述:判斷iframe中的顯示頁面是不是最頂層的頁面,如:判斷登入;頁面應該在最外層頁面顯示,而不是載入在iframe中顯示。 if(self!=top){ //不是頂層頁面 alert("您的登陸已超時,請重新登陸!"); top.loc

ES6判斷當前頁面是否微信瀏覽器中打開

.com lower nav else () rom mic 來源 es6 1、使用jq判斷是否用微信瀏覽器打開頁面 var is_weixin = (function(){return navigator.userAgent.toLowerCase().indexOf(

通過document.hidden屬性判斷當前頁面是否是啟用狀態

網頁當前狀態判斷,若不處於當前視窗則不發請求 var interval_output = null; function sendRequst() {     interval_output = setInterval(function () {    &n

JS判斷當前頁面是在 QQ客戶端/微信客戶端/iOS瀏覽器/Android瀏覽器/PC客戶端

browser.js var browser = { versions: function () { var u = navigator.userAgent, app = navigator.appVersion; return { //移動終端瀏覽器版本資訊 trident: u.

js判斷當前頁面是PC端還是手機端訪問?

執行當前js,可判斷當前是PC端還是手機端訪問 <script type="text/javascript"> function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = ["A

html判斷當前頁面是否在iframe中

在做HTML頁面的時候,經常會遇到“如果當前頁面顯示在iframe中,我們就相應的處理”判斷方法為: //判斷是否在iframe中 if(self!=top){ parent.window.

js判斷當前頁面的某個圖片是否載入完畢

 有如下程式碼,需要外層div的背景圖片載入完畢,才載入裡面的div; <div style="background-image:url('images/banner_1_graphics.png')"> <div id="blackboard"

判斷當前手機藍芽是否開啟

眾所周知藍芽是我們手機都有的一個功能 可以利用程式碼來實現管理藍芽的狀態 private BluetoothAdapter adapter; private BroadcastReceiver receiver = new BroadcastRe

判斷當前頁面是否修改內容,並在離開頁面的時候給出提示

let _this=this; window.onbeforeunload = function() { let nowOrderVo=JSON.stringify(_this.orderVo);

Js判斷當前開啟頁面是手機端還是Pc端

var sUserAgent = navigator.userAgent.toLowerCase(); var bIsIpad = sUserAgent.match(/ipad/i) == "ipad"; var bIsIphoneOs = sUserAg

如何用js去判斷當前是否在微信中開啟的連結頁面

function is_weixin() { var ua = navigator.userAgent.toLowerCase(); if (ua.match(/MicroMessenger/i) == "micromessenger")

android內嵌webview元件渲染頁面 ios內嵌webview?元件渲染頁面 微信頁面用什麼瀏覽器開啟

1.android內嵌webview元件渲染頁面     ios內嵌webview?元件渲染頁面 webview相當於瀏覽器? https://www.cnblogs.com/limeiky/p/5818463.html 2.微信裡的頁面用什麼瀏覽器開啟 p.p1 { m