Chrome регулирует такие параметры, как requestAnimationFrame в моем iframe - PullRequest
1 голос
/ 29 марта 2019

Мы предоставляем встраиваемый конфигуратор, который может быть добавлен клиентами через iframe.Они взаимодействуют с iframe с помощью JavaScript API.

В некоторых интеграциях кажется, что в некоторых случаях Chrome регулирует iframe.Часто это происходит (но не исключительно), когда клиент предварительно загружает конфигуратор в скрытом «div».

Под регулировкой я подразумеваю, что Chrome все замедляет.Сетевые запросы, requestAnimationFrame, requestIdleCallback и т. Д. Замедление может составлять около 100 мс, но иногда это также 10 секунд.

Когда пользователь нажимает на регулирование iframe, и все работает так быстро, как и ожидалось.

Мы пытались указать Chrome, что iframe не должен регулироваться с помощью JavaScript.

Мы пробовали такие вещи, как iframe.contentWindow.focus() или iframe.contentWindow.click(), но это не очень надежно.Это работает для некоторых интеграций, а для других - нет.

Есть ли возможность сообщить Chrome, что какой-то iframe является доверенным iframe, который не должен регулироваться?В идеале немного JavaScript.Настройка браузера не будет работать в нашем случае, поскольку пользователи конфигуратора являются конечными потребителями, которые просматривают веб-сайт / интернет-магазин.

1 Ответ

0 голосов
/ 21 мая 2019

Я думаю, это то, что вам нужно:

Видимое состояние браузера не имеет ничего общего с его фактической видимостью (которая обрабатывается с помощью CSS). Видимое состояние используется для определения уровня ресурсов, требуемых браузером. Если для свойства visible установлено значение true, это означает, что браузер должен иметь высокий приоритет над ресурсами, необходимыми для отображения и обработки своего содержимого. Напротив, если его видимое состояние установлено в false, оно имеет низкий приоритет над ресурсами, в которых оно нуждается.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...