Возможно, вы знакомы со старым добрым резервом загрузки Jquery:
<script>window.jQuery || document.write('<script src="https://example.com/jquery.js"></script>')</script>
Но я читаю тут и там: не используйте document.write
, вредно для вашего здоровья, оно не работает наChrome (он работает для меня, Chrome 78).
Поэтому я пытаюсь заменить его, но не могу найти решение, которое будет синхронно загружать новый файл js, до того, как будет загружено DOM
.
И что заканчивается альтернативой манипуляции DOM
, так это то, что браузер считает, что DOM
загружен и все $(document).ready()
терпят неудачу с « $ не определено ».
function Jqfallback() {
var j = document.createElement('script');
j.src = 'https://example.com/jquery.js';
document.getElementsByTagName('head')[0].appendChild(j);
}
(window.jQuery || Jqfallback() );
Независимо от того, куда я поместил этот скрипт или новый файл JS, который в данном случае ('head')[0]
уже находится перед всеми остальными JS в теле, он загружает его «асинхронно».
Есть ли другой вариант, или я продолжаю качать document.write()
в конце 2019 года?