plusready提前注入請參照一下代碼
<script src="html5plus://ready"></script>
<script type="text/javascript" charset="utf-8">
// 這里可以調用5+ API了,為了更好的兼容性,應該使用以下代碼進行判斷
if(window.plus){
// 在這里調用5+ API
}else{// 兼容老版本的plusready事件
document.addEventListener('plusready',function () {
// 在這里調用5+ API
},false);
}
</script>
如果你的app需要第一次啟動頁面是登錄界面,然后點擊登錄了后關閉登錄頁面,這個時候會有個小bug,不登錄的話直接按返回按鈕,會把登錄頁面關閉,直接進入主頁面,這是相當大的一個bug,解決的方法是將5+api提前注入,即在head部分放入如下代碼
<script src="html5plus://ready"></script>
剩下的不用管它,然后打開app你會發現,進入登錄頁面后點擊手機上的返回鍵,是關閉當前app而不是關閉當前webview
可能有些人和我的情況不一樣,我是主頁面里面有3個子頁面,但是打開后并沒有像安卓原生的一樣整面直接渲染好的,而是打開后先顯示頭和尾,然后中間部分再出來,所以我改成雙啟動頁,主頁面加上sub1,即主頁面和第一個要顯示的子頁面同時啟動,這樣一來用戶體驗就大大改善,但是還有個問題,后期需要第一次進入的時候進入的是登錄頁面,但是沒辦法弄三啟動頁,我當時的解決思路是,在主頁面的函數處理里面,判斷是否有無登錄記錄,沒有的話就打開登錄界面,然而事實上的效果是,先看到主頁面,然后跳到登錄界面,這個問題的解決方法是,將啟動圖片設置成手動關閉,登錄頁面的js函數里面關閉掉啟動頁,這樣一來,用戶看到的就是渲染好的頁面了,但是這樣又他媽拋出個問題,啟動時間太長了,好像有6,7秒把,當然解決的方法還是將5+api提前注入,在head里面放入
<script src="html5plus://ready"></script>
然后在mui.plusready里面手動關閉啟動頁,這樣一來,在低端機上面的啟動時間大概在3,4秒,雖然沒有原生的快,但是起碼改善了好多