我发现click()方法触发重定向后,浏览器的标签历史记录未得到维护。这给我带来了不便,我非常希望就此问题获得StackOverflow建议。
详细说明,请考虑按以下方式编码的page1a.html:
<a href="page2.html">Redirect to Page 2</a>
[当用户在新标签页中打开page1a并单击“重定向到第2页”链接时,这将显示page2.html的内容-毫无意外。此外,正如预期的那样,浏览器的后退按钮将被启用,并在单击后重新显示page1。
但是上面的page1b.html是“动态”版本,其行为却大不相同:
。没有历史。似乎该选项卡中page1b的短暂存在从未发生过。<a id="redirect" href="page2.html"></a> <script> document.onload = function () { document.getElementById("redirect").click(); }; </script>
在与上述相同的条件下运行page1b时,肯定会像以前一样显示page2,但是现在将启用浏览器的后退按钮not
我可以隐约地感觉到为什么这可能是浏览器方面的明智行为,但这引起了我极大的悲伤,因为我的应用程序的Page2版本包含大量的动态交互,有时可能会诱使用户按下后退按钮。我依靠能够在应用程序的page1版本中“捕获”“后退”意图,以便能够适当地处理此问题。
我在网络上找不到任何引用,并且开始怀疑我是否会在我选择的浏览器Chrome中遇到错误。而且,我可以发誓,事情不会一直这样运作。但是在Opera中进行的快速测试似乎显示出相同的效果,因此我似乎误入歧途了。
如果错误确实是我的错误,我将非常感谢任何能告诉我我要去哪里的人。或者,如果确认这是设计行为,那么有人可以建议如何修改吗?我发现click()方法触发重定向后,浏览器的标签历史记录未得到维护。这给我带来了不便,我非常想获得关于此问题的StackOverflow建议。 ...
document.getElementById("redirect").click();