2010-01-13 67 views
3

随着jQuery的我需要做这样的事情...如何使用箭头更改jquery中的页面?

用户将按照链接到我的社交网站上的用户照片库。照片将加载在页面上,并且与分页有关的照片的评论将在照片下。基本上这张照片和评论将是一个单独的页面,用AJAX加载,然后当用户按下左或右箭头键时,我想加载一个不同的照片/评论页面到页面中。

到目前为止,听起来很简单,我认为,但我想在加载新页面时在URL中添加内容。比方说,一个页面将会像这样在URL photos.php?user_id = 2342323 photo_id = 4234124当他们使用箭头加载下一张图片时,它应该改变为在#3523543上添加这样的内容,然后当用户复制/粘贴该URL它会在浏览器中加载正确的照片。

任何想法如何在jQuery中做到这一点?

回答

2

一个简单的jQuery keyup侦听器将足以填补该角色。

基本上,你需要一个浏览器怪癖,让您与

window.location = 'something'; 

重写URL无需重新加载页面的优势。然后你实现一个客户端监听器来创建结果永久链接。

-1

可能是最好有一个“共享此”链接(亚马逊等),具有正确的网址。

0

无法更改url(window.location)而不导致重新加载。不过,您可以将网址提供给网页中某处的新照片。

+0

我明白你在说什么,但是Facebook按我提到的方式做,当它将新图像加载到页面中时,它不会重新加载页面,但它会添加#然后是数字,每次更新一个新数字照片被加载进来。我认为myspace现在也做它 – JasonDavis 2010-01-13 21:16:20

+0

如果你将'window.location'加到当前URL加'#'(你也可以把东西放在#之后,这里是关键),浏览器将不会刷新,无论编译指示/缓存设置如何。 – 2010-01-14 00:59:31

-1

Facebook会这样做,我想。也许你可以看看Facebook专辑的来源,看看它是如何完成的,并将这个概念转化为jQuery?

+0

这正是创意来自何处。我已经在那里重新研究了很多代码,但我无法弄清楚它们是如何实现的,他们有自己的JS框架,这超出了我的技能 – JasonDavis 2010-01-13 21:17:32