У меня есть веб-приложение, которое загружает виджеты в дом через iframe
. Эти виджеты представляют собой полные HTML-документы и включают теги head
, body
и script
. Эти виджеты часто загружают один и тот же scripts
(например, Plotly.js ) и имеют (дополнительные?) Накладные расходы на загрузку и анализ скрипта каждый раз.
Я исследую, чтобы выяснить, есть ли что-нибудь умное , которое мы можем сделать с этими дублирующимися зависимостями - в идеале загружать только один раз.
![enter image description here](https://i.stack.imgur.com/4Hpdo.png)
У меня была идея загрузить script
один раз (в parent
) и сослаться на него в iframes
. Примерно так в верхней части каждого виджета :
<script>
var Plotly = window.parent.Plotly;
</script>
Это в основном не работало (элементы управления в странных местах, без анимации, не интерактивные):
![enter image description here](https://i.stack.imgur.com/g6MMp.png)
Мне интересно, есть ли гарантированный способ достижения того, чего я хочу достичь? Как parent
может правильно внедрить скрипт в iframe
?
Прототипы здесь: Плункер / Веб
Предложения приветствуются.