Server hängt nach JS-Referenzierung
Heiner
- javascript
Hallo!
Mich quält seit Tagen ein sehr nerviges Problem: in einem Skript werden 21 externe JS-Dateien manuell eingebunden, mittels document.createElement("script") für den HEAD-Bereich... Ab und zu passiert es dann, dass der Server danach nicht mehr reagiert. Ich suche verzweifelt die Fehlerquelle, möglicherweise hängt es mit Apache's "KeepAlive" zusammen, da ich an anderer Stelle selbiges Problem mit XMLHHttpRequests hatte, nach denen der Server abschmierte. Durch den Header "Connection: close" konnte ich das KeepAlive für diese Requests umgehen, allerdings lässt sich das mit JS-Referenzierungen nicht bewerkstelligen (oder doch???).
Vielleicht weiß jemand eine Lösung dazu..
Letzte Möglichkeit wäre das externe JS nicht als HTML-"script"-Element einzubinden, sondern via XMLHttpRequest und "Connection: Close" nachzuladen, was ich aber recht umständlich finde.
vielen Dank,
Heiner
hallo,
in einem Skript werden 21 externe JS-Dateien manuell eingebunden, mittels document.createElement("script") für den HEAD-Bereich... Ab und zu passiert es dann, dass der Server danach nicht mehr reagiert.
Das ist ziemlich unmöglich, da die Ausführung beim Client erfolgt und mit dem "Server" gar nichts zu tun hat. Wozu du allerdings ganze 21 externe Scripts brauchst, solltest du vielleicht darlegen. Und warum das über createElement() passieren muß, auch.
Letzte Möglichkeit wäre das externe JS nicht als HTML-"script"-Element einzubinden, sondern via XMLHttpRequest und "Connection: Close" nachzuladen, was ich aber recht umständlich finde.
Hast du das ausprobiert, und mit welchem Ergebnis?
Grüße aus Berlin
Christoph S.
Das ist ziemlich unmöglich, da die Ausführung beim Client erfolgt und mit dem "Server" gar nichts zu tun hat.
Durch KeepAlive erfolgt der Austausch zwischen Client und Server über _eine_ persistente Verbindung. Bei XMLHttpRequests ist mir wie erklärt passiert, dass das zu einem Überladen des Servers bei zuvielen auf einmal geführt hat.
Deshalb schließe ich es nicht aus, das möglicherweise dasselbe Problem beim Nachladen von Referenzierungen auftreten kann.
Wozu du allerdings ganze 21 externe Scripts brauchst, solltest du vielleicht darlegen.
Das was mit dem modularen Aufbau zu tun... warum ist denke nicht relevant
Und warum das über createElement() passieren muß, auch.
gibt es eine bessere Möglichkeit nachträglich JS-Dateien einzubinden??
Hast du das ausprobiert, und mit welchem Ergebnis?
noch nicht, da ich zunächst das Problem mit dieser Variante lösen möchte
hallo,
Durch KeepAlive erfolgt der Austausch zwischen Client und Server über _eine_ persistente Verbindung.
Bei XMLHttpRequests ist mir wie erklärt passiert, dass das zu einem Überladen des Servers bei zuvielen auf einmal geführt hat.
Na gut, XMLHttpReqeats() ist etwas, was besonders im AJAX-Konzept anzutreffen ist (und übrigens in SELFHTML gar nicht vorkommt). Da passiert etwas auf dem Server - möglicherweise.
Deshalb schließe ich es nicht aus, das möglicherweise dasselbe Problem beim Nachladen von Referenzierungen auftreten kann.
ACK, das ist nicht auszuschließen, aber du müßtest ein bißchen von deinem relevanten Code kucken lassen, daß mans mal gegenprüfen kann. Eventuell in einer temporären Textdatei mit dem Code, für die du dann hier nur den Link angeben brauchst.
Und warum das über createElement() passieren muß, auch.
gibt es eine bessere Möglichkeit nachträglich JS-Dateien einzubinden?
Möglicherweise - aber dazu ist deine Problembeschreibung leider noch zu ungenau. Es wird dir kaum etwas nutzen, wenn ich jetzt erkläre, daß "externe" Javascript-Dateien mit
<script src="script.js"></script>
eingebunden werden können.
Hast du das ausprobiert, und mit welchem Ergebnis?
noch nicht
Dann mach mal. Schau dir eventuelle Fehlermeldungen in der Javascript-Konsole des Firefox an, und wenn du damit nix anfangen kannst, postest du sie wieder hier.
Grüße aus Berlin
Christoph S.