#javascript
На странице index.html подключается скрипт , меня интересует вопрос как подключить внутри данного скрипта scriptjs.js другой скрипт, подгружаемый по ссылке - и чтобы этот скрипт правильно выполнился на странице.
Ответы
Ответ 1
Этого можно добиться, вручную манипулируя узлами DOM. Добавьте такие строки в вашем первом сценарии. var s = document.createElement('script'); s.src = '/путь/к/подключаемому/сценарию'; document.head.appendChild(s); Учтите, загрузка будет асинхронной. Чтобы отследить момент загрузки, воспользуйтесь событием onLoad новосозданного элемента, значения ему присваивать стоит до вставки на страницу. Внутри происходит установка нулевого таймера, чтобы гарантировать запуск нашего кода после загрузки вставленного сценария. s.onload = function() { // Библиотека загружена, но ещё не инициализирована, её код пока не выполнен, // поэтому планируем запуск нашего кода в следующем тике. setTimeout(function() { // Тут код, опирающийся на использование импортируемой библиотеки }, 0); };Ответ 2
Иной подход заключается в использовании функции document.write. Этот вариант гораздо проще, но менее гибок. document.write(''); Никакие обработки загрузок не нужны - выполнение этой функции происходит в синхронном режиме. Сразу после можете писать ваш код, который полагается на библиотеку. Но учтите, этот способ замедляет загрузку страницы, кроме того, его можно использовать только в синхронно подключенных сценариях (без атрибута async).
Комментариев нет:
Отправить комментарий