初學mui會發現大量的demo中,都須要調用mui.init()和mui.plusReady(),可見這兩東西在app開發中的重要性javascript
首先請注意一點,若是不是作app開發(非hbuilder基座運行),作web開發的話(在瀏覽器運行html),plusReady是沒有意義的,不會執行,爲何?css
所謂的html4.0標準咱們就不去討論了,這是早期對瀏覽器標記語言解析的規範,在app開發中咱們一般使用的是html5html
html5:萬維網的核心語言、標準通用標記語言下的一個應用超文本標記語言(HTML)的第五次重大修改,於2014年發佈,以後的瀏覽器必須遵照這個開發規範實現對html,css,javascript的解釋,其中css遵照最新的css3規範,javascript遵照最新的ECMAScript6。前端
html5+:其實仍是html5,只是在html5針對手機開發app時補充了對大量原生功能支持,包括攝像頭,wifi,震動,gps等等的軟硬件功能,經過js封裝調用安卓原生接口使得h5開發app更加的強大,因此稱之爲html5+(app的開發必需要使用html5+)html5
plusReady:對於 HTML5+應用的頁面有一個很重要的 「plusready」事件,此事件會在頁面加載後自動觸發,表示全部 HTML5+ API 可使用, 在此事件觸發以前不能調用 HTML5+ APIjava
init:mui自己只是一個html5的前端框架而已,相似於react.js,jquery mobile或者說像是bootstrap的針對手機簡化版,自己不具有開發app的功能,適合wap開發,但其中包含了html5+的方法,若是不使用上述html5+ plus對象,而只須要mui框架包含的wap開發功能,則是使用mui.init以後便可調用。react
固然在app開過程當中使用了mui框架做爲css,js的渲染框架亦可:此時任然須要用到mui.init()初始化框架的jquery
而且mui框架將不少功能配置都集中在mui.init方法中,因此只須要在mui.init方法中完成對應參數配置便可css3
目前支持在mui.init方法中配置的功能包括:建立子頁面、關閉頁面、手勢事件配置、預加載、下拉刷新、上拉加載。web
不管作wap網頁,仍是app開發,只要須要用到mui框架,都須要mui.init初始化框架功能,而plusready僅僅在app開發中使用
目前尚不清楚plusReady過度臃腫對性能是否形成傷害。理論上只是在html5+加載完以後執行其中的代碼罷了,是不會影響性能,只會晚一點執行(延遲並不會感覺到)
mui.plusReady()中的代碼不執行
可能1:
你在瀏覽器下運行了html
可能2:
plusReady事件僅在webview首次建立時觸發,使用mui.openWindow方法屢次打開已存在的一樣id的webview時,是不會重複觸發plusReady事件的; 所以若業務寫在plusReady事件中,可能會出現執行結果和預期不一致的狀況;此時可經過自定義事件觸發