Javascript.RU

JavaScript динамическое подключение скриптов. Как динамически подключить javascript?

Динамическая подрузка javascript скриптов. Подключение скриптов на javascript.
Чтобы динамически подключать скрипты, нужно заюзать библиотеку scriptjava, которая упрощает программирование на javascript и избавляет от лишних проблем.
На чистом яваскрипте реализовать динамическое подключение скриптов можно, но это вызовет кучу проблем.
Например если нам потребуется подключить скрипт и запустить из него функцию, то произойдет ошибка потому что мы не знаем сколько по времени будет грузится скрипт, а пока он грузится скрипт вызовет функцию которая еще не загрузилась что приведет к ошибке.
ScriptJava работает во всех браузерах и выполняет функции только после полной загрузки скриптов избавляя нас от лишней мароки и ошибок.

Подключите к своему сайту перед тегом ScriptJava фреймворк, добавив вот такой код:

<script type="text/javascript" src="http://scriptjava.net/source/scriptjava/scriptjava.js"></script>

Далее пишем функцию динамического подключения кода:

<script type="text/javascript">
function GetScript() {
	//Подключаю внешний скрипт и запускаю из него метод
	$$i({
		create:'script',
		attribute: {
			'type':'text/javascript',
			'src':'http://nagon.net/js/NRMSLib.js'//адрес на подключаемый скрипт
		},
		insert:$$().body,
		onready:function() {
			modules.sound.start();//этот метод запускается уже из подключенного скрипта
		}
	});
}
</script>

В любом месте сайта, когда нужно динамически подключить скрипт нужно вызвать функцию

GetScript();

Вот и все!

Но что делать когда нужно динамически подключать скрипты сразу после загрузки сайта?
Ведь опять не зная когда загрузится полностью сайт мы не можем динамически подключать внешний скрипт.

На самом деле определять загрузку сайта может scriptjava, но не то как это определяет метод onload, а совсем по другому.
Сайт может еще не полностью загрузится, а скриптджава сама определит когда можно выполнять код.

Дописываю вышепоказанный код, для его запуска сразу после загрузки сайта:

<script type="text/javascript">
//выполнение кода только после загрузки документа
$$r(function() {
	//Подключаю внешний скрипт и запускаю из него метод
	$$i({
		create:'script',
		attribute: {
			'type':'text/javascript',
			'src':'http://nagon.net/js/NRMSLib.js'//адрес на подключаемый скрипт
		},
		insert:$$().body,
		onready:function() {
			modules.sound.start();//этот метод запускается уже из подключенного скрипта
		}
	});

});
</script>

Выше написанный код нельзя помещать в функцию.
Он может запускаться только во время загрузки сайта т.е. как есть.

+1

Автор: Гость (не зарегистрирован), дата: 12 апреля, 2022 - 21:14
#permalink

Автор: Гость (не зарегистрирован), дата: 16 апреля, 2022 - 00:37
#permalink

Автор: Гость (не зарегистрирован), дата: 16 апреля, 2022 - 02:36
#permalink

Автор: Гость (не зарегистрирован), дата: 16 апреля, 2022 - 13:15
#permalink

Автор: Гость (не зарегистрирован), дата: 16 апреля, 2022 - 14:31
#permalink

Автор: run game (не зарегистрирован), дата: 6 сентября, 2022 - 10:48
#permalink

This forum is amazing and there is a lot of useful content here. Companies can use this content to further improve the quality of disposable nitrile gloves even though they have not received any complaints about them yet. However, there is still room for improvement. retro games


Автор: ugliestcry (не зарегистрирован), дата: 21 декабря, 2022 - 11:30
#permalink

I read your site on a daily basis and suggest it to anybody looking to expand their knowledge quickly. The writing style is amazing, and the coreball material is outstanding as well. Thank you for your sage advice to the readers!


Автор: 먹튀폴리스 (не зарегистрирован), дата: 11 апреля, 2023 - 21:04
#permalink

Since there is a lot of good information, I will visit this blog often and read. I hope your business thrives. 먹튀폴리스


Автор: Гость (не зарегистрирован), дата: 20 апреля, 2023 - 13:21
#permalink

When a package or cargo is dispatched, a usps tracking number is issued to it.


Автор: Гость (не зарегистрирован), дата: 15 февраля, 2024 - 10:21
#permalink

I'll browse this blog tunnel rush frequently because it has a lot of useful stuff. I hope your company does well.


Отправить комментарий

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
1 + 0 =
Введите результат. Например, для 1+3, введите 4.
 
Поиск по сайту
Другие записи этого автора
gordon freeman
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Популярные таги
Последние комментарии
Последние темы на форуме
Forum