scripts.js(100+ КБ) в главном окне и iframe

Подскажите пожалуйста. Есть одна страница с iframe, в котором вторая страница с того же домена. Обе страницы используют схожую функциональность, которая находится, к примеру, в файле scripts.js(~100кб) или тот же самый jQuery.

Соответственно файл scripts.js грузится 2 раза, на обеих страницах(что сразу кажется неправильным, так как появляется большая избыточность).

Верное ли это поведение? Если нет, то как принято решать данную проблему(загрузить файл один раз и пользоваться объявленными в нем функциями как в главном окне, так и во фрейме)? (Гугл внятного не дал)

Как родительское окно так и фрейм имеет богатую динамику и нуждаются в файле scripts.js, в iframe динамическая часть, которая обязана обновляться посредством перезагрузки страницы, родительская страница видоизменяет несколько элементов, для которых наоборот обновление страницы не должно происходить.

Есть много вариантов как сделать иначе.. 1) Можно вообще не париться, так как скрипт грузанется из кеша и производительность потеряна не будет если не учитывать + несколько дополнительно запарашиваемых файлов 2) Можно сгруппировать общую функциональность в один объект и взять его из дочернего она через let foo = window.top.foo, либо отдать из главного в дочернее фрейм.contentWindow.foo = foo, только нужно еще контекст передавать, что опять же колхоз. 3) Засунуть всё в одно окно и думать как выкручиваться.

Дело именно в том, без засовывания в одно окно и без костылей, есть какое-то традиционное решение данной проблемы, ведь за 26 лет JS, с ней точно кто-то сталкивался... Либо как это было принято обходить во времена когда не существовало изменение контента без перезагрузки страницы, но что бы родительское окно юзало ту же функциональность без перезагрузки, просто не парились и загружали файлы по несколько раз ?


Ответы (0 шт):