Существует не общий способ загрузки javascript-библиотеки только один раз. Когда загружается javascript, он выполняется и вводится непосредственно в глобальный домен, и не будет «общей» трассировки, которую вы можете отслеживать. Это больше зависит от того, как удаленный javascript должен быть уверен, что он не может быть загружен более одного раза. Есть, однако, умные трюки, которые можно сделать здесь. Вместо того, чтобы загружать javascript непосредственно с помощью тега скрипта, используйте функцию init(), чтобы «вставлять» зависимости, и там вы можете проверить, загружен ли сценарий или нет. Например, если вы используете jQuery, сделайте примерно следующее:
var jsCache = {};
function init() {
if (jsCache[myJavascript]) {
return;
}
$.getScript("my_javascript.js").done(function() {
jsCache[myJavascript] = true;
}
}
init();
Не идеальный, но должен служить цели. Если возможно, используйте requiejs (http://requirejs.org/docs/whyamd.html), но да, вы должны модулизовать свои скрипты в модули AMD.
Когда вы говорите «загрузка», вы имеете в виду, что файл загружается только один раз или что глобальный объект jQuery создается только один раз? – lxg
'if (typeof jQuery == 'undefined') {// jQuery не загружен, поэтому загрузите его}' – adaam
Plain JS не поддерживает require_once. HTML не делает. Вы должны убедиться в этом, как сказал @adaam - это также метод, используемый в заголовках C. –