Простой onreadystatechange не срабатывает, хотя скрипт загружается

Я, вероятно, просто упускаю что-то основное в onreadystatechange. Почему здесь не появляется сообщение консоли? c.js работает нормально.

<span id="rightHere"></span>

<script>

var c = document.createElement("script");
c.src = "lib/c.js";
c.onreadystatechange = function () {
    console.log("IT FIRED");
    if (c.readyState == 'complete') {
        console.log("IT IS COMPLETE");
        ipmElements.control.login.autoLogin();
    }
}
var hook = document.getElementById("rightHere");
hook.parentNode.insertBefore(c, hook);

</script>

Более серьезная проблема заключается в желании сделать что-то подобное для отката, если доступ к размещенной библиотеке недоступен, как показано в этом ответе: https://stackoverflow.com/a/7864346/4866743


person Chris Morrow    schedule 18.12.2015    source источник
comment
Кажется, вы на самом деле не извлекаете файл, а просто определяете его местоположение. Документы (developer.mozilla.org/en-US/docs/ Web/API/XMLHttpRequest/) указывают, что событие onreadystatechange применяется к новому запросу.   -  person Nathan Hornby    schedule 18.12.2015
comment
Как насчет добавления c.onload? Ссылка, которую вы разместили, использует оба события.   -  person DonovanM    schedule 18.12.2015
comment
Ах да, загрузки нет. Сработало сейчас! Но может ли кто-нибудь объяснить, зачем нужны оба? Это кажется излишним.   -  person Chris Morrow    schedule 18.12.2015