javascript - Chrome 在我的 iframe 中限制了 requestAnimationFrame 之类的东西
问题描述
我们提供了一个可嵌入的配置器,客户端可以通过 iframe 添加它。它们通过 JavaScript API 与 iframe 交互。
在某些集成中,Chrome 在某些情况下似乎会限制 iframe。当客户端将配置器预加载到隐藏的“div”中时,通常会发生这种情况(但不限于此)。
通过节流,我的意思是 Chrome 会减慢一切。网络请求、requestAnimationFrame、requestIdleCallback 等。减速可能是 100 毫秒,但有时也是 10 秒。
当用户点击 iframe 时,节流结束,一切都按预期运行。
我们试图指示 Chrome 不应在 JavaScript 的帮助下限制 iframe。
我们尝试了类似iframe.contentWindow.focus()
或的东西,iframe.contentWindow.click()
但这不是很可靠。这适用于某些集成,而其他集成则无效。
是否有可能告诉 Chrome 某些 iframe 是不应限制的受信任 iframe?理想情况下是一些 JavaScript。在我们的案例中,浏览器设置不起作用,因为配置器的用户是浏览网站/网上商店的最终消费者。
解决方案
我认为这是你需要的:
浏览器的可见状态与其实际可见性(通过 CSS 处理)无关。可见状态用于定义浏览器所需的资源级别。如果可见状态设置为 true,则意味着浏览器应该优先于渲染和处理其内容所需的资源。相反,如果其可见状态设置为 false,则它对所需资源的优先级较低。
https://developer.mozilla.org/en-US/docs/Mozilla/Gecko/Chrome/API/Browser_API/setVisible
推荐阅读
- javascript - 有虚构的中间填充
- php - JQuery/Ajax 的多个数据表大小问题
- enterprise-architect - Enterprise Architect SynchTaggedValues 不起作用
- cassandra - cassandra nodetool:无法连接到“127.0.0.1:7199”
- visual-studio - Visual Studio - 每当我打开 Visual Studio 2017 时,NuGet 包都会不断被删除或删除
- mysql - 简单的 PIVOT 查询引发错误消息
- php - 打开服务器致命错误内存不足
- ios - 领域是否支持 iOS 中的 LIMIT 查询?
- laravel - 如何强制一个独特的规则忽略给定的 id?
- android - 在 Android 复合视图中不接受来自 xml 的 onclick