uni-app 使用HTML5+的注意事項

小陳的筆記發表於2022-06-16

uni-app App 端內建 HTML5+ 引擎,讓 js 可以直接呼叫豐富的原生能力。

  • 條件編譯呼叫 HTML5+

小程式及 H5 等平臺是沒有 HTML5+ 擴充套件規範的,因此在 uni-app 呼叫 HTML5+ 的擴充套件規範時,需要注意使用條件編譯。否則執行到h5、小程式等平臺會出現 plus is not defined錯誤。

// #ifdef APP-PLUS
var appid = plus.runtime.appid;
console.log('應用的 appid 為:' + appid);
// #endif
  • uni-app不需要 plus ready 在html中使用plus的api,需要等待plus ready。 而uni-app不需要等,可以直接使用。而且如果你呼叫plus ready,反而不會觸發。
  • uni-app 中的事件監聽

在普通的 H5+ 專案中,需要使用 document.addEventListener 監聽原生擴充套件的事件。

uni-app 中,沒有 document。可以使用 plus.globalEvent.addEventListener 來實現(注意manifest中需開啟新編譯器,即自定義元件模式"usingComponents":true)。

// #ifdef APP-PLUS
// 監聽裝置網路狀態變化事件
plus.globalEvent.addEventListener('netchange', function(){});
// #endif

同理,在 uni-app 中使用 Native.js 時,一些 Native.js 中對於原生事件的監聽同樣需要按照上面的方法去實現。

注意:舊編譯器(非自定義元件模式)不支援 plus.globalEvent 這個物件。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70018483/viewspace-2900872/,如需轉載,請註明出處,否則將追究法律責任。

相關文章