环境是 Windows10 20h2,用的 Chrome 86,已经暂停了广告拦截器扩展
当网页不可见时,广告倒计时就停止减 1 了(虽然声音表示广告暂时还在继续,但是播放几秒后就不继续播放广告了,切回去,视频区域为黑屏状态)
然后我用扩展想屏蔽对网页可见性的检测,但是没有效果。请问还有什么原因吗?
扩展的的主要代码:
!function () {
// 需在 网页 js 环境中运行的代码
let code = function () {
// visibilityState 、hidden 状态
Object.defineProperty(document, 'visibilityState', {
configurable: false,
writable: false,
value: 'visible',
});
Object.defineProperty(document, 'hidden', {
configurable: false,
writable: false,
value: false,
});
// 拦截检测可行性的事件
for (let eventName of ["visibilitychange", "webkitvisibilitychange"]) {
window.addEventListener(eventName, function handle(e) {
e.stopImmediatePropagation();
e.preventDefault();
}, true);
}
};
// 嵌入 js 代码
let script = document.createElement('script');
script.textContent = '(' + code + ')()';
(document.head || document.documentElement).appendChild(script);
script.remove();
}();
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.