這篇文章主要介紹了HTML5+ API plusready的兼容問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
Android平臺提前注入5+ API,支持在plusready事件前調(diào)用
在5+ Runtime環(huán)境中,通常情況下需要html頁面解析完成后才會(huì)注入5+ API,執(zhí)行的順序?yàn)椋?/p>
1. 加載html頁面
2. 解析html頁面(下載script/link等節(jié)點(diǎn)引用的資源,如js/css文件)
3. 觸發(fā)DOMContentLoaded事件
4. 注入5+ API
5. 觸發(fā)plusready事件
這樣導(dǎo)致5+ API生效時(shí)間比較延后,在html中引用js執(zhí)行之后才能調(diào)用5+ API,通常采用以下代碼調(diào)用5+ API:
document.addEventListener('plusready',function () {
// 在這里調(diào)用5+ API
// 如獲取設(shè)備唯一標(biāo)識 plus.device.uuid
},false);
但是在新版本中,將支持提前注入5+ API,可以在plusready事件觸發(fā)之前調(diào)用5+ API,提前引入節(jié)點(diǎn):
<script src="html5plus://ready"></script>
兼容寫法:
if(window.plus){
// 在這里調(diào)用5+ API
}else{// 兼容老版本的plusready事件
document.addEventListener('plusready',function () {
// 在這里調(diào)用5+ API
},false);
}
注意
1. 僅僅是提前注入5+ API,并不會(huì)提前觸發(fā)plusready事件(僅步驟4提前操作了)
2. Android3.0及以上平臺才支持提前注入,Android2.*版本無法提前注入
3. 在流應(yīng)用環(huán)境中的wap2app會(huì)自動(dòng)提前注入(第一次引用網(wǎng)絡(luò)js時(shí)注入),不需要添加
來源:腳本之家
鏈接:https://www.jb51.net/html5/753136.html
申請創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!