javascript - Rel PreRender/PreFetch,是否执行JS?

标签 javascript preloading prefetch prerender

<!—Firefox Prefetching -->
<link rel="prefetch" href="http://www.example.com/page2.html">

<!—Chrome Prefetching -->
<link rel="prerender" href="http://www.example.com/page2.html">

如果我在页面上有 Javascript 来预呈现/预取(例如 Google Analytics JS),预呈现/预取会在页面上执行 Javascript 吗?还是它会延迟 JS 的执行,直到用户实际请求该页面?

最佳答案

我刚刚对此做了更多研究:

Prefetch 将加载顶级资源,通常只是 HTML 页面

Prerender 也将获取子元素,并将执行 Javascript 代码。使用页面可见性 API,我们可以确定加载页面的当前可见性状态。

所以答案是肯定的,只要用户在 Chrome 上并且正在使用预渲染,它就会执行 JS。此外,当前版本的 Google Analytics 充分利用了 Page Visibility API,因此统计数据不会出现偏差,但是很可能有很多代码由于未正确处理预呈现情况而导致其统计数据出现偏差。

关于javascript - Rel PreRender/PreFetch,是否执行JS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10603489/

相关文章:

python - 获取 Django 中所有唯一的 prefetch_lated 对象

python - 如何 prefetch_lated() 与对象相关的所有内容?

javascript - 如何在 MongoDB 中保存多行代码片段,检索并以 HTML 格式显示它们

javascript - Mockjax 可以处理来自 Json 文件的单个 ID Api

javascript - Chrome 图像预加载不适用于首次图像加载

c - 预加载静态链接的 C 符号

javascript - HTML:监听输入的*所有*变化,而不仅仅是键盘驱动的变化?

javascript - 如何调试 $(document).ready() 中包含的 javascript?

visibility - 如何为 Foundation 的 Orbit 图像 slider 预加载图像?

c++ - 如何让这个并行求和函数使用 vector 指令?