Каковы подводные камни встраивания с использованием iframe - PullRequest
0 голосов
/ 09 июля 2019

Я экспериментирую с Elm для создания многоразового пользовательского интерфейса, похожего на приборную панель, для декларативной настройки через файлы yaml.

Файлы yaml определяют группу встраиваемых веб-приложений (не только на основе elm, но в идеале такжеresponse / angular / vue) для включения в каждый экземпляр этого пользовательского интерфейса, например, путем указания метки и URL-адреса хранилища.

Я пытался использовать традиционный способ Elm / React, чтобы взять на себя стандартный не-Элемент iframe dom с различными проблемами.(в основном, elm заменяет элемент, который он берет на себя, что означает, что различные приложения не могут совместно использовать один и тот же контейнер)

Если вы хотите, вы можете увидеть все доказательства концепции здесь https://github.com/Dansvidania/mondrian-elm

Есть ли лучшепути?(Я уверен, что есть) Но также, с какими проблемами я мог бы столкнуться, если бы я решил пойти с iframes?Я нахожу только неподтвержденные доказательства против фреймов, и (в частности, для песочницы) они кажутся идеальными.

Заранее спасибо

Ответы [ 2 ]

4 голосов
/ 10 июля 2019

с Cam Джексона Micro Frontends artice на martinfowler.com

Так же, как с серверная опция включает ,Создание страницы из фреймов - не новая техника, и, возможно, она не выглядит такой захватывающей.Но если мы вернемся к основным преимуществам микро-интерфейсов , перечисленным ранее , то фреймы в основном отвечают всем требованиям, если мы будем осторожны с тем, как мы разбиваем приложение и структурируем наши команды.

Мы часто видим большое нежелание выбирать фреймы.В то время как некоторые из этого нежелания, кажется, движимы внутренним чувством, что iframes немного «гадость», есть некоторые веские причины, по которым люди их избегают.Упомянутая выше простая изоляция делает их менее гибкими, чем другие варианты.Может быть сложно создать интеграцию между различными частями приложения, поэтому они усложняют маршрутизацию, историю и глубокое связывание, а также создают некоторые дополнительные проблемы, чтобы сделать вашу страницу полностью отзывчивой.

2 голосов
/ 10 июля 2019

Я использую фреймы без проблем.

Общение с помощью кода JavaScript, встроенного в iframe, работает, но я всегда чувствую, что такой код прибит вместе и ему не хватает элегантности.

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

Файлы cookie и iframes не очень хорошо воспроизводят кросс-домены, но это можно решить.

...