2009-05-22 183 views
5

我已经做了一个flex应用程序深层链接,但现在我想做一个ajax应用程序深层链接。Ajax深层链接?

我不知道从哪里开始。

我想我需要一种方式来监听URL中#hash发生更改并能够读取它的时间。我想我需要一种方法来更新URL中的#hash。

有谁知道该怎么做?

谢谢!

回答

6

你在正确的轨道上。

对于您希望能够链接到,改变散列标签的AJAX页面的每个状态:

window.location.hash = "this_state" 

页面加载后,您需要检查是否window.location.hash值匹配你的状态之一,如果它确实使应用程序进入该状态。 (“聆听”哈希标记的更改是页面加载。)

这样,您的用户可以收藏并共享状态,从而获得更多可用的应用程序,因此可以关注它。

+0

你说的有些作品,但是当我打的后退按钮哈希值发生变化,但网页不刷新所以我的脚本不知道。我认为这需要一些倾听哈希值的方法来改变。 – 2009-05-26 13:43:46

+0

是的,你是对的!在我的例子中,它在FF中正常工作,但在IE和Webkit中不同。什么会增加一个页面刷新?可能通过在每个状态更改时添加到window.history对象 - 添加不同的查询字符串以及哈希可能会这样做。否则,我想你可以经常轮询window.location:据我所知,没有onhashchange事件。 – edeverett 2009-05-27 14:56:23