2012-09-11 40 views
6

我想通過PhoneGap得到一個簡單的web項目運行。該站點使用RequireJS異步加載模塊。它還有Handlebars模板,我通過RequireJS text plugin加載。PhoneGap/cordova問題與RequireJS的文本插件

從本地HTTP服務器提供服務時,該網站正常工作。但是在設備上它無法呈現。在PhoneGap上調試非常棘手(儘管can be done to some extent),但據我所知,問題與使用RequireJS文本插件加載這些模板有關。

通過PhoneGap的提供的基於weinre,調試器顯示在控制檯中的錯誤字符串:

JSCallback Error: Request failed.

誰能推薦一個解決方案嗎?

+0

是有一個類似的問題,那麼它竟然是我的沉默:)我沒有在我的模板文件夾複製....所以TXT插件rquirejs下科爾多瓦對我來說工作正常。發現這個不錯的教程以及... http://www.appliness.com/getting-started-with-html-mobile-application-development-using-jquery-mobile-requirejs-and-backbonejs/ – Krym

+1

一個棘手的事情我注意到,在iOS設備上運行的phonegap中,require/define數組中使用的路徑區分大小寫,而在Chrome桌面瀏覽器中,這種情況似乎並不重要。可能是這樣的? –

+0

儘管我之前遇到過這個問題,並且正在Windows Phone 7和Android上進行測試,但這應該會給您一些啓示。 http://stackoverflow.com/questions/13038573/phonegap-windows-phone-7-dynamic-html-loading-and-cross-domain-calls-using-jquer/13093715#13093715希望有所幫助。乾杯! Suj –

回答

0

例如,當模板託管在與運行javascript不同的域上時,文本插件可能會產生問題。在這種情況下,由於交叉源請求中的安全限制,插件將假定您正在下載您的模板的編譯版本,並將.js附加到文件定位器。

如果您有服務器的控制權,您可以檢查是否請求了錯誤的路徑。