Как перенести полифиллы в iframe?

Я делаю веб-сайт, совместимый с ie11. Я использую babel для переноса кода, а затем запускаю скрипт в index.html, который проверяет, что нужно заполнить полифиллом, и динамически импортирует каждый полифилл.

В одной части моего кода у меня есть iframe. iframe импортирует скрипт, который использует промисы. Сценарий транспилируется для совместимости с ie11, но когда я запускаю его в ie11, он вылетает из-за обещания.

Я попытался запустить тот же скрипт polyfill, что и в index.html, но он разбился (в какой-то части проверки URL-адресов), поэтому я думаю, что мне следует либо переписать этот скрипт, чтобы он не сбой в iframe. Но, может быть, кто-то знает другой способ поделиться всеми полифиллами с iframe?


person leetjojo    schedule 14.07.2020    source источник
comment
Я согласен с предложением @shrimpwagon. Вы не можете реализовать полифиллы для iframe. Вам нужно правильно открыть эту веб-страницу в браузере IE, и тогда она также будет работать в iframe. Невозможно реализовать какие-либо полифиллы с родительской страницы.   -  person Deepak-MSFT    schedule 15.07.2020


Ответы (1)


Из соображений безопасности нельзя передавать функции, классы, переменные или прототипы JavaScript в iframe. Однако iframe может получить доступ к родительскому окну, но не наоборот. HTML в iframe должен иметь полифиллы непосредственно в нем.

person shrimpwagon    schedule 14.07.2020