我用的是ionic start 指令生成項目 ,用 cordova create 也是可以的。都會在index.html 有這麼一行
但在浏覽器運作時 提示
deviceready has not fired after 5 seconds.
Channel not fired: onCordovaInfoReady
當然浏覽器下這麼浏覽肯定是有問題的,但是 當然在 執行 ionic emulate 或者 ionic run 時 安卓機上打開程式也是 什麼都沒有顯示,可以斷定浏覽器提示肯定是有原因的。用 ripple emulate 試調 也沒都能正常加載的,同時還能出發controlle裡 的事件 如 backbutton 事件。
盲目的 谷歌了很多種辦法都沒解決
有 如下的:

或者
或者 隻用 cordova 指令
Content Security Policy 用來定義 頁面可以加載那些域名下的資源 圖檔 css js 等。
github 或者stackoverflow 上也沒找到 解決的辦法,也是因為英語太差。
然後運作 ionic platform add android 可以指定好版本 ionic platform add [email protected] 生成如下目錄,
看到這 就自然的把 android\assets 裡的 檔案都copy到伺服器上去了 然後 ionic emulate android,或者浏覽器 ,問題就來了。
其實這麼copy是錯誤的,打包成apk 是 html,js,css 等都在apk裡面了于是呢,運作的時候,安卓就首先加載本地的檔案 js等,而從伺服器上加載資源,不知道什麼時候資源請求完成,事件的綁定就是個問題了,同時js是需要調用java代碼的,放伺服器端js就涉及到權限問題了,對本地資料的讀寫。而請求json資料是從伺服器請求$http.get('http://182....',function(data){});
是以在 apk 裡打包有的檔案,無服務端都不用放了。特别是cordova.js , cordova_plugins.js, plugins等。
最底層的加載機制 還有些沒搞懂,請大神們指導呢,謝謝哦。