2010-11-24 57 views
0

背景輪詢VS隱藏的iFrame阿賈克斯歷史

在URL哈希變化和固定的前進/後退按鍵的檢測是與阿賈克斯的歷史處理庫中的兩個要求。有兩種思想來實施這些圖書館。您可以讓輪詢人不斷檢查URL(錯誤的瀏覽器沒有onHashChange事件)。或者您可以使用隱藏的iFrame在瀏覽器歷史記錄中添加點。有人可能會認爲隱藏的iFrame比輪詢更好,但隱藏的iFrame不會更新外部瀏覽器的URL。因此,如果用戶想要在Web應用程序中分享其當前狀態,她總是會分享她的初始狀態。

問題

是否有阿賈克斯歷史上的任何技術,既不需要查詢,也更新了主瀏覽器的網址是什麼?

+0

輪詢解決了什麼問題?你是否試圖解決用戶手動在當前URL上添加散列標識符的情況?這種情況多久發生一次? – 2010-11-24 00:24:35

+0

下面是一個例子:用戶點擊一個按鈕。 onClick處理程序更新散列值。用戶點擊後退按鈕。現在哈希值已被恢復。 IE6/7沒有onHashChange,所以當用戶點擊前進/後退時,您需要輪詢window.location以進行更改。 – JoJo 2010-11-24 04:21:52

回答

0

這兩種技術的組合如何?更改網址,以及使用iframe。忽略hashChanged(在良好的瀏覽器上),並且只是解析dom上的哈希碼:準備好

-1

從原始問題看我的意見,我建議使用iframes方法用於IE併爲其他瀏覽器進行輪詢。

退房Real Simple History如果您正在尋找專門處理這一問題的圖書館,並且您希望有一個基礎來幫助推出自己的圖書館。

如果您只是在Ajax用戶界面中尋找保持頁面狀態的功能,則dojo通過dojo.hash()墊片支持此功能。此方法爲不支持它的瀏覽器創建onhashchange事件,並管理後退按鈕的狀態。它根據瀏覽器使用輪詢和內聯框架的混合(iFrames在IE版本< 8中特別使用)。