我正在使用chrome page prerendering:
<link rel="prerender" href="nextpage.html">
我的问题是,在nextpage.html上,我有一个JavaScript(notify.js(,它显示了几秒钟的通知弹出窗口。由于JavaScript是预制的,因此用户实际上从未看到该通知(它显示在"隐藏的Prerendered"选项卡中(。
有没有一种方法可以表明某个特定的JavaScript仅在实际页面显示上执行而不是在预渲染页面上执行?查看Chrome文档,我看到了一些有关"插件延期"的信息,但对JavaScript没有明确的说明。
我认为您可以推迟通知功能,直到页面可见可见API。
因此,基本上试图订阅可见的可见性事件,并在可见时进行必要的操作。也许您需要其他标志才能通知一次:
let alreadyNotified = false
document.addEventListener('visibilitychange', function() {
if (!document.hidden && !alreadyNotified) {
// run notification
alreadyNotified = true
}
})