Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.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_Url Rewriting - Fatal编程技术网

使用javascript更改url而不刷新页面

使用javascript更改url而不刷新页面,javascript,url-rewriting,Javascript,Url Rewriting,可能重复: 大家好 我有一个href链接列表(but1-but4),我可以点击。数据被预加载并存储为JSON。单击链接时,我想更改URL,例如fakeURL.com->fakeURL.com/but1 我知道这可以通过使用window.location.hash函数来完成,但我更喜欢直接修改url 这方面的一个例子是github(),如果单击存储库中的一个文件夹,url会发生变化,文件夹也会被加载(通过AJAX,虽然略有不同,但如果我了解他们的解决方案,我可以根据自己的情况进行修改) 你知道怎

可能重复:

大家好

我有一个href链接列表(but1-but4),我可以点击。数据被预加载并存储为JSON。单击链接时,我想更改URL,例如fakeURL.com->fakeURL.com/but1

我知道这可以通过使用window.location.hash函数来完成,但我更喜欢直接修改url

这方面的一个例子是github(),如果单击存储库中的一个文件夹,url会发生变化,文件夹也会被加载(通过AJAX,虽然略有不同,但如果我了解他们的解决方案,我可以根据自己的情况进行修改)

你知道怎么做吗

谢谢, djs22


编辑:我更喜欢比html5 history.pushState更健壮的解决方案。

不可能更改url。这将是一个巨大的安全漏洞。我在github上找不到任何ajax,页面会重新加载,并显示一个新的url。url中唯一可以用javascript更改的部分是哈希部分。

确定吗?看起来只有文件结构正在重新加载?有没有直接测试的方法?您可以使用firebug(firefox的插件)查看ajax请求及其响应等。它清楚地表明在github上浏览文件夹时没有ajax请求。@djs22:github使用
历史记录。pushState
(在支持它的浏览器中)。如果您不想使用散列,那么就没有其他方法了。@TheQ:您是否碰巧使用了Firfox 3.6?;)我当然是。我想这是不支持历史的。那么说:)@Michael,谢谢!这正是我想要的。