gpt4 book ai didi

javascript - 想要 document.open 创建一个新的历史元素,并返回到原始页面

转载 作者:太空狗 更新时间:2023-10-29 16:40:06 25 4
gpt4 key购买 nike

我正在使用 document.open() + write() + close() 从客户端创建一个新页面。这可行,但它会用新页面替换当前的历史元素,因此当用户单击返回时,他们看不到他们刚刚所在的页面。示例:

  1. 在主页
  2. 单击按钮导航至如下所示的页面。
  3. 点击该页面上的“点击我”按钮。
  4. 点击后退 - 这会将用户返回到我不想要的主页。

我试过使用 history.pushState() 插入历史元素,但这也不起作用。它允许 document.open 页面有一个新的 url。单击后退会将用户返回到我要显示的页面的 URL,但它仍然是“新页面”。

下面是完整的 HTML 页面代码。这种类型的示例在 fiddle 中不起作用,但可以在本地进行测试。

<html>
<body>
<button onclick="clickme()">Click me</button>
<script>
function clickme() {
history.pushState(null, null, "Results/");
document.open("text/html");
document.writeln("New Page");
document.close();
}
</script>
</body>
</html>

注意:寻找具有跨浏览器支持的解决方案,包括最新的 Chrome 45,它可能稍微加强了安全性。

最佳答案

我确实找到了解决方法,但仍然不是我想要的。

function clickme() {
results = window.open();
results.document.writeln("New Page");
results.document.close();
}

这显然会使一个全新的选项卡/窗口显示结果,而不是在当前选项卡的历史记录中显示一个新页面。这在手机上几乎是一样的,因为返回会将您带到原始页面,但在桌面浏览器上则不然。

关于javascript - 想要 document.open 创建一个新的历史元素,并返回到原始页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32416224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com