首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >另一个“如何在不离开网页的情况下更改URL”

另一个“如何在不离开网页的情况下更改URL”
EN

Stack Overflow用户
提问于 2012-01-18 21:04:25
回答 4查看 576关注 0票数 1

我正在创建一个网站,它使用jquery滚动作为导航的方法,从不离开一个单独的html页面。

我注意到一些网站可以更改网址,并查看了帖子/答案(例如How does GitHub change the URL without reloading a page?Attaching hashtag to URL with javascript),其中提到这些更改要么是推送状态,要么是AJAX脚本,要么是历史API's (所有这些我都不太了解)。

目前,我正在研究哪种方法最适合我的网站,并一直在寻找一些我喜欢的例子。

我的问题是,为什么下面的网站在更改URL的路径中使用/#/。我问这个问题的唯一原因是,我越来越多地在jquery重型网站上看到这种情况。

http://na.square-enix.com/ffxiii-2/

http://www.airwalk.com

如果有人能简单地说明一下这些人是用什么来做这件事的,我将非常感激,这样我就可以创建自己的脚本了。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-01-18 21:37:07

我的问题是,为什么下面的网站在更改URL的路径中使用/#/

如果我们将无知的可能性放在一边,那么:因为他们愿意接受the horrible drawbacks,以换取它在Internet Explorer (不支持the history API)中工作。

Github采取了一种明智的方法,如果历史API可用,则使用历史API,如果历史API不可用,则回退到服务器,而不是生成在没有JavaScript的情况下将断开的链接。

票数 1
EN

Stack Overflow用户

发布于 2012-01-18 21:11:21

http://probablyinteractive.com/url-hunter

这有一个关于如何用javascript改变url的很好的例子。

票数 0
EN

Stack Overflow用户

发布于 2012-01-18 21:12:11

我自己还没有试过,但读了很多关于History.js的评论/意见

它应该像你说的那样有"# in the path“选项(对于旧的--不兼容的--浏览器)和像facebook一样直接改变URL。此外,当您单击back按钮时,您将不会有任何问题地转到前面加载了AJAX的页面。

我已经实现了这样一个特性(可更改URL的AJAX选项卡),但是如果您想在要动态加载的页面上使用其他javascript,我不建议您使用AJAX加载的页面,因为当您使用AJAX加载内容时,内容中的JavaScript将不会被执行。

所以我投票给HistoryJS或者制作你自己的模块。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8910565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档