Вставить страницу HTML со скриптами в другую страницу HTML со своими скриптами
Есть намерения создать web-приложение с главной страницей в которую должны вставлятся (внедряться) дочерные HTML-страницы (несколько).
Что то похоже на дэсктоп MDI-форму в которой открываются дочерные окна. В качестве сервера будет использоваться Node js. Дочерные страницы содержат скрипты js и работают отдельно, как самостоятельные. Главная страница также содержит свои скрипты js. Вставка дочерных страниц в отдельный DIV на главной странице реализована через AJAX (рассматриваются другие возможные варианты). При вставке возникла проблемма со скриптами дочерных страниц: как и куда их внедрять? Также предвидится проблема с id name HTML-элементов: они могут совпасть в главной и одной из дочерных или в дочерных страницах. Как альтернатива, рассматриваются iFrame, но не уверен что это будет удачное решение. Посоветуйте как и на чем это реализовать? |
Цитата:
Одинаковые id в дочерних страницах - решения нет, кроме iframe. Со скриптами тоже проблема - их надо выбирать из дочерних страниц и вставлять отдельно. Тут так же есть нерешаемая проблема совпадение имен глобальных переменных в дочерних страницах. |
Просто взять и объединить абстрактные рандомные страницы - невозможно.
Если же страницы всё-таки не совсем рандоны, то конечная цель, очевидно, добиться невозможности конфликтов. Как - в каждом конкретном случае над смотреть отдельно. Магического решения которое всё за вас порешает - не существует, всё придётся подгонять +- руками. Разработка должна была вестись изначально с расчётом на модульность. |
Цитата:
Разработка только начинается. Это мое второе приложение на Node js, до этого 15 лет писал только десктоп, поэтому в вебе я зеленый :) Расчет на модульность - это как? Где копать? |
Нарыл что это возможно через <object> и <embed>. Сделал несколько тестовых страниц, попробовал связь (вызов скриптов) между родительской и дочерной страницей. Вроде все работает.
Насколько это нормально? Меня смущает, что никто из знатоков не посоветовал этот способ... |
Цитата:
Цитата:
|
Цитата:
|
Нет, это мои страницы, мною разрабатываемые и с моего сервера.
|
Тогда тем более iframe.
Страницы с одного домена в iframe могут в случае необходимости взаимодействовать друг с другом. |
|
Часовой пояс GMT +3, время: 08:04. |