只刷新页面的一部分并更改URL? jQuery的?这可能吗?

时间:2011-04-24 04:07:03

标签: javascript jquery ajax

我有一个页面(http://myflashpics.com/picture/p9e0),侧面有一些用户信息,侧面有小缩略图。它现在正在做的是链接到一个完整的不同页面,侧边栏也重新加载。我想知道是否可以更改图像,评论部分,标题以及URL,以便用户想要在任何地方链接到它。

这可能是不可能的 - 但如果是这样的话,我甚至不知道从哪里开始谷歌搜索,甚至开始理解这将如何运作。

所有答案都表示赞赏!链接和源代码也很不错。

4 个答案:

答案 0 :(得分:3)

在支持HTML5的浏览器中,您可以使用window.history.pushState执行AJAX部分加载页面,但仍然可以完全更改页面的URL。这就是GitHub使用的内容(请参阅更多信息以及在their blog post, The Tree Slider展示该技术的视频)。 Dive Into HTML5 History API page上有关于该主题的一些很好的信息。

在不支持HTML5的浏览器上,您必须使用location.hash(如果您需要可链接的URL)或者不使用AJAX(并坚持使用当前的实现) 。我在uses jQuery这个任务的营地。

答案 1 :(得分:2)

答案 2 :(得分:1)

简而言之,您无法在不重新加载页面的情况下更改URL,但如果页面已更改,您可以使用AJAX加载新数据广告。您还可以通过更改地址栏中“#”后面的任何内容来跟踪历史记录。实现这一目标的网站的一个很好的例子是grooveshark.com

答案 3 :(得分:1)

你可以简单地使用ajax来做到这一点。如果您需要更改网址,请使用Javascript更改location.hash属性。