2013-02-05 75 views
0

我剛剛寫了我的第一個非常基本的jquery移動網站,只有兩頁。jquery移動奇怪的東西

第二頁(可能是第一個)使用具有自己的js文件的環球漫畫幻燈片。

發生的奇怪的事情是,如果我第一次加載頁面2,它運行得很好。但是,如果我運行第1頁,然後單擊第2頁的鏈接,它將在第1頁掛起,並且存在js控制檯錯誤,表示該環球免稅店未定義。 我通過在第1頁中包含了環球免稅店的js文件來解決了錯誤,然後一切正常。

所以問題是爲什麼我需要這樣做?除了鏈接之外,這兩頁確實沒有任何連接。對這種奇怪行爲的任何想法/想法/解釋?

+0

你可以發佈任何內容來顯示問題嗎?你實際上是加載第二頁還是將它加入頁面1 – mplungjan

回答

1

這不是一個奇怪的行爲,它正是jQuery Mobile的工作原理。實際上,jQM在加載第一頁之後,使用AJAX加載其他頁面,並簡單地將它們的內容注入第一頁。如果您想驗證這一事實,請使用DOM檢查器。說,其他頁面的<head>部分從不加載。爲了解決這個問題,你必須在你使用的每個文件中包含環球免稅店庫,或者使用PHP include(好得多)。

+0

謝謝,那就解釋一下。好工作我偶然發現了試錯的正確解決方案。 但似乎把加載的第一頁中包含所有js的沉重負擔,即使它並不需要全部。 我想有人會告訴我有一種方法,只有在需要時才加載js文件。 – RobC

+0

我剛剛閱讀了一些我之前應該完成的文檔介紹。我現在使用'data-ajax =「false」'來停止頁面2的Ajax加載,這意味着我可以減小頁面1加載的大小,這正是我想要的。 – RobC

+0

是的,您還應該添加該屬性;) –