Ich verwende JQuery, um dynamisch Skript-Tags in den Body-Tab einer Webseite zu injizieren. Ich habe etwas wie:Wie man Javascript-Dateien dynamisch lädt und sie sofort benutzt?
function addJS(url) {
$("body").append('<script type="text/javascript" src='+url+'></script>');
}
Ich füge mehrere Skripte auf diese Weise, und versuche, sie direkt danach zu verwenden. Z. B:
lib.js
function core() {...}
alert("I'am here !");
Init.js
addJS("lib.js");
c = new core();
test.html
<html>
<head>
<title>test</title>
<script type="text/javascript" src="init.js"></script>
</head>
<body>
Hello
</body>
</html>
Laden test.html pop s up "Ich bin hier" und endet dann mit einem Fehler "Core ist nicht definiert". Natürlich werden beide JS-Dateien zusammengefügt, damit sie perfekt funktionieren.
Ich bekomme es einfach nicht o_O.
EDIT
ich vereinfacht dieses Beispiel, aber Jeff Antwort gab mir zu verstehen, dass es ein Fehler war. Also hier sind einige Details:
init.js ist nicht im Kopf von test.html, wenn es neu zu laden, weil ich es mit einem Code injected auf einem Bookmarklet injizieren.
Die eigentliche Ausführungsprozess ist die folgende:
reload test.html> das Bookmarklet laufen> jquery und Init.js eingefügt> lib.js eingeführt wird
Sorry für die Verwirrung.
EDIT 2
Jetzt habe ich die Lösung für mein Problem (das war schnell :-)), aber ich bin immer noch auf die Antwort auf meine Frage interessiert. Warum geht das schief?
Ok, ich werde die Frage bearbeiten, weil Sie einen Punkt bekommen, aber dies hier nicht Appy. Ich habe mein Beispiel vereinfacht, aber mir ist klar, dass sich vieles ändert. Tatsächlich wurde die test.html bereits geladen, da ich init.js mit einem Bookmarklet injiziere. –