1. 程式人生 > >IOS下的微信H5頁面的底部前進後退橫欄的適配問題

IOS下的微信H5頁面的底部前進後退橫欄的適配問題

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. 暫且將頁面調整為可以滾動的狀態==!!!目前沒有看到合適的方法撒,於是,還是來個滾動條吧