#javascript #module #es6-modules #script-tag
Вопрос:
Я загружаю страницу через ajax. На этой странице есть <script type="module" src="script.js"></script>
элемент.
Какое событие запускается после загрузки модуля типа сценария таким образом?
Комментарии:
1. Должны быть только обычные для
<script>
элементов. Вы пробовали их?2. Проблема в том, что сценарии типов модулей загружаются параллельно. Когда запрос ajax завершается, он предназначен только для запрошенного фрагмента страницы/html, и сценарий все еще может загружаться в этот момент
3. » Я загружаю страницу через ajax » — как именно вы это делаете? Обратите внимание, что AJAX загружает только строку html, он не загружает ничего, на что есть ссылки из нее.
4.
it doesn't load anything referenced from that.
— да, это так. Вы можете добавить a<script>
в эту html-строку, и этот скрипт также будет загружен.5. Не используйте модуль для вызывающего кода
onMount
. Используйте сценарий, который это делаетimport(…).then(onMount => onMount())
. Это вы можете выполнять сколь угодно часто.