Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 另一个";如何在不离开网页的情况下更改URL“;_Javascript_Jquery_Ajax_Url - Fatal编程技术网

Javascript 另一个";如何在不离开网页的情况下更改URL“;

Javascript 另一个";如何在不离开网页的情况下更改URL“;,javascript,jquery,ajax,url,Javascript,Jquery,Ajax,Url,我正在创建一个网站,它使用jquery滚动作为导航方法,从不留下一个html页面 我注意到一些网站能够更改URL,并查看了帖子/答案(如和),这些帖子/答案指的是推送状态、AJAX脚本或历史API的更改(所有这些我都不太熟悉) 目前,我正在研究哪种方法最适合我的网站,并一直在寻找一些我喜欢的例子 我的问题是为什么下面的网站在更改URL的路径中使用/#/。我问这个问题的唯一原因是,我越来越多地在jquery网站上看到这一点 如果有人能简单地解释一下这些家伙用什么来做这件事,我将不胜感激,这样我

我正在创建一个网站,它使用jquery滚动作为导航方法,从不留下一个html页面

我注意到一些网站能够更改URL,并查看了帖子/答案(如和),这些帖子/答案指的是推送状态、AJAX脚本或历史API的更改(所有这些我都不太熟悉)

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

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


如果有人能简单地解释一下这些家伙用什么来做这件事,我将不胜感激,这样我就有可能创建自己的脚本

这是一个关于如何使用javascript更改url的好例子


这是一个关于如何使用javascript更改url的好例子

我自己也没试过,但读了很多关于它的评论/意见

正如你所说,它应该有“#in the path”选项(对于旧的——不兼容的——浏览器)和类似facebook的直接更改URL。另外,当您点击后退按钮时,您将毫无问题地进入上一个加载AJAX的页面

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


因此,我投票支持HistoryJS或制作您自己的模块。

我自己也没有尝试过,但阅读了很多关于HistoryJS的评论/意见

正如你所说,它应该有“#in the path”选项(对于旧的——不兼容的——浏览器)和类似facebook的直接更改URL。另外,当您点击后退按钮时,您将毫无问题地进入上一个加载AJAX的页面

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


因此,我投票支持HistoryJS或制作您自己的模块。

好吧,他们使用锚定“#”,因为他们需要区分站点中多个可书签/浏览器导航的位置,同时仍然将所有内容放在同一页面上。通过添加类型为/mySamePage.html#page1、/mySamePage.html#page2的浏览器历史事件,当用户执行某些操作时,Ajax会在当前html页面中加载某些内容,这样做的优点是(很明显)仍然保留在当前页面上,但同时用户可以将特定内容添加到书签中,在他的浏览器上按back/forward可以区分不同的Ajax加载内容


这不是一个坏把戏,唯一的问题是搜索引擎优化。谷歌有一个很好的页面来解释这一点。好吧,他们正在使用锚“#”,因为他们需要区分站点中多个可书签/浏览器导航的位置,同时仍然在同一页面上拥有所有内容。通过添加类型为/mySamePage.html#page1、/mySamePage.html#page2的浏览器历史事件,当用户执行某些操作时,Ajax会在当前html页面中加载某些内容,这样做的优点是(很明显)仍然保留在当前页面上,但同时用户可以将特定内容添加到书签中,在他的浏览器上按back/forward可以区分不同的Ajax加载内容

这不是一个坏把戏,唯一的问题是搜索引擎优化。谷歌有一个很好的页面来解释这一点

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

如果我们将无知的可能性低估到其他选择上,那么:因为他们愿意接受在Internet Explorer(不支持)中工作的交换条件

Github采取明智的方法,如果历史API可用,就使用它,如果不可用,就退回到服务器,而不是生成没有JavaScript就会中断的链接

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

如果我们将无知的可能性低估到其他选择上,那么:因为他们愿意接受在Internet Explorer(不支持)中工作的交换条件

Github采取明智的方法,如果历史API可用,就使用它,如果不可用,就退回到服务器,而不是生成没有JavaScript就会中断的链接