Ajax深度链接?

5

我之前做过一个flex app的深度链接,但现在我想做一个ajax app的深度链接。

我不知道从哪里开始。

我假设我需要一种监听url中#哈希变化并能够读取它的方式。而且我还假设我需要一种更新url中#哈希的方式。

有人知道如何做到这一切吗?

谢谢!

3个回答

6

你正在走上正确的道路。

对于想要链接到ajax页面的每个状态,更改哈希标签:

window.location.hash = "this_state"

当页面加载时,您需要检查window.location.hash值是否与您的状态之一匹配,如果匹配,则使应用程序进入该状态。 (“侦听”哈希标记的更改是页面加载。)
这样,您的用户可以收藏和分享状态,从而使应用程序更加易用,因此感谢您关注此问题。

你说的有点可行,但当我点击返回按钮时,哈希值会改变,但页面不会重新加载,因此我的脚本无法感知。我认为这需要一种监听哈希值变化的方式。 - JD Isaacks
是的,你说得对!在我的例子中,它在FF中运行良好,但在IE和Webkit中有所不同。如何强制刷新页面?可能通过在每个状态更改时添加到window.history对象 - 添加不同的查询字符串以及哈希可能会做到这一点。否则,我想您可以定期轮询window.location:据我所知,没有onhashchange事件。 - edeverett
有一个 jQuery 插件(http://plugins.jquery.com/project/history)可以管理窗口历史记录。 - BC.

2

0
如果您正在使用jQuery,您可能想要查看以下内容:
深度链接与jQuery Address插件

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接