Script externo Javascript carregando estranheza

Estou mantendo um aplicativo javascript legado que tem seus componentes divididos em 4 arquivos J

São "Default.aspx", "set1.aspx", "set2.aspx" e "set3.aspx". As páginas ASPX gravam JS compactado de vários arquivos de origem (todos os diferentes) pertencentes ao respectivo conjunto e cabeçalho do tipo de conteúdo definido como "text / javascript".

O aplicativo é chamado adicionando uma referência ao primeiro conjunto e criando o objeto de entrada principa

<script src="/app/default.aspx" type="text/javascript"></script>

<script type="text/javascript>

    var ax;  

    // <body onload="OnLoad()">
    function OnLoad() {
        ax = new MyApp(document.getElementById("axTargetDiv"));
    }

</script>

No final do primeiro conjunto de scripts (default.aspx) está o seguinteexat code:

function Script(src) {
    document.write('<script src="' + src + '" type="text/javascript"></script>');
}

Script("set1.aspx?v=" + Settings.Version);

Que carrega o segundo conjunto de scripts (set1.aspx). E isso funciona sem erros nos principais navegadores (IE6-8 Firefox Safari Opera Chrome).

No entanto, como eu tenho trabalhado nesse script por algum tempo silencioso, gostaria de simplificar as chamadas de funções em muitos lugares e, por engano, inline a função Script acima, resultando no seguinte código:

document.write('<script src="set1.aspx?v=' + Settings.Version + '" type="text/javascript"></script>');

Qual, quando testado com uma página de teste, agora gera o seguinte erro em todos os navegadores:

MyApp is not defined.

Isso acontece na linha:ax = new MyApp(... como depurador do Visual Studio JS Firebug report

Tentei vários métodos nas 4 primeiras respostas postadas nesta pergunta sem sucesso. A única coisa que permitirá que o MyApp seja carregado com êxito é apenas colocando o código "adicionar script" real dentro de uma função (ou seja, odocument.write('script') linha)

Se eu colocar odocument.write linha dentro de uma função, funciona, caso contrário, não funciona. O que está acontecendo

divisão e / ou escape do texto do script não funcion

questionAnswers(4)

yourAnswerToTheQuestion