首页 > 解决方案 > 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。在我们的案例中,浏览器设置不起作用,因为配置器的用户是浏览网站/网上商店的最终消费者。

标签: javascriptperformancegoogle-chromeiframe

解决方案


我认为这是你需要的:

浏览器的可见状态与其实际可见性(通过 CSS 处理)无关。可见状态用于定义浏览器所需的资源级别。如果可见状态设置为 true,则意味着浏览器应该优先于渲染和处理其内容所需的资源。相反,如果其可见状态设置为 false,则它对所需资源的优先级较低。

https://developer.mozilla.org/en-US/docs/Mozilla/Gecko/Chrome/API/Browser_API/setVisible


推荐阅读