Доработал пример динамической загрузки JavaScript вот отсюда:
https://developer.mozilla.org/ru/docs/Web/API/HTMLScriptElement
Получил такой код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="ru">
<head>
<script type="text/javascript">
var scriptData;
function loadError (oError) {
throw new URIError("The script " + oError.target.src + " is not accessible.");
}
function onLoadScript () {
console.log("Script info after load");
console.log(scriptData.src);
console.log(scriptData.text);
alert("You read this alert because the script has been correctly loaded.");
}
function importScript (sSrc, fOnload) {
var oScript = document.createElement("script");
oScript.type = "text\/javascript";
oScript.onerror = loadError;
if (fOnload) {
oScript.onload = fOnload;
}
document.currentScript.parentNode.insertBefore(oScript, document.currentScript);
oScript.src = sSrc;
console.log("Script info");
console.log(oScript.src);
console.log(oScript.text);
return oScript;
}
scriptData=importScript("http://www.google-analytics.com/ga.js", onLoadScript);
</script>
</head>
<body>
Hello!
</body>
</html>
В логе браузера вижу следующий вывод:
"Script info"
"http://www.google-analytics.com/ga.js"
""
"Script load success"
"Script info after load"
"http://www.google-analytics.com/ga.js"
""
Вопрос. Почему не выдается текст скрипта объекта HTMLScriptElement (свойство text равно "") даже после успешной загрузки?