Java Reference
In-Depth Information
8.10.2■Daten in einem IFrame speichern
Sehen wir uns nun an, wie Sie aus JavaScript in einem IFrame Daten speichern können,
zum Beispiel ein Protokoll von Aktionen, die ein Anwender in einer Webseite durchgeführt
hat. Wir wollen der Einfachheit halber nur die Klicks auf drei Schaltlächen beobachten,
aber das Verfahren können Sie universell verwenden (kap8_19.html) .
Listing 8.48■ Benutzeraktionen in einem IFrame speichern
...
<body>
<h1>IFrames als Datenspeicher für Benutzeraktionen</h1>
<iframe></iframe><hr />
<button>1</button><button>2</button><button>3</button>
<div id="t1"></div>
</body>
<script type="text/javascript">
function text(i) {
var text;
switch (i) {
case 0: text = Math.random(); break;
case 1: text = new Date().toLocaleString(); break;
case 2: text = new Date().getSeconds();
}
document.getElementById("t1").innerHTML = text;
var u6 = document.createElement("h6");
var textknten = document.createTextNode(text);
u6.appendChild(textknten);
window.frames[0].document.
getElementsByTagName("body")[0].appendChild(u6);
}
with (document) {
getElementsByTagName("button")[0].onclick = function() {
text(0);
}
getElementsByTagName("button")[1].onclick = function() {
text(1);
}
getElementsByTagName("button")[2].onclick = function() {
text(2);
}
}
</script>
</html>
Sie sehen in dem Beispiel einen IFrame, der nur aus Demonstrationszwecken sichtbar
gemacht wurde. In der Praxis werden Sie ihn analog dem vorherigen Beispiel unsichtbar
machen. Bei einem Klick eines Anwenders auf eine der drei Schaltlächen in der Webseite
wird die Funktion text() aufgerufen. Dort wird auf Grund des übergebenen Parameter-
werts mit switch-case entschieden, welcher Text in der Webseite angezeigt wird. Aber das
ist der für uns hier nicht wichtige Part. Die entscheidende Stelle ist window.frames[0].
document.getElementsByTagName("body")[0].appendChild(u6); . Wir hängen hier einen
Textknoten an den Körper der Datei, die in dem IFrame geladen ist. Als Inhalt des Textkno-
tens wählen wir hier den angezeigten Text in der Webseite, der in eine h6 -Struktur einge-
fügt wurde. Aber Sie können natürlich beliebige Informationen so speichern. Entscheidend
 
Search WWH ::




Custom Search