【问题标题】:overwrite, cancel or invalidate a prerendered page覆盖、取消或使预渲染页面无效
【发布时间】:2015-11-16 20:05:04
【问题描述】:

在 HTML 中你现在可以使用 prefetch,*prerender 像这样

<link rel="prerender" href="https://www.adorama.com/">

这会在幕后预渲染下一页 这在博客和电子商务列表页面中被大量使用以预渲染下一页..

但问题是,如果在预渲染成功运行之后,现在用户对页面进行了更改,从而改变了下一页(已经预渲染的页面)的行为方式。

我们如何使该预呈现页面无效,这样当我们第一次查看它时,它将请求一个新页面而不显示预呈现页面。

我们不想覆盖链接,因为我们想从客户端或 CDN 缓存中受益..

*(请参阅Yoav Weiss - Hinting the browser 的精彩讨论)

【问题讨论】:

    标签: javascript html prefetch prerender


    【解决方案1】:

    我现在能想到的唯一方法是在预渲染页面中有逻辑来检查page visibility API,我们可以检查是否visibilityState === prerender,然后在visibilitychangevisibilityState === visible 的事件我们可以检查存储的值(设置)是否仍然相同,如果不是,我们可以运行正确呈现页面所需的逻辑或简单地刷新页面.....

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-01
      • 1970-01-01
      • 2020-09-30
      • 2022-09-23
      • 2017-08-28
      • 1970-01-01
      相关资源
      最近更新 更多