ajax和哈希网址

时间:2012-11-02 14:39:47

标签: javascript ajax hash hyperlink

我有一个旨在使用ajax重新加载数据的网页。我的所有ajax都运行良好但我现在意识到我想跟踪你在页面上的位置,并且能够将人们链接到网站上的特定页面。

这是我正在谈论的网站:

www.stevenlebel.com

正如您所看到的,该页面由一个将新内容加载到屏幕中的电视组成。视频页面使用嵌入式Vimeo代码,音乐页面使用Soundcloud,图像使用Imugr画廊。我这样构建它的原因是允许我的朋友在没有我帮助的情况下更新他的页面。

所以我的问题是,我如何添加到URL的哈希链接 - 我也希望能够链接到页面上的某个视频,歌曲或图像,但我不确定这是否可以使用Vimeo / Soundcloud / Imgur。

有没有人有这方面的经验?

非常感谢,

凯蒂

奖励问题:有没有人知道如何删除.html所以当我使用哈希链接时,页面会说x / x /#whatever而不是x / x.html#whatever?

1 个答案:

答案 0 :(得分:2)

如果我正确理解您的问题,您需要HTML5历史记录API。你可以使用它的一些很酷的跨浏览器API,看看http://html5demos.com/history它是如何工作的。

您需要这些东西来跟踪您的位置。我认为你没有刷新页面并使用Ajax。

history.pushState事件,使用它推送任何数据,并在#

之后附加到url

history.popstate事件,使用后退/前进到弹出数据。

window.hashchange事件,如果您复制网址并将其打开到另一个网址或分享到任何地方。您将能够在#url中获取数据。

您可以尝试使用它的这些跨浏览器API。

https://github.com/browserstate/History.js/

https://github.com/devote/HTML5-History-API

祝你好运!