【问题标题】:Javascript behavior on page refresh页面刷新时的 Javascript 行为
【发布时间】:2009-12-02 16:57:06
【问题描述】:

当您在网页上进行软刷新时,Javascript 的预期行为是什么?

我知道,当您刷新页面时,大多数 Web 浏览器都会保留在页面上的表单元素中输入的值。但是当页面的一半是动态生成时,预测刷新时会发生什么变得更加困难。

不过,我的问题比这更笼统一些。我想知道当页面刷新动态内容时,Web 浏览器的规定行为是什么。特别是:

  • 什么 Javascript 会重新运行。
  • 刷新时如何更改 DOM。
  • 刷新后表单值如何“浮动”到 DOM 中的适当位置。
  • 还有什么奇怪的事情发生?

【问题讨论】:

    标签: javascript dom refresh


    【解决方案1】:

    如果您通过单击链接或在导航栏中输入 URL 来离开页面,一些浏览器会尝试暂停该页面并在用户返回后恢复该页面。这种技术有不同的名称:

    对于页面,它看起来好像用户从未离开过它。但是,并非所有页面都可以暂停。尤其是带有插件的页面、使用 HTTPS 提供的页面以及所有带有 unload 事件处理程序的页面都会被页面缓存忽略。

    如果不使用页面缓存,则从服务器重新加载页面。浏览器可能会填写表单字段并恢复滚动位置。

    【讨论】:

      【解决方案2】:

      重新加载 = 完整的重新请求。 (shift + reload = 从服务器重新加载所有 js 和 css 文件)

      浏览器还可能记住 name="" value="" 对,并尝试根据记住的对预先填充字段。这不是试图准确地填充像素中的字段或其他内容。

      我在开发时一直刷新页面,所有的javascript都重新运行,好像页面重新加载一样。由于记住的值,我不相信更改事件会在页面中启动。

      对于 firefox 也是如此 -> 此框架 -> 重新加载或 IE 右键单击​​框架并重新加载。

      Chrome 不允许单帧重新加载。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-16
        • 2014-01-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-19
        相关资源
        最近更新 更多