<!—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/