mal wieder: script tag mit js erstellen?

Hallo!
Ich habe folgendes Problem:
Um die wichtigen Sachen auf meiner Seite zuerst zu laden will ich eine Funktion in meinem JS aufrufen sobald das wichtige geladen ist. Das klappt soweit auch schon ganz gut.
In dieser Funktion suche ich nun das von mir erstellte leere div in welchem das "unwichtige" nun geladen werden soll.

In dem unwichtigen soll ein js eingebunden sein. Fragt nicht warum und dass man es doch auch woanders hin schreiben könnte - es muss aus diversen Gründen so sein. Das Script welches eingebunden werden soll ist auf einem Externen Server.

Das HTML in dem div zu erstellen ist kein Problem. Aber mit dem <script> habe ich noch Probleme.
Ich benutze jquery (nur so als Info).

Also habe ich nun folgende Funktion geschrieben:

  
function loadIt(){  
    if($('#divid').length > 0 ){  
        var scriptlink = 'https://www.url..../..../.../...';  
        var content = '<table width="10" border="0" cellspacing="0" align="center"><tr><td><script src="' + scriptLink + '"></script></td> .....usw....';  
        $('#divid').html(content);  
    }  
}  

Wenn ich mir 'content' mit einem alert ausgeben lasse dann erscheint der richtige Code. Nur auf meiner Seite funktioniert das noch nicht so wirklich. Das script tag erscheint nicht (der Rest von content aber schon!).

Habt ihr eine Idee woran das liegen könnte bzw was ich falsch gemacht habe

THX schonmal!

  1. Hi,

    var scriptlink = 'https://www.url..../..../.../...';
            var content = '<table width="10" border="0" cellspacing="0" align="center"><tr><td><script src="' + scriptLink + '"></script></td> .....usw....';
            $('#divid').html(content);

    Wenn ich mir 'content' mit einem alert ausgeben lasse dann erscheint der richtige Code. Nur auf meiner Seite funktioniert das noch nicht so wirklich. Das script tag erscheint nicht (der Rest von content aber schon!).

    Wie sehen denn Script-Tags aus, wenn sie "erscheinen"? :-)

    Per innerHTML, und viel mehr ist .html() AFAIK nicht, funktioniert das nicht (browserübergreifend) zuverlässig.

    Probier's mal so:

    var script = document.createElement( 'script' );  
    script.type = 'text/javascript';  
    script.src = url;  
    $("#someElement").append( script );
    

    MfG ChrisB

    --
    Light travels faster than sound - that's why most people appear bright until you hear them speak.
  2. Das, was Du vorhast, ist programmiertechnisch sehr, sehr böse (genauso wie z. B. eval() böse ist).

    Ich würde sagen, Du brauchst Events, z. B. onload. Oder guck Dir mal das YAHOO USER INTERFACE an, kurz YUI. Da gibt es eine Event-Klasse, die auch sowas wie ondomready zur Verfügung stellt. Da gibt es auch sehr leicht nachvollziehbare Beispiele.