欺骗或禁用页面可见性API

19

页面可见性API (Page Visibility API) 被广泛用于在标签页不处于焦点状态时暂停强制播放的视频广告。

这意味着如果你要观看广告,但切换到其他标签页、应用程序或浏览器被覆盖,广告将会暂停并阻止你获取内容。

这非常烦人,但我找不到避免这种情况的方法。

是否有一种方法可以使用Chrome或Firefox扩展API禁用此API,以便在广告播放时可以做其他事情?


似乎无法在document的_webkitHidden_上使用defineProperty。您需要将其放入作用域中,其中已经有一个自定义的document_Object_。 - Paul S.
你的意思是Chrome扩展无法禁用页面可见性API吗? - aberaud
扩展程序肯定可以。请参见以下内容。 - Wyatt
1
这是此插件的Firefox版本:https://addons.mozilla.org/zh-CN/firefox/addon/disable-page-visibility/ - user14794939
2个回答

17
我为您编写了一个扩展程序,可以实现这一点。下载地址

我在此页面上测试过了它。

代码库在这里

如果您有任何问题,请告诉我。


1
非常感谢您的回答 :) 这个扩展程序今天还能用吗(在Chrome或Firefox上)?如果可以的话,您能否在回答中解释一下您的扩展程序是如何实现这个结果的? - aberaud

4

如果您想快速禁用visibilitychange事件一次,可以通过浏览器中的“检查元素”菜单来完成。

Chrome / Edge的步骤:

  1. 在浏览器中打开调试窗口(按F12)
  2. 转到“元素”选项卡。
  3. 选择代码顶部的<html>标签。
  4. 在样式面板中,打开“事件侦听器”选项卡。
  5. 在这里,您可以删除“visibilitychange”事件。现在,您可以切换选项卡或最小化窗口,网页不会注意到它。

Screenshot showing how to remove the visibilitychange-event, in Google Chrome


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接