2013-05-07 18 views
1

我正在一個新的網站與jQuery的移動。JQuery手機javascript,param傳遞,css文件組織

有幾個具體問題。請提供具體的,適當的答案。我非常困惑,因爲JQuery Mobile在頁面間使用基於ajax的導航。假設我引用的頁面位於單獨的文件中。

  1. 我們應該如何組織javascript文件。是否應該在主頁上有一個JavaScript文件。或者,我們應該如何加載頁面特定的JavaScript。我覺得有點猶豫,把javascript放在body標籤中加載它。

  2. 將參數從一個頁面傳遞到另一個頁面的正確方法是什麼?儘管存在多個討論。沒有任何令人信服的答案。

  3. 我們應該如何組織CSS文件。非常困惑,因爲整個網站只有一個文件。

我不想禁用基於AJAX導航,因爲它可能會影響到performance.Thanks提前。希望這會有一些健康的討論。

回答

3

我的觀察將來自ajax仍然在,你不想把你的javascript/css放在頁面BODY

  1. 當AJAX是僅第一頁被加載到DOM,在每一個其它頁面僅BODY將被加載(無點在具有DOM內部幾個HEAD的) 。

    因此,您的JavaScript必須放置在第一個HTML。現在,只要在第一個HTML內初始化,就可以使用1個js文件或其中幾個文件。

    我有另一篇文章專門從事這項所以來看看:Why I have to put all the script to index.html in jQuery Mobile

  2. 我只會告訴你鏈接到我的其他回答關於這個話題,在那裏你會找到的例子幾種解決方案,搜索章節「頁面轉換之間的數據/參數操作」:jQuery Mobile: document ready vs page events

  3. 我對javascript所說的一切也在這裏反映出來。只要它們在第一個HTML文件中初始化,那麼使用多少css文件並不重要。

編輯:

我總是準備好一個健康的討論。 ;)

+1

感謝Gajotres。所以,我會把所有的腳本安排在一個js文件中。但是,我們應該如何加載頁面特定的腳本。是這樣嗎?$(document)。上( 'pageshow', '#YourPageID',函數(){ }); – user694688 2013-05-08 06:06:16

+2

你是對的。但我建議你使用pageinit來代替。每次訪問頁面時,pageshow都會觸發,而pageinit則用作文檔準備就緒。此外,使用pageinit,您不會遇到多個事件綁定的問題。所有這些都在我的答案中的一個鏈接中描述。 – Gajotres 2013-05-08 08:12:24