HTML Code speichern?
Christian Ploninger
- javascript
Hallo!
Ich habe das Problem, das ich auf den sich in einem anderen Frame befindlichen HTML Code zugreifen und diesen in eine Stringvariable speichern will.
Ich habe eine Lösung mit outerHTML auf das Body-Tag gefunden.
Nun habe ich aber das Problem, das der interessante HTML Code das Resultat eines FORM-Posts ist und mir der Zugriff auf window.frames[x].document.all.tags("body")[0].outerHTML verweigert wird.
Hat irgendwer eine Ahnung wie man auf den HTML-Code richtig zugreifen kann???
DANKE!
Christian
Hallo Christian,
Nun habe ich aber das Problem, das der interessante HTML Code das Resultat eines FORM-Posts ist und mir der Zugriff auf window.frames[x].document.all.tags("body")[0].outerHTML verweigert wird.
Ich hab zwar noch nicht ganz verstanden, was da alles passiert bei dir, aber:
window.frames[x].document.all.tags("body")[0].outerHTML
solltest du mal ersetzen durch
parent.frames[x].document.all.tags("body")[0].outerHTML
(und x muss natuerlich eine konkrete Zahl sein)
Wenn's das nicht ist, dann koenntest Du mal versuchen, in der Datei mit dem "interessanten" HTML-Code folgendes zu notieren:
<form name="Code"><input name="Data" type="hidden" value=""></form>
und im Dateikopf der gleichen Datei:
<script language="JavaScript">
function SetCodeData()
{
document.Code.Data.value = document.all.tags("body")[0].outerHTML;
}
</script>
und im <body>-Tag der gleichen Datei:
<body ... onLoad="SetCodeData">
In der anderen Datei im anderen Frameset kannst Du dann versuchen, mit JavaScript auf das hidden-Feld der anderen Datei zuzugreifen:
var x = parent.frames[x].document.Code.Data.value;
viele Gruesse
Stefan Muenz
Nun habe ich aber das Problem, das der interessante HTML Code das Resultat eines FORM-Posts ist und mir der Zugriff auf window.frames[x].document.all.tags("body")[0].outerHTML verweigert wird.
Das heißt also, daß der Quelltext dynamisch generiert wird (z.B. mit CGI) ? Dann könntest Du ja in dem Skript was einbauen, was den Sourcecode in eine Variable schreibt, auf die Du dann aus den anderen Frames zugreifen kannst... ist allerdings nicht so flexibel, als wenn man beliebige Seiten so auslesen kann... aber das könnte ja auch ein Sicherheitsproblem werden, wenn es möglich wäre...
CIAO
H-Man
Danke fuer die guten Tips!
ABER ich denke ich habe das Problem erkannt:
Das Problem ist, dass die mit outerHTML zu lesenden Daten, in einer anderen Domäne liegen, und deswegen wird mir der Zugriff verweigert.
Frames.html HomeDomäne (HomePC)
LeftFrame.html HomeDomäne (HomePC)
RightFrame.html ExterneDomäne (Internet Server)
In LeftFrame.html versuche ich auf den im RightFrame stehenden HTML-Code zuzugreifen (mittels parent.frames["RightFrame"].document.all.tags("body")[0].outerHTML;)
Weiters hab ich das Problem, dass ich RightFrame.html nicht modifizieren kann.
Kann ich trozdem die Daten IRGENDWIE lesen. (Vielleicht mit zwischenspeichern auf die Festplatte??)
DANKE
Euer Chris
Das Problem ist, dass die mit outerHTML zu lesenden Daten, in einer anderen Domäne liegen, und deswegen wird mir der Zugriff verweigert.
Ahh ja.. das Problem hatte ich auch schon.. wollte in
meinem Forum (Firmen-Rechner) ne JavaScript Variable
auslesen von meiner privaten Page (also anderer Server)
wo ein Stylesheet-Pfad drinsteht und dieses denn im Forum verwenden.
Klappte lokal problemlos aber auf 2 verschiedenen Servern
nicht.. da kam den Zugriff verweigert.
Hat bestimmt wieder was mit den Sicherheitsfanatikern und
so zu tun das man das nicht darf.. *g*
Naja.. wenns da ne Lösun für gäbe wäre ich auch immer
noch sehr interessiert.
gruss
Jens
Hallo!
Also ich hab mich mal schlau gemacht, und angeblich funktioniert das mit JS ueberhaupt nicht (Schlagwort - Sandbox. dh man kann nur in der eigenen Domäne was tun).
Aber mit Java oder C++ sollte das kein Problem sein.
Werde mich mal etwas damit befassen.
Dein Chris
Das Problem ist, dass die mit outerHTML zu lesenden Daten, in einer anderen Domäne liegen, und deswegen wird mir der Zugriff verweigert.
Ahh ja.. das Problem hatte ich auch schon.. wollte in
meinem Forum (Firmen-Rechner) ne JavaScript Variable
auslesen von meiner privaten Page (also anderer Server)
wo ein Stylesheet-Pfad drinsteht und dieses denn im Forum verwenden.
Klappte lokal problemlos aber auf 2 verschiedenen Servern
nicht.. da kam den Zugriff verweigert.
Hat bestimmt wieder was mit den Sicherheitsfanatikern und
so zu tun das man das nicht darf.. *g*
Naja.. wenns da ne Lösun für gäbe wäre ich auch immer
noch sehr interessiert.gruss
Jens