Я загружаю сторонний script
элемент, предоставленный Google:
var h = document.getElementsByTagName('head')[0];
var xml = '<script defer="true" src="https://apis.google.com/js/api.js"></script>';
h.appendChild(document.importNode(new DOMParser().parseFromString(xml,'application/xml').childNodes[0],true));
Ни один из браузеров (Waterfox, Chrome, IE11, IE15) не бросает ошибки или предупреждения, они просто не запрашивают файл из Google (ничего не отображается в сетевых запросах). Я проверял, что отчет об ошибках включен/максимальная чувствительность во всех этих браузерах.
Этот сценарий относится к содержимому, которое загружается только через AJAX, поэтому я не могу загрузить скрипт вместе со всем остальным. Почему сценарий даже не пытается выполнить запрос? Это происходит с локальных и живых веб-сайтов.
Проще просто создать элемент сценария, чем пройти весь этот разбор xml
var h = document.getElementsByTagName('head')[0];
var scr = document.createElement('script')
scr.src = 'https://apis.google.com/js/api.js';
h.appendChild(scr);
scr.onload = () => console.log('Loaded')
Это потому, что ваша голова, скорее всего, закончила загрузку к тому моменту, когда ваш код javascript пытается вставить html в него. Поэтому решением было бы как-то добавить тег в ваш html, прежде чем он начнет загружаться.
createElement
тогда поддерживался.
document.importNode
document.importNode
часто используется при работе с AJAX. Кроме того, я приму после того, как таймер истекает.