【问题标题】:Persistent DOM Object on Page Reload页面重新加载时的持久性 DOM 对象
【发布时间】:2014-06-05 20:11:36
【问题描述】:

这个问题可能看起来有点不合时宜,但实际上让我很难受。

Google Chrome 和 Opera 中的 DOM 对象实际上是 reload-transient。也就是说,如果您在 html 页面中创建文本框并刷新页面,则文本框中的信息会消失。而在 IE 和 Firefox 中,相同的 DOM 对象是reload-persistent。也就是说,文本框在刷新后会保留其值,除非编写了 javascript 代码来防止这种情况发生。

这 4 款浏览器在 Acid 3 测试中均获得了 100 分,但在这方面仍然存在差异。任何人都可以帮我弄清楚为什么实际上存在这种差异吗?是因为底层布局引擎(比如 Firefox 的 gecko、Opera 的 presto 等)还是浏览器设计者的意识形态?

这个问题实际上让我很难让我的网站与浏览器兼容,因为我的代码希望 iframe 中的隐藏字段在重新加载后保留其值。我的问题的详细信息已经写在这个stackoverflow link

这是我遇到的一个有趣的现象,如果有人能分享他们对此的想法,我会非常高兴。

非常感谢...

【问题讨论】:

    标签: javascript html google-chrome firefox browser


    【解决方案1】:

    如果文本框在 html 表单中,您可以使用表单的 reset() 方法将文本框恢复为默认状态。如果您使用的是 jQuery,您可以执行以下操作:

    $('form').each(function(index, formElement){
        formElement.reset();
    });
    

    【讨论】:

    • 嗨,实际上,我的问题更多地在于为什么会出现这种不一致,而不是如何重置 DOM 对象。
    猜你喜欢
    • 2014-07-13
    • 1970-01-01
    • 2022-07-28
    • 1970-01-01
    • 2014-11-18
    • 2021-11-07
    • 1970-01-01
    • 1970-01-01
    • 2020-01-30
    相关资源
    最近更新 更多