Добрый день ребята. Подскажите,какой будет верный способ для асинхронной загрузки кода JS (faceebook Piхеl или какой-то другой код JS)
К примеру этот код
Все привет! Никто не знаеш?
Верные оба, первый чистый javascript, второй JQuery. Первый будет немного быстрее
Если будете вставлять через HTML блок с поддержкой smarty, оберните весь код следующими тэгами
{literal}
... ваш код....
{/literal}
Если вам нужно просто добавить Facebook Pixel, то есть специальный модуль Пиксель Facebook.
Если вам нужно именно асинхронную загрузку файла скрипта, то здесь можно почитать подробнее https://learn.javascript.ru/script-async-defer
То, что вы написали больше про порядок загрузки и выполнения, а не про сам процесс загрузки. Возможно, это вам и подойдёт. Зависит от вашей задачи.
Все верно. Больше нужно для порядка загруки после полной загрузки DOM
Да, но async defer предназначен для внешних скриптов, а я имела ввиду порядок загрузки скриптом такого формата(как выше), и загрузку скриптов которые грузятся с сервера (к примеру script src="js/lib/jquery/jquery.min.js
Обычно файл со скриптом лежит отдельно:
(function(_, $) {
$(document).ready(function(){
if (ПРОВЕРКА НА ТО, БЫЛ ЛИ УЖЕ ЗАГРУЖЕН СКРИПТ) {
$.getScript('адрес/до/скрипта.js', function() {
// То, что выполнить после загрузки скрипта.
});
}
});
}(Tygh, Tygh.$));
Если есть работа с Ajax, то вместо $(document).read
лучше использовать конструкцию вида:
$.ceEvent('on', 'ce.commoninit', function (context) {
});
В данном случаи ваш скрипт можно использовать после полной загрузки Dom дерева
Как раз вот нашла. Как к примеру лучше бы было сделать откладку такого кода, чтобы загрузка скприпта происходила после полной загрузки страницы
<script var actualUahUsd; let xhr = new XMLHttpRequest(); xhr.open('GET', 'https://api.privatbank.ua/p24api/pubinfo?json&exchange&coursid=5'); xhr.send(); </script