2013-07-19 31 views
1

我需要實現一個頁面,其中很多部分都是動態小部件。加載哪些小部件取決於用戶的選擇,並且事先不知道。這些小部件中的每一個都包含一些HTML和一些JavaScript代碼(用於在HTML元素上初始化和附加事件處理程序)。我想知道什麼是實現這樣的頁面和小部件的最佳方法。什麼是小部件容器頁面的最佳方法 - Ajax或iframe?

  1. AJAX。我可以用一些HTML和<script>標記構建響應。儘管不推薦在AJAX中返回js代碼,但我發現這適用於我(腳本得到執行,HTML小部件已正確初始化並附加了處理程序)。另一種方法是在容器頁面中包含一個「全部包含」的腳本。在這個腳本中,我將每個特定於窗口小部件的腳本封裝在一個函數中,並且當這個窗口小部件被動態加載時,我調用該函數。但是,通過這種方式,我獲取了很多可能不會使用的js代碼。
  2. Iframe。我還可以將該小部件作爲獨立的HTML頁面加載到iframe中。這解決了JavaScript問題,但我需要跨域調用與容器頁面的其他部分進行交互。

我認爲這應該是Web開發人員面臨的一個常見問題。我是網絡開發新手,你能分享我的案例的一些'最佳實踐'提示嗎?

回答

1

你應該繼續使用jquery + ajax .. iframes有很多缺點。儘管你可以在單獨的頁面中處理每個插件,並避免任何衝突,但是usablitity將成爲一件非常頭疼的事情。

在所有基於HTML5的平臺支持移動平臺的時候,iframes很難爲手機屏幕進行調整。此外iframe中取出整個蘋果用戶的I幀不被蘋果設備支持..

的jQuery + CSS3與沿阿賈克斯(HTML5)應該着手的方式..

+0

謝謝!那麼我應該如何提供JavaScript?我應該在html之後的AJAX響應中返回它們嗎?或者將全部內容包含在全局腳本中? – NeoWang

相關問題