我有一个页面(http://myflashpics.com/picture/p9e0),侧面有一些用户信息,侧面有小缩略图。现在正在做的是链接到一个完全不同的页面,边栏也会重新加载。我想知道是否有可能更改图片,评论部分,标题以及URL,因此如果用户想要链接到任何地方。只刷新页面的一部分并更改URL? jQuery的?这可能吗?
这可能是不可能的 - 但如果是这样,我甚至不知道从哪里开始使用谷歌搜索,甚至开始了解这将如何工作。
所有的答案赞赏!链接和源代码也不错。
我有一个页面(http://myflashpics.com/picture/p9e0),侧面有一些用户信息,侧面有小缩略图。现在正在做的是链接到一个完全不同的页面,边栏也会重新加载。我想知道是否有可能更改图片,评论部分,标题以及URL,因此如果用户想要链接到任何地方。只刷新页面的一部分并更改URL? jQuery的?这可能吗?
这可能是不可能的 - 但如果是这样,我甚至不知道从哪里开始使用谷歌搜索,甚至开始了解这将如何工作。
所有的答案赞赏!链接和源代码也不错。
在支持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这个任务中。
请参阅[History.js项目](https://github.com/balupton/History.js),以获得支持'pushState'并仍然优雅地降级的库。 – 2011-04-24 04:45:47
如有疑问(如果涉及javascript)jQuery它! – afuzzyllama 2011-04-24 04:29:41
总之,你不能改变URL无需重新加载的页面,但你可以使用AJAX来加载新数据广告,如果页面已更改。您也可以通过在地址栏中的“#”后面更改任何内容来跟踪历史记录。一个实现此功能的网站的好例子是grooveshark.com
而不是像这样使用:http://mydomain.com/picture/randomstring图片,我应该将其转换为这样的mod_rewrite:http://mydomain.com/picture/#/short字符串,所以它会使用location.hash? – iosfreak 2011-04-24 04:30:43
你可以简单地使用ajax来做到这一点。如果您需要更改网址,请使用Javascript更改location.hash
属性。
你在找Ajax吗? – 2011-04-24 04:10:34
当然...从来没有真正与它合作,所以我不知道。 – iosfreak 2011-04-24 04:27:51