2009-11-10 25 views
2

這是較早的問題,我問,在這裏延伸:在頁面中包含HTML片段 - 方法?

Django - Parse XML, output as HTML fragments for iFrame?

基本上,我們正在尋找各種HTML片段整合到一個頁面。我們有一個小型的網絡應用程序,可以在不同的URL上爲不同的結果/小工具生成很少的片段。這不是與主頁面在同一個域上。

我想知道什麼是將這些納入主頁面的最佳方式?我們還需要使用主頁面中的CSS來清理HTML片段。

我最初的想法是iFrames,但是,我認爲這樣做的表現可能不是很好,並且對包含片段的CSS/JS操作存在限制。

SSI是一個更好的主意嗎?或者我們應該使用PHP包括?還是JS?還有其他建議嗎?兩個主要考慮因素是主頁面的性能以及樣式/操作包含片段的能力。

乾杯, 維克多

回答

0

這聽起來類似於Facebook平臺的應用程序做。一種簡單地使用IFRAME s,另一種從後端獲取輸出並對其進行轉換 - <fb:whatever>擴展元素,執行JavaScript以及按鈕等事物。你可以看看他們的例子。

使用IFRAME s可能會使事情變得複雜。默認情況下,你不能從外部框架修改它們內部的樣式,但你可以使用類似Google Closure's net.IframeIo的東西來解決這個問題。

我會嘗試使用cross-domain scripting加載小部件。然後,您可以將窗口小部件的內容添加到頁面,無論您希望如何將其插入到DOM中。

0

iFrames不應該成爲性能方面的問題 - 它不會影響瀏覽器是否正在查詢我們的服務器。雖然你可能會遇到設計問題。 SSI和PHP差不多,但它們都有相同的問題:如果源頁面關閉,整個頁面的渲染就會延遲。

性能最好的東西就是緩存的PHP解決方案,它可以讀取代碼段,因此不易受到中斷的影響。有趣的是,我已經爲此寫了一個基於PHP的工具,而我爲它編寫的公司已同意將它作爲開源發佈。不過,至少還需要四個星期,直到我開始打包並設置文檔。儘管有時間讓我知道,那麼您是否應該對此感興趣,我會保持更新。