2012-12-06 16 views
0

當我通過iframe或通過調用json數據的ajax調用加載格式化元素並讓javascript將其放入html設計中時,會有任何性能差異嗎?我傾向於看看主要網站是如何做的,我注意到ebay使用了很多iframe。在主頁上有四個iframe,其中一個很明顯,因爲它是一個廣告。iframes與ajax之間的性能差異(JSON)

此外,在iframe中,我無法訪問父級的JavaScript文件,儘管它位於同一個域中,因此在iframe中我必須再次加載.js文件。我想知道這是一個技術問題還是XSS方面的安全預防措施,因爲它在同一個域中,所以它仍然很奇怪......例如jQuery的.js發行版文件,我必須在父代和iframe中加載它。瀏覽器會使用父級的緩存版本還是下載整個.js文件?

+0

如果您返回'json'數據類型,Ajax可以更快。 與'iframe'你正在加載一個整頁更多的開銷。 – Ibu

回答

0

這實際上是一些問題。

首先我會解決整體速度: 簡答:它取決於。這裏有很多因素。 Ajax方法 - 從服務器加載數據的速度可能更快,顯示客戶端的速度更慢。 IFrame方法 - 可能較慢從服務器加載,更快地顯示客戶端。

我認爲廣告使用iframe的趨勢更多的是與安全問題和整體設計要求有關。

在iframe中,如果它從與父項相同的域加載,則應該可以執行parent.$parent.jQuery。見this question

緩存引入了一個完整的額外層。緩存可能會發生,儘管它甚至取決於瀏覽器設置或代理設置。

+0

謝謝,通常我使用ajax json,但對於ebay的一個元素源代碼,我傾向於使用iframe。我現在將它改爲ajax來提高速度。 – bicycle

0

那麼它完全取決於數據/ html來自何處和從哪裏來。

如果html內容是來自cdn網絡或其他域的內容,並且您只想顯示鏈接的數據以及其他內容的所有工作功能,那麼在某個時間點iframe就是好的。

雖然要快速加載數據並提高性能,我認爲ajax功能將更受歡迎。