Hallo!
Ich habe im Moment folgendes Problem:
Ich möchte ein Server-seitiges Skript aus einer HTML-Seite heraus aufrufen.
So weit so simpel. Das Problem ist, dass der Aufruf automatisch beim onunload-Event ausgelöst werden soll (also wenn das Browser-Fenster geschlossen wird).
Zu diesem Zeitpunkt wird zwar das dort angegebene Javascript noch ausgelöst, der HTML-Teil der Seite steht aber schon nicht mehr zur Verfügung, so dass man beispielsweise auf dort integrierte Formulare nicht mehr zurückgreifen kann.
Den Weg über XmlHttpRequest habe ich auch schon probiert, dazu müssten aber für Gecko-Browser sämtliche derart gestalteten Dateien signiert werden. Da das Projekt häufig Updates erfahren wird, die nicht jedesmal aufwändig signiert werden können, fällt dies aber aus.
Daher war meine Idee jetzt, mittels Javascript in einer Art virtuellem Dokument ein entsprechendes Formular aufzubauen und es im Anschluss an das Skript abzuschicken.
Mein aktueller Fortschritt (JS-Auszug) sieht wie folgt aus:
x = document.implementation.createDocument("", "test", null);
x.documentElement.appendChild(document.createElement("form"));
x.documentElement.firstChild.setAttribute("action","cgi-bin/testScript.pl");
x.documentElement.firstChild.appendChild(document.createElement("input"));
x.documentElement.firstChild.firstChild.setAttribute("type","hidden");
x.documentElement.firstChild.firstChild.setAttribute("name","filename");
x.documentElement.firstChild.firstChild.setAttribute("value",thisFile);
Soweit so gut. Leider weiß ich ab hier nicht mehr weiter. Mit "x.documentElement.firstChild.submit()" funktioniert es nicht.
Nun überlege ich, ob es auf diesem Weg vielleicht sowieso nicht funktioniert. Immerhin erstelle ich hier eine XML- und keine HTML-Datei.
Hat jemand 'ne Idee, wie ich hier weitermachen muss oder wie ich es besser machen kann?
Danke!
Mfg, MF