Hallo,
document.getElementById("TXT").data = "stories/neuertext.htm";
Das funktioniert aber nicht.
Der Knackpunkt ist es dummerweise, dass wohl kaum einer der Browser bei einer Änderung des Attributes data für nötig erachtet, den Inhalt des Object-Elementes neu zu laden. Ist zwar dumm, aber verpflichtend ist das nicht. Also muss es anders gelöst werden.
Man hat zwar mittels des (nicht in SELFHTML dokumentierten) Shortcuts contentDocument Zugriff auf das etwaig vorhandene document-Element der im object-Element enthaltenen Ressource, allerdings hat man auch dort keine Möglichkeit, die Adresse zu ändern; die Objekte window und document bzw. Javascript und DOM sind nun mal zwei verschiedene Paar Schuhe. Hier im Forum hat jemand namens Avalon mal vorgeschlagen, dass das im object-Element enthaltene Dokument eine Referenz auf sein window-Objekt per Javascript an das Dokument, das das object-Element enthält. Schön ist das nicht – und auch nicht praktikabel, wenn im object-Element andere Inhalte als HTML-Ressourcen enthalten sind. Wenn, dann ist es aber praktikabel.
Die zweitgängigste Lösung für dieses Problem ist die brutalste Variante, nämlich einfach das object durch ein neues mit den passenden Parametern ersetzen. Entweder bequem mittels innerHTML wie im Forumsarchiv von Marc Reichelt vorexerziert oder aber mit DOM-Methoden, wie in diesem Beispiel von mir.
Die wohl gängigste Methode? Einfach ein iframe-Element benutzen. ;)
Tim