2010-05-27 28 views
0

我正在尋找一種方法來實現ajax應用程序中的後退按鈕(沒有什麼不尋常的),因爲有大量的文章涵蓋了這個主題。跨域AJAX返回按鈕

但是...

當然,但也有許多限制。所以我還沒解決的問題就是關於IE6,7中的後退按鈕。更具體地說,它是關於後退按鈕,當你顯示從一個域到另一個域的信息(比如說鏈接)時,你可以只控制第二個服務器端。

這裏有一些更多的細節:

我有一個網站,在其數據庫中的信息。然後用戶(註冊的)可以複製一個javascript代碼並將其粘貼到他自己的網站中。 然後JavaScript從我的網站請求信息並將其顯示在用戶的網站上(該數據包含圖像,鏈接,文本等)。

當用戶點擊某些鏈接時,腳本會更改url片段標識符(document.hash),以便網站的所有狀態都可以收藏,並且您可以使用後退和前進按鈕。

這是偉大的,在大多數的瀏覽器新workds,但IE6不,7

的主要問題是,隨着IFRAME修爲IE6,7的解決方案並不在跨域情況下工作,因爲你不能寫入iframe。

好的,這是我最近想到的問題。其他人想加入?

PS: 我試過有兩個iframe--一個寫入另一個(它們來自同一個域)。

回答

0

看一看easyXDM,它將允許您在用戶粘貼的代碼和iframe中的代碼之間自由通信。只要看看這個例子http://consumer.easyxdm.net/current/example/methods.html

這個庫不需要改變任何'現代'瀏覽器(包括ie6/7)中的哈希片段,所以它不會創建歷史點 - 爲此,我建議使用適當的歷史庫。

+0

感謝您的幫助肖恩,但具有唯一的URL來標識應用程序的當前狀態是強制性的。 現在的問題是如何創建IE6,7的歷史點與跨域通信爲了回來和工作。 – moubi 2010-05-27 11:35:22

+0

這就是爲什麼我建議使用歷史管理員:)看看http://weblogs.asp.net/bleroy/archive/2007/09/07/how-to-build-a-cross-browser-history-management -system.aspx 這些工作都是通過放置一個隱藏的iframe來實現的,它會在導航時觸發事件 – 2010-05-27 15:11:39

+0

再次感謝Sean,我在一週前閱讀了這篇文章,但它沒有提供跨域返回按鈕的解決方案。所以我無法更新iframe,一旦我在其他域。 – moubi 2010-05-28 09:36:09