Javascript 是否可以在不使用页面刷新窗口的情况下使用斜杠(/)而不是哈希(#)?

Javascript 是否可以在不使用页面刷新窗口的情况下使用斜杠(/)而不是哈希(#)?,javascript,jquery,url,Javascript,Jquery,Url,我使用“window.location.hash”将“#something”添加到URL,而不刷新页面 我想知道如何使用斜杠(/)而不是散列(#) 为什么??我有导航选项卡,我使用jQuery和Ajax动态加载数据。启用javascript后,会在URL末尾添加“something”以获取数据。禁用javascript时,它会重定向到“/something”。所以我想为两者伪造相同的URL 而不是http://site.com/section#something->http://site.com

我使用“window.location.hash”将“#something”添加到URL,而不刷新页面

我想知道如何使用斜杠(/)而不是散列(#)

为什么??我有导航选项卡,我使用jQuery和Ajax动态加载数据。启用javascript后,会在URL末尾添加“something”以获取数据。禁用javascript时,它会重定向到“/something”。所以我想为两者伪造相同的URL

而不是
http://site.com/section#something
->
http://site.com/section/something

谢谢。

为什么不部署


它确实以
。/#/section/something
的形式为您提供URL,这应该是您所需要的。它广泛用于许多Flash/AJAX网站的搜索引擎优化考虑。

你可以在你想要的哈希之后使用任何组合,但是你的问题的答案是,如果不重新引导用户,你就无法做你要做的事情

能够在不重新定向的情况下使用URL在某些级别上是一个安全问题(你也可以更改域吗?为什么不?…看看这个兔子洞在哪里?)。例如,通过JavaScript将URL更改为:
http://www.mybank.com
(为什么我的银行不使用SSL?坏银行,坏!)将是钓鱼者的梦想……所以浏览器根本不允许像这样弄乱URL……除非真的带你去那里。

看看。基本上,它允许您执行以下操作:

history.pushState({}, 'New Title', 'new_page.html');
这会更新历史记录和位置栏,但不会实际加载页面。这就是你想要的,但它是HTML5的一部分,目前很少有浏览器支持它。坚持使用哈希是一个更好的主意。

History.pushState(请参阅@Casey帖子中的链接,或)出现在最新版本的Safari和Firefox中,Modernizer 1.5现在测试浏览器对它的支持。我今天刚开始玩这个,它看起来正是你想要的


我意识到这对旧浏览器没有帮助;那里仍然需要某种window.location.hash技巧。

为什么不试试
http://site.com/section#/something/anotherthing
否。请参阅