IOS下的微信H5頁面的底部前進後退橫欄的適配問題
阿新 • • 發佈:2019-01-05
Question:最近做一個在微信和支付寶內建瀏覽器中執行的移動web介面,前幾個月ios微信更新之後,微信將後退的按鈕移至了底部橫欄,遮擋住了原先底部的操作按鈕。由於之前的頁面設計是整屏顯示禁止觸控滾動效果的,就想著是不是可以隱藏微信內建的底部橫欄。
Answer:
1. 經過查資料,很多人說可以呼叫Weixin為H5應用提供開放原生能力的JS介面來隱藏/顯示底部的狀態列。程式碼如下:
document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() { WeixinJSBridge.call('hideToolbar'); // 隱藏底部狀態列 WeixinJSBridge.call('hideOptionMenu'); // 隱藏右上角的三個點的選項 WeixinJSBridge.call('showToolbar'); // 顯示底部狀態列 WeixinJSBridge.call('showOptionMenu'); // 顯示右上角的三個點的選項 });
但是實際使用過程中,發現無效,使用微信開發者工具除錯,發現報錯:“error:WeixinJSBridge.call方法無效”,在微信公眾平臺的企業微信中發現,該方法適用於企業微信,而在訂閱號或者服務號的開發文件中暫未發現這個方法。
// 介面呼叫程式碼(JavaScript) --- from 微信公眾平臺-企業微信開發文件 function onBridgeReady(){ WeixinJSBridge.call('hideToolbar'); } 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(); } // 返回說明 // 隱藏底部導航欄沒有返回值。(需要顯示頂部導航欄,請把hideToolbar換成showToolbar)
2. 暫且將頁面調整為可以滾動的狀態==!!!目前沒有看到合適的方法撒,於是,還是來個滾動條吧