1. 程式人生 > >微信授權後回跳網址不顯示選單的問題解決方案

微信授權後回跳網址不顯示選單的問題解決方案

網上也沒找到有人遇到這個問題, 搞了半天

在回撥頁面注入如下程式碼:

function onBridgeReady(){
    WeixinJSBridge.call('showOptionMenu');
}

if (typeof WeixinJSBridge == "undefined"){
    if( document.addEventListener ){
        document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
    }else if (document.attachEvent){
        document.attachEvent('WeixinJSBridgeReady', onBridgeReady); 
        document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
    }
}else{
    onBridgeReady();
}


以下摘自:

http://www.baidufe.com/item/c4bacb3bd66930f2e43e.html

微信WeixinJSBridge API續 line

之前寫了一篇關於這個WeixinJSBridge API的文章,文章地址 ,於是有很多網友都在過來諮詢這個API的使用,在這裡有必要跟大家再說一下:這個API在以前公佈的部分介面被官方和諧掉很久了, 比如一鍵關注、分享給好友、分享到朋友圈等。當然,你可能會發現微信官方推送的一些文章還能使用這些功能,粗略估計,官方是對這個API增加了白名單控制,判斷Referer,如果是微信官方的地址、或者是有合作的商家地址,則允許呼叫,否則,返回“access denied”!

截止目前,筆者還沒用發現還有什麼辦法能繼續使用它!不過,官方和諧掉這個API其實也是說得過去的,因為在整個WebView的右上角,官方做了一個Navtive的按鈕,點開以後,包括分享給好友、分享到朋友圈這樣的功能都有,所以,官方也是在做一些引導。

當然,WeixinJSBridge這個API也並不是所有功能都被和諧掉了,相反,有好幾個功能還是相當有用的,可以正常使用,比如:

1、隱藏微信網頁右上角的按鈕(...按鈕):開發者可以用這個功能來禁止當前頁面被分享

2、隱藏微信網頁底部的導航欄(比如前進後退和重新整理):這個導航欄會佔用一定的區域,開發者可以認為使用者不會用到它,將其隱藏掉

3、在微信網頁中獲取使用者的網路狀態:開發者可以利用這個API獲得使用者的網路狀態,並提供不同的服務,比如視訊類,在wifi下提供高清視訊流,在2g網路下提供普通清晰視訊流等等

下面分別通過簡單的幾行程式碼,說明這幾個API的用法:

1、隱藏微信網頁右上角的按鈕

document.addEventListener('WeixinJSBridgeReady'function onBridgeReady() { // 通過下面這個API隱藏右上角按鈕 WeixinJSBridge.call('hideOptionMenu'); }); document.addEventListener('WeixinJSBridgeReady'function onBridgeReady() { // 通過下面這個API顯示右上角按鈕 WeixinJSBridge.call('showOptionMenu'); });

2、隱藏微信網頁底部的導航欄

document.addEventListener('WeixinJSBridgeReady'function onBridgeReady() { // 通過下面這個API隱藏底部導航欄 WeixinJSBridge.call('hideToolbar'); }); document.addEventListener('WeixinJSBridgeReady'function onBridgeReady() { // 通過下面這個API顯示底部導航欄 WeixinJSBridge.call('showToolbar'); });

3、在微信網頁中獲取使用者的網路狀態

WeixinJSBridge.invoke('getNetworkType',{},function(e){ // 在這裡拿到e.err_msg,這裡面就包含了所有的網路型別 alert(e.err_msg); });

e.err_msg的取值如下所示:

network_type:wifi         wifi網路
network_type:edge      非wifi,包含3G/2G
network_type:fail         網路斷開連線
network_type:wwan     2g或者3g

或者直接用微信掃描下面這個二維碼:


以上!分享給需要用到的網友。


相關推薦

授權網址顯示選單的問題解決方案

網上也沒找到有人遇到這個問題, 搞了半天 在回撥頁面注入如下程式碼: function onBridgeReady(){ WeixinJSBridge.call('showOptionMen

Vue授權登入前後端分離較為優雅的解決方案

微信授權登入是一個非常常見的場景,利用微信授權登入,我們可以很容易獲取使用者的一些資訊,通過使用者對公眾號的唯一openid從而建立資料庫繫結使用者身份. 微信授權登入的機制這裡不做詳述,微信官方文件已有詳述,簡述就是通過跳轉微信授權的頁面,使用者點選確認後

react單頁面授權怎麼返回原來地址

找了很多方法,發現後端可以獲取上一頁url的地址,但是是沒帶引數的,找了很多方法,用了個比較傻的方法 準備授權的時候順便向後端提交當前地址 window.location.href //獲取當前地址後順便提交到後端 然後後端將地址存為cookie後,再去重定向授權,獲

Android 授權登入、獲取Wx使用者資訊,解決無法撥問題

微信授權登入,官方說的不是很清楚、所以導致有一部分的坑。 據此記載..(坑) 1.微信註冊應用平臺的應用簽名為 打包keystore的MD5 小寫並且去掉 ":" 號組成、或者去下載 微信簽名生成工具 輸入專案的packageName也可以檢視到。 2.授權沒反應,監測微信

小程式設定height 100% 起作用解決辦法

https://blog.csdn.net/wshpwangshiyu/article/details/79744884 問題:微信小程式設定背景圖片高度適應整個螢幕,設定height 100% 不起作用? .container-all{ width: 100%; he

公眾號開發80端口映射解決方案

解決方案 微信開發 80端口映射 說明最近公司要搞微信公眾號開發,需要解決80端口映射的問題,看了網上好多老司機的方法,最終選擇ngrok比較符合公司的情況。微信公眾平臺開發,可參考:https://mp.weixin.qq.com/wiki 。微信公眾號接口只支持80接口。測試環境: wind

ios系統web(公眾號)開發遇到的問題及解決方案

編輯 doc pretty ram body abs 系統 stc 大神 1.1. 頁面滾動不流暢(2017-09-25) 現象: 網頁豎向滾動或橫向滾動不流暢。 解決方案: 為滾動元素添加css樣式: -webkit-overflow-scrolling: tou

關於阿裏雲服務器Linux安裝Tomcat,外網能訪問解決方案

雲服務 服務器 tail grep tomcat linux安裝 訪問 .net mas 這裏需要提及三個方面的問題 第一個方面:Linux上啟動防火墻的問題 當下比較流行的Linux鏡像是CentOS,所以防火墻也隨之變成了firewall,那麽怎麽操作這個防火墻呢?

下載app,彈出出應用寶商店的解決方案

很多朋友的APP推廣連結需要在微信中進行的網頁宣傳、傳播、下載等等,但是各位朋友一定發現了微信中是遮蔽掉了APP的下載連結的。但是微信最為一個最大的社交平臺,為了自身的利益,遮蔽掉了所有APK的下載連結。我們要怎麼解決這個問題呢? 解決方案: 我們基於微信介面開發了一款全新的手機端微信中下載APP的程式,

在電腦版使用公眾號或wap版掃碼登陸解決方案

介紹: 在微信端或手機瀏覽器端,使用微信或手機的登陸狀態,掃碼登陸電腦版。 實現: 1、電腦端登陸頁面顯示二維碼,二維碼內容為以當前時間的加密token作為引數的URL,並把這串加密token儲存到資料庫。 2、在手機端掃碼後進入頁面拉取手機端的登陸狀態資訊,並綁定當前token儲存

小程式程式碼最大限制2M的解決方案

瞭解小程式有最大程式碼量限制之前需要先了解微信小程式的本質:前端近幾年都處於技術爆炸時期, react 最早的是facebook開源的開發框架----react,支援移動網頁和原生app的開發(react native),提倡一次學習,全渠道開發。目的是讓產品研發更聚焦更敏捷,它有三個重要特

vue-router 在瀏覽器中操作history URl未改變的解決方案

問題描述: 在PC端和手機瀏覽器中router.replace() or router.push()能夠正常使用,頁面的地址和頁面都正常顯示;但是在微信中,從/a頁面通過router.push('/b')跳轉到/b頁面後,頁面正常,但是複製瀏覽器的地址會發現其地址仍為/a;

瀏覽器 點選 出現卡頓現象及解決方案

做的小遊戲在手機微信中開啟測試和在UC瀏覽器中測試, 點選時候微信瀏覽器出現明顯的卡頓現象, 查閱發現是: 主要是由於200ms超時導致核心不一定會一直處理touchmove事件,一旦超時會將後續所有的事件轉交給UI處理,導致touchmove不會一直觸發。系統瀏覽器也存在

小程式video原生元件層級過高解決方案

成品:   可以看到成品其實不是完全解決了問題,如果有更好的方法可以告知一下我,謝謝。 思路很簡單,讓video元件在不播放的時候隱藏,讓替代品view呈現,當點選view時,讓video顯示出來。 我寫了一個小元件供大家參考: wxml <view cla

easyui 行編輯儲存combobox顯示value而顯示text解決方案

點選儲存時觸發onEndEdit函式: //   column_type為combobox的filed名字。  function onEndEdit(index, row){     var ed_column_type = $(this).datagrid('getEd

php 引入微的js-sdk 報簽名合法的解決方案

1 首先 我下載了 http://demo.open.weixin.qq.com/jssdk/sample.zip的整合包. 發現在做demo的時候 把 該有的配置引數都傳過去了 但總報簽名不合法. 2 檢查發現沒有access_token竟然也能成簽名 ,

服務號向特定使用者傳送訊息的解決方案

查找了微信開發文件和一些部落格後發現瞭解決方案。 使用微信服務號的模板訊息介面 文件地址: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1433751277   網上還有另外一個解

SVN安裝文件圖示顯示問題解決

1、SVN安裝(服務端--客戶端)TortoiseSVN的下載地址 :   https://tortoisesvn.net/downloads.html在安裝svn客戶端的時候一定要勾選,否則在idea上整合svn的時候會找不到 svn.exe 而報錯。如果安裝時忘記勾選了的

小程序開發——點擊防重的解決方案

dex 沒有 特殊情況 sel 半透明 dup ports 手機 超過 對於一些涉及後端接口請求的單擊事件,不論後端是否做了請求限制,前端還是有必要進行點擊防重處理的。 這樣既能減少對服務器端的壓力,也能有效防止因重復請求而造成一些不可預期的異常。 尤其是接口請求結果處

xcode模擬器顯示鍵盤解決方案

顯示 如果 進行 方案 con har 彈出 當我 電腦 當我們使用Xcode進行開發的時候,並不是所有的時候都需要將代碼運行在iPhone,有時候模擬器就可以解決這些問題, 但是當你使用模擬器的時候會發現,在TextFiled中輸入信息時,如果你是用模擬器上的鍵盤進行操作