2012-05-27 95 views
0

我已經下載了我的JQuery Mobile應用程序的文件結構。我已經做了這個測試來從本地文件系統運行它。原因是我希望我的應用程序能夠與Cordova一起運行。根據我的理解,cordova運行file://下的文件。目前,我的文件結構如下所示:在Cordova(PhoneGap)的JQuery Mobile中使用changePage

index.html 
account 
    register.html 
    reset.html 

在index.html中,我有一個「註冊」按鈕。當有人點擊它,我用下面的代碼:

$.mobile.changePage("account/register.html", { transition: "slide" }); 

我驗證過register.html工作正常,如果我把完整的路徑在瀏覽器URL。奇怪的是,當我點擊「註冊」時,我看到「錯誤加載頁面」。在file://下使用changePage有什麼問題。如果是這樣,我該如何克服這一點?

謝謝!

回答

0

試試這個

$.mobile.changePage("../account/register.html", { transition: "slide" }); 
+2

這是怎麼解決的?在這種情況下顯示index.html時,「當前目錄」是什麼? –

0

你可以只保留在代碼<a href="">..</a>鏈接,它會正常工作。除非你有明確的調用changePage的理由。

0

這個答案具體是如果你遇到在iOS上運行PhoneGap應用程序的問題。

確保您設置了AJAX調用注入頁面所需的$.mobile.allowCrossDomainPages = true;

在你的PhoneGap app對象定義:

var app = { 
    initialize: function() { 
     // setting required to use $.mobile.changePage() 
     // http://jquerymobile.com/demos/1.2.0/docs/pages/phonegap.html 
     $.mobile.allowCrossDomainPages = true; 
    }, 
}; 

所以,當你在index.html調用app.initialize(),此屬性將被之前的任何$.mobile.changePage()函數調用設置。

這樣可以節省您數小時的時間,試圖找出問題,因爲沒有錯誤通過Safari Web Inspector返回。