jquery Mobile—js不載入

laughitover發表於2017-03-24

最近在做一個移動端專案,據說jquery mobile很好用,但是一接觸直接來了兩個鬧心的異常,坎坷的弄了好久才解決,整理出來共享給大家

1.在使用jQuery Mobile進行Web開發中,當頁面跳轉時(pageA => pageB),在pageB中引用的JS並未成功執行

原因:JQM併為將整個頁面載入到當前的dom中,僅將data-role="page"元素(或body)加入當前的dom中。所以只有第一個頁面<head>標籤內的js生效

其它頁面<head>中引入的外部JS檔案,以及<page>標籤外的JS均不能正常執行,重新整理頁面後方可載入成功。
解決方法
鑑於JQM這個特性不太可能主動更改,可以用兩種方法來解決
一:將頁面內部JS寫在data-role="page"標籤下,這樣無論頁面怎樣跳轉,均可以執行。
$.mobile.ajaxEnabled = false;設定不使用ajax方式載入頁面。當然有很多方法,這個會在全域性禁用掉ajax載入。也可以在A標籤可以可以加上data-ajax=false屬性。

把下面程式碼入在jquery.mobile.js前面 

  1. $(document).bind('mobileinit',function() {   
  2.     jQuery.mobile.ajaxEnabled = false;   
  3. }); 

三:是在index頁面中,註冊所有需要使用到的外部JS檔案,或者使用母版頁面來統一;


相關文章