【问题标题】:How does document.open affect history?document.open 如何影响历史?
【发布时间】:2012-11-21 11:01:49
【问题描述】:

我不明白replace 的论点是做什么的。来自文档:

可选。如果设置,新文档的历史条目会从打开此文档的文档继承历史条目

不是说没有replace,新打开的文档会连同它的状态一起被添加到历史记录中吗? 这就是我打开它的方式:

var newDoc = document.open("text/html");
newDoc.write(file);
newDoc.close();

基本上我想要的是让历史按钮记住这些。我一直在使用 history.js,想知道这是否可以节省我一些时间。

【问题讨论】:

    标签: javascript dom browser-history


    【解决方案1】:

    您似乎引用了w3schools,即not very reliableMDN documentation page 甚至没有提到那个参数,W3C specification 声明 document.open 不接受任何参数(甚至你作为第一个参数传递的内容类型也不接受)。因此,传递 replace 的值并不能跨浏览器工作。

    话虽如此,我从引用的摘录中理解的与你所说的完全相反:如果你通过true,新页面将继承开启者文档的历史;如果你不这样做,它会启动一个新的历史线程。有意义吗?

    【讨论】:

    • 它确实有意义,但实际上并没有这样做,它对历史完全没有影响。但是感谢您通知我有关 w3fools 的信息,我不知道!
    • 那我猜你用pushState/replaceState会更安全。
    • document.open 的这些其他变体现已记录在 MDN 上,但请注意它们已被弃用:developer.mozilla.org/en-US/docs/Web/API/Document/open
    猜你喜欢
    • 2018-10-28
    • 2019-05-08
    • 2015-02-05
    • 1970-01-01
    • 1970-01-01
    • 2012-06-09
    • 2010-12-08
    • 1970-01-01
    • 2014-09-26
    相关资源
    最近更新 更多