Здравствуйте.
Есть два js файла такого типа <script defer="" src="/static/CACHE/js/070e65d4886b.js"></script>
, подключение которых идёт после </footer>
и перед </body>
.
Внутри этих файлов куча всего, включая bootstrap.js
и jquery.js
.
В теле сайта, на разных страницах, иногда встречаются инлайн обработчики, которые не удаётся, по ряду причин, ужать и засунуть в один из общих файлов.
Каким образом можно дождаться загрузки больших файлов, находящихся ниже в DOM, учитывая, что я не могу наверняка знать их название заранее?
ДОПОЛНЕНИЕ
Изначально, было так:
<head>
...
<script type="text/javascript" src="js/script1.js"></script>
<script type="text/javascript" src="js/script2.js"></script>
<script type="text/javascript" src="js/script3.js"></script>
</head>
затем, находящиеся внутри <body></body>
инлайн скрипты окружались привычным многим $(document).ready(function(){...})
и на деве это не вызывало проблем, т.к. скорость загрузки страницы не играла особой роли.
Сейчас же $(document).ready(function(){...})
не работает, по всем понятным причинам.
Я знаю как дождаться загрузки скрипта с известным названием, но не понимаю, как сделать универсально.
Если $(document).ready(function(){...})
заменить на window.onload = function()
то ошибок вроде $ is undefined
не возникает, но на некоторые элементы с id
листенер не успевает повесится, и скрипт не срабатывает.
Оберните содержимое инлайн-скриптов в некую функцию method, например. Ждите, пока jQuery будет объявлено и после этого вызывайте функцию method.
function defer(method) {
if (window.jQuery)
method();
else
setTimeout(function() { defer(method) }, 50);
}
Пример с анонимной функцией:
defer(function () {
alert("jQuery is now loaded");
});
Изначально создаем переменную, отвечающую за загрузку всех скриптов и размещаем её в первом скрипте
var isScriptsLoad = false;
Далее в последнем скрипте делаем
isScrtiptsLoad = true;
Соответственно вставляем где нужно
if (isScriptsLoad) {
//code
};
И еще, у каждого скрипта должны быть атрибуты defer defend
. Вроде должно работать.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Прошу помочь написать скрипт для автоклика по определенной кнопки!
Возможно ли подключение одного Userscript из другого в качестве библиотеки? Не по ссылке на локальный/удалённый файл через @require, а "прозрачно",...
Есть список телефонных номеров по 12 символов: