我剛剛開始使用phonegap。我有一個現有的應用程序,它是一個Java servlet容器。我寫了一個簡單的抓取工具,可以提取所有相關的JS,CSS和圖像等,所以我現在有一個簡單的HTML應用程序。它使用requirejs。Phonegap和requirejs動態腳本加載失敗
我現在試圖用phonegap來構建它。但是,我遇到了以下問題,這可能是一個錯誤?或者我正在做的是錯誤的。
會出現以下情況:
- 頁面加載罰款
- 按一下週圍工作正常
- 該應用程序將被改變URL在後臺(使用骨幹)
- 最後,我點擊觸發requirejs的按鈕,它依次嘗試加載腳本。
- 我可以看到下面的錯誤,當我使用的是Chrome瀏覽器在調試我的Android VM
GET file:///js/step.search-2.0.6-SNAPSHOT.min.js step.2.0.6-SNAPSHOT.min.js:1 Uncaught Error: Script error for: search http://requirejs.org/docs/errors.html#scripterror step.2.0.6-SNAPSHOT.min.js:1
GET file:///js/step.qtip-2.0.6-SNAPSHOT.min.js step.2.0.6-SNAPSHOT.min.js:1 Uncaught Error: Script error for: qtip http://requirejs.org/docs/errors.html#scripterror
GET file:///js/step.quick-lexicon-2.0.6-SNAPSHOT.min.js step.2.0.6-SNAPSHOT.min.js:1 Uncaught Error: Script error for: quick_lexicon http://requirejs.org/docs/errors.html#scripterror
這是一個錯誤的的WebView?
這裏是我的requirejs配置
requirejs.config({
waitSeconds: 15000,
paths : {
sidebar: ["js/step.sidebar-STEP_SERVER_VERSION_TOKEN.min"],
quick_lexicon : ["js/step.quick-lexicon-STEP_SERVER_VERSION_TOKEN.min"],
qtip : ["js/step.qtip-STEP_SERVER_VERSION_TOKEN.min"],
view_help_menu: ["js/step.help-menu-STEP_SERVER_VERSION_TOKEN.min"],
drag: ["js/step.draggabilly-STEP_SERVER_VERSION_TOKEN.min"],
menu_extras: ["js/step.menu_extras-STEP_SERVER_VERSION_TOKEN.min"],
html2canvas: ["js/step.html2canvas-STEP_SERVER_VERSION_TOKEN.min"],
search: ["js/step.search-STEP_SERVER_VERSION_TOKEN.min"]
}
});
我也注意到以下行爲:
- 如果我打開了Chrome瀏覽器開發控制檯,並嘗試寫一個標籤,當第一次加載頁面時,將文件加載罰款
- 如果後點擊一些按鈕/菜單我做的一樣,該文件加載失敗,大概是因爲webview中的URL已經改變?
換句話說,如果我的應用程序已經呈現之後運行以下片段,那麼在與之交互之前,它會起作用。與應用程序交互後,它會停止與上述相同的錯誤。
$("head").append('<script src="js/step.2.0.6-SNAPSHOT.min.js" type="script/javascript"></script>')
在頭,我注意到,requirejs正確地把相對路徑,而不是絕對的,在資源:
<script type="text/javascript" charset="utf-8" async="" data-requirecontext="_" data-requiremodule="sidebar" src="./js/step.sidebar-2.0.6-SNAPSHOT.min.js"></script>
最後,由窗口中的開發者控制檯中提供的網址。 location.href是:
前:文件:///android_asset/www/index.html」 後:文件:/// q =版本= ESV |強= G0018 &選項= HVNUG
所以我會發布這個反正其他人發現相同的問題,但我認爲寫這個幫助我瞭解問題的根源。
克里斯