inhalt eines iframes/objects
heike
- javascript
0 MichelM0 heike
0 herbalizer
Hallo,
koennt ihr mir helfen?
Ich habe folgendes Problem:
Ich moechte den Inhalt eines iframes oder objects in ein document einlesen.
Dies funktioniert unter ie, aber nicht unter ns6
Beim ie mache ich es so:
<iframe name="metatest" style="position:relative;
display:none;" src="test.htm"></iframe>
JS:
var content = parent.document.metatest.document.body.innerHTML;
Nur eben im NS6 bekomme ich es nicht hin.
Danke Heike
Hallo Heike,
frames auslesen ist böse (content-grabbing), daher gibt es Sicherheitseinstellungen beim Netscape UniversalBrowserRead und UniversalBrowserWrite.
Ausserdem hat der Netscape6 nicht document.body, das ist IE-Mist.
Da inzwischen viele Browser DOM2 voll unterstützen, verwende diesen W3C-Standard auch richtig.
Das wäre allLayers=new Array;allLayers=document.getElementsByTagName("*") entpricht dann document.all.
allBodys=document.getElementsByTagName("BODY");
allDIVS=document.getElementsByTagName("DIV");
document.getElementById entpricht ähnlich find(), sucht also nach einer ID in allen Elementen, daher kann es auch mal langsamer sein als document.all oder die angegebene Array-Variante.
Viel Erfolg
Michael
Hallo Micahel,
wie mache ich das denn dann, wenn ich auf den Inhalt zugreifen moechte.
Also wenn ich ein <object> vonm Typ text/html habe.
ich finde es mit document.getElementsByTagName("object")[0].?????
so kann ich z.B. auf den Namen oder die Data URL zugreifen,
aber ich komme an den HTML-Inhalt nicht ran.
Danke Heike
Hallo Heike,
frames auslesen ist böse (content-grabbing), daher gibt es Sicherheitseinstellungen beim Netscape UniversalBrowserRead und UniversalBrowserWrite.
Ausserdem hat der Netscape6 nicht document.body, das ist IE-Mist.
Da inzwischen viele Browser DOM2 voll unterstützen, verwende diesen W3C-Standard auch richtig.
Das wäre allLayers=new Array;allLayers=document.getElementsByTagName("*") entpricht dann document.all.
allBodys=document.getElementsByTagName("BODY");
allDIVS=document.getElementsByTagName("DIV");
document.getElementById entpricht ähnlich find(), sucht also nach einer ID in allen Elementen, daher kann es auch mal langsamer sein als document.all oder die angegebene Array-Variante.
Viel Erfolg
Michael
Hallo,
koennt ihr mir helfen?
Ich habe folgendes Problem:
Ich moechte den Inhalt eines iframes oder objects in ein document einlesen.
Dies funktioniert unter ie, aber nicht unter ns6
Beim ie mache ich es so:
<iframe name="metatest" style="position:relative;
display:none;" src="test.htm"></iframe>
JS:
var content = parent.document.metatest.document.body.innerHTML;
Nur eben im NS6 bekomme ich es nicht hin.
Danke Heike
objects geht nicht.
iframes NS6:
Du solltest den iframe mit einer id Kennzeichnen: <iframe id="metatest" ..></iframe>
Zugegriffen wird dann mit
document.getElementById('metatest').contentDocument.body.innerHTML
bzw.
parent.document.getElementById('metatest').contentDocument.body.innerHTML
Übrigens darf der iframe NICHT das Styleattribut display:none besitzen!!!!!!!!!!!!!