Я пытаюсь динамически загружать внешний .js файл (в зависимости от ввода, который я получаю от пользователя). В настоящее время мой код выглядит следующим образом:
function createScript(src, id) {
    if (document.getElementById(id) == null) {
        var newScript = document.createElement('script');
        newScript.setAttribute("type", "text/javascript");
        newScript.setAttribute("src", src);
        newScript.setAttribute("id", id);
        document.getElementsByTagName("head")[0].appendChild(newScript);
    }
}
Эта работа. Он загружает script, но если я попытаюсь вызвать функцию, определенную внутри нового script, это не сработает. Странно, если я жду второй (с помощью alert("test") или что-то в этом роде) script работает.
Я предполагаю, потому что браузер сразу добавляет тег <script>, но он немного дольше "читает" script внутри .js файла.
Я попытался сыграть с "typeof testfunction === 'function'" с несколькими вариантами, но не повезло.
Любой хороший способ сделать это?