在 Firefox 中,我想在当前选项卡中播放广告时转到另一个选项卡,但是当其选项卡失去焦点时,这个讨厌的东西就会暂停。
我想欺骗广告,让它相信它仍然具有焦点,并继续播放,这样我就不必等待它完成。
我怎样才能让 Firefox 选项卡错误地认为它仍然具有焦点?
您可以假设该页面正在使用所描述的技术这里.
window.onfocus
和window.onblur
可能被使用。我不记得我问这个问题时到底在哪里需要这个;这不一定用于欺骗广告。我正在寻找一个通用的解决方案。
答案1
由于您没有提供网站的详细信息,您可以尝试以下解决方案。
- 安装Greasemonkey 扩展允许您在您选择的网站上运行用户 JavaScript。
- 安装始终保持专注用户脚本。
脚本概要:有些页面会检查 document.hidden 属性,除非页面处于焦点状态,否则不会呈现内容。此脚本会诱使它们认为自己处于焦点状态,这样您就可以在选项卡中预加载它们,并在它们加载完成后访问它们。
- 在安装时(或稍后)根据需要为特定网站配置脚本。
答案2
Grease/Tamper-monkey 的答案在 Facebook 观看派对上不起作用,但是手动删除模糊事件处理程序适用于 Chrome 75:
在 Firefox 中使用 Inspector 也可以实现同样的效果:
答案3
您需要创建一个用户脚本。这些是在 Firefox(或 Chrome)中运行并操纵特定网站的 JavaScript。
诸如 Greasemonkey 之类的工具http://www.greasespot.net)可用于此目的。可能已经有一个可用的http://userscripts.org。
但是正如@harrymc 已经评论过的,示例 URL 会很有用。
答案4
我要回答你这个问题意义问。
您想要做的是,当您失去焦点时,让 Flash 在后台运行。这是基于 Flash 的空闲游戏的一个大问题,以下是 Adobe 的 Flash 管理手册中的一些内容,它们应该可以在您失去焦点时运行。
mms.cfg 文件位置 假设默认的 Windows 安装,Flash Player 会在以下系统目录中查找 mms.cfg 文件:
• 32 位 Windows - %WINDIR%\System32\Macromed\Flash
• 64 位 Windows - %WINDIR%\SysWow64\Macromed\Flash
您要做的是创建这个 mms.cfg 文件(您需要管理员访问权限,natch),其中包含以下几行:
保护模式=0
FullFramerateWhenInvisible=true
我记得禁用保护模式是必要的,即使其声明的目的是沙盒化 Flash 应用程序 - 无论出于什么原因,没有它,其他选项就无法工作。当然,YMMV - 先尝试不禁用保护模式 - 我已经很久没有在我的计算机上配置它了。
FullFramerateWhenInvisible 是一个选项,它使得 Flash 在窗口没有焦点时运行。
再说一次,这不是您提出的具体问题,但如果这不是正确答案,它至少会为您指明正确的方向。:)
参考:管理指南:http://www.adobe.com/devnet/flashplayer/articles/flash_player_admin_guide.html
帧率技巧:http://tukkun.webs.com/(目前在该网页上排名第三)