業務的Web應用程序,我需要爲我們的公司將使用摺疊式菜單(如jQuery UI的手風琴)。阿賈克斯負載:意見要求
我想用jQuery的鏈接點擊事件手風琴菜單,並與阿賈克斯.load速記動態加載的內容。 目前我正在處理一個內部對話,其中有人提到Ajax比普通的瀏覽器請求慢。
現在我的問題是:這是真的,考慮到:
- 手風琴狀內容的加載時間應該快(/ CSS /手風琴/頭開頭只加載一次的所有腳本);
- Ajax請求不影響任何服務器操作的性能;
如果我真的可以使用瀏覽器請求 - 它真的會更快嗎?
似乎非常不直觀,使用手風琴使用它作爲只是顯示在每個頁面刷新靜態元素。
我以前建造的原型,使用Ajax負荷加載HTML和JavaScript的div容器,它加載速度作爲一個正常的瀏覽器將請求。
每個AJAX負載請求通常會比一整頁的請求,這通常也意味着更快有較少的從服務器每次下載(只要你真的只是獲取你所需要的內容,而不是整個頁面更小並在'load()'中抓取它的一部分。還有*感知的*表現要考慮;在單頁面/ AJAX應用程序中,容器頁面將首先渲染,然後是動態內容。用戶越早看到他們越快樂。 –
這是我的疑問:「不是整個頁面,並搶得負載()內的某些部分」 如果我取了可以使用插件和jQuery腳本PHP頁面,會發生什麼?在我製造的原型中,我沒有注意到任何性能損失。 由於HTML和腳本加載到DOM,他們也每輛集裝箱裝載有新的內容(所以DOM不會在這個意義上生長)及時更換。 – Trace
對於初學者來說,「一個瀏覽器請求」== GET,這是'.load()'在幕後用'new XMLHttpRequest()'做的事情。不同之處在於,您的ajax請求可以與頁面的「主流」並行運行,而不是單個同步負載。我沒有看到它的任何缺點。就動態加載的頁面上的腳本而言:即使將它們添加到腳本標記中,它們仍將被緩存(作爲所提取的HTML頁面的一部分),假設您不設置「cache:false」明確。 – Johan