fireeye: Meine Lösung

Beitrag lesen

hi,

Jetzt soll im Frame "hdl" der Text gewechselt werden :-), aber wie :D ?

zugriff auf frames
inhalt eines textknotens austauschen

gruß,
wahsaga

Hier meine Lösung:

in File "hdl.js" (wird von hdl.html" in Frame "hdl" aufgerufen):

function writeExpr (expr) {if (writing) eval (writing + "('" + expr + "')");}

window.setTimeout("checkhdl()",100);
var hdlx = parent.content.document.title;
var nextUrl = document.URL;

function checkhdl () {
  if (hdlx != parent.content.document.title) window.location.href = nextUrl;
}

writeExpr ('<h3>' + hdlx + '</h3>');

"writing" ist ein Workaround, um div. Browser zu befriedigen
"window.location.href = nextUrl" ist zwar ein wenig krumm, löst aber einen neuen Aufbau der Seite in dem eignen Frame aus!!! geht vielleicht eleganter, erfüllt aber zur Zeit seinen Zweck

in File "guidebook.js" (wird jeweils von "xxx.html" im Frame "content" aufgerufen):

function checkhdl() {
  if (parent.hdl.hdlx != document.title) parent.hdl.checkhdl();
}
window.setTimeout("checkhdl()",100);

========

Nach Aufruf der neuen Seite im Frame "content" wird nach 100 ms die Funktion "checkhdl" im "content"-Frame ausgeführt. "hdlx" ist eine Variable im Dokument "hdl.html", die als Textspeicher funktioniert und den Titel des "content"-Frames aufnimmt. Ist der Inhalt von "hdlx" verschieden zu "document.title" im "content"-Frame, so wird veranlaßt, im "hdl.html"-Dokument des "hdl"-Frames die Funktion "checkhdl" auszuführen, dort wird erneut "hdlx" überprüft, was dazu führt, die Seite im "hdl"-Frame neu aufzubauen.

Da mag zwar ein wenig umständlich aussehen, stellt aber sicher, daß beim Laden der kompletten Seite, die Anzeige des richtigen Titels erfolgt und wenn später die Seite im "content"-Frame wechselt - es gibt verschiedene Möglichkeiten die Seite in dem Frame zu wechseln -, daß der Titel im "hdl"-Frame immer passend zum Inhalt des "content"-Frames erscheint.

Gruß f