我所拥有的是一个MVC框架,我通过JavaScript和jQuery操纵DOM。这在某种程度上是对这个问题的无声引用。通过MVC,如果我进入
domain.com/page/
我进入一个默认的页面,里面有最近的信息、更新等。但是在MVC中,如果我点击
domain.com/page/ref1/ref2/ref3
我们可以在后端处理它来做我们想做的事情。当它直接变成。所以这个问题的想法是,我能模拟跨浏览器的行为至少到IE 6/7+, Firefox 3。x +, Chrome。通过模仿,我的意思是像操纵DOM本身一样操纵URL/URI。这样,当有人通过我们操作DOM的方法导航到各个部分时,他们所要做的就是进入浏览器的URL栏,然后复制并粘贴到消息中。
如果有一种方法可以与浏览器上的来回历史记录按钮一起工作,那就更好了。
你试过了吗
window.location.replace(URL)
这个函数不加载任何页面。如果您像这样更改当前位置,当您重定向到某处时,您的最后一个地址将是未修改的地址。它不会将新的URL写入浏览器历史记录。这就好像你给了用户想要分享的内容的钥匙。
您考虑过修改URL中的锚吗?在此页面上:
http://www.google.com/将URL更改为:
http://www.google.com/foo
…不会触发页面刷新。所以你可以使用(读取/修改)URL的内容后,你想要的锚和页面不会被重新加载。应该能以这个想法为基础