uni-app App 端內(nèi)置 HTML5+ 引擎,讓 js 可以直接調(diào)用豐富的原生能力。
小程序及 H5 等平臺(tái)是沒(méi)有 HTML5+ 擴(kuò)展規(guī)范的,因此在 uni-app 調(diào)用 HTML5+ 的擴(kuò)展規(guī)范時(shí),需要注意使用條件編譯。否則運(yùn)行到h5、小程序等平臺(tái)會(huì)出現(xiàn) plus is not defined錯(cuò)誤。
// #ifdef APP-PLUS
var appid = plus.runtime.appid;
console.log('應(yīng)用的 appid 為:' + appid);
// #endif
在普通的 H5+ 項(xiàng)目中,需要使用 document.addEventListener 監(jiān)聽(tīng)原生擴(kuò)展的事件。
uni-app 中,沒(méi)有 document。可以使用 plus.globalEvent.addEventListener 來(lái)實(shí)現(xiàn)(注意manifest中需開(kāi)啟新編譯器,即自定義組件模式"usingComponents":true)。
// #ifdef APP-PLUS
// 監(jiān)聽(tīng)設(shè)備網(wǎng)絡(luò)狀態(tài)變化事件
plus.globalEvent.addEventListener('netchange', function(){});
// #endif
同理,在 uni-app 中使用 Native.js 時(shí),一些 Native.js 中對(duì)于原生事件的監(jiān)聽(tīng)同樣需要按照上面的方法去實(shí)現(xiàn)。
注意:舊編譯器(非自定義組件模式)不支持 plus.globalEvent 這個(gè)對(duì)象。
更多建議: