对于具有历史记录的跨浏览器javascript重定向,有什么好的解决方案?

Tom*_*son 13 html javascript cross-browser

我目前正在通过以下操作与Google Chrome进行竞争:

location.href = url
Run Code Online (Sandbox Code Playgroud)
location.replace(url)
Run Code Online (Sandbox Code Playgroud)
document.location = url
Run Code Online (Sandbox Code Playgroud)
window.navigate(url) // doesn't work in Chrome/Firefox
Run Code Online (Sandbox Code Playgroud)
location.assign(url)
Run Code Online (Sandbox Code Playgroud)
window.open(url, '_self')
Run Code Online (Sandbox Code Playgroud)
window.location.href = url
Run Code Online (Sandbox Code Playgroud)

我已经尝试了所有,并且都不会添加历史记录条目.Google Chrome中是否有办法使用历史记录进行javascript重定向?

谢谢.


解释 我们有一个项目表,当点击该行时,我希望页面导航到指定的URL,如果有人有一个很好的解决方案,除了使用我们现在使用的onclick = send方法,请告诉我.


更新 似乎Stackoverflow它自己也有同样的问题.在主视图中,单击问题列表中的前3列之一(#answers等等),然后单击后退按钮,它将返回2页.

Jos*_*ola 6

虽然,我首先必须说这是Chrome表现得很愚蠢,你可能不应该担心它.尝试创建一个虚拟表单并使用GET方法并以编程方式提交它...

<form id="dummyForm" method="GET" action="#">
  <input type="hidden" name="test" value="test" />
</form>
Run Code Online (Sandbox Code Playgroud)

然后你的onclick ...

var frm = document.forms["dummyForm"];
frm.action = url;
frm.submit();
Run Code Online (Sandbox Code Playgroud)