getElementsByTagName funktioniert nicht auf eingelesenem Dokument

alex avner

Grünschnabel
Hallo Alle

Ich versuche innerhalb einer Website ein äusseres Dokument einzulesen und Teile daraus zu bearbeiten und einzufügen. Dazu lese ich das Dokument mit window.open ein:

Javascript:
outer_doku_1 = window.open(url_1, "doku_1", "top=0,left=0,width=100,height=100"); 
alert("doku_1  " + outer_doku_1.document.getElementsByTagName('html')[0].innerHTML);

Jetzt müsste gemäss Theorie das gesamte eingelesene Dokument erscheinen. Als Resultat des Alerts erscheint aber lediglich <head></head><body></body>. Nicht gerade hilfreich,

Mit der eigenen Website funktioniert alles einwandfrei. D,h. mit
Javascript:
alert("eigene_doku  " + window.document.getElementsByTagName('html')[0].innerHTML);

kommt der gesamte eigene html Code inklusive allen inline Scripts.

Natürlich versuchte ich auch andere Tags und auch getElementByName, getElementById usw., aber auf dem eingelesenen Dokument geht rein gar nichts. :(

Dann dachte ich, dass vielleicht Ladezeit fehlt, also baute ich vor dem alert noch ein setTimeout ein. Half auch nicht.

Weiter möchte ich noch betonen, dass die eingelesene Website mir selbst gehört, also an Zugriffsrechten oder so kann es auch nicht liegen.

Wenn jemand eine Idee hat, was hier falsch läuft, bin ich dankbar.

Gruss aus Zürich

Alex Avner
 
Zuletzt bearbeitet:
Mit der eigenen Website funktioniert alles einwandfrei. [...] aber auf dem eingelesenen Dokument geht rein gar nichts.
Ist das Ganze online zugänglich, um sich einen genaueren Überblick verschaffen zu können?

Und darf man mal den Code des nicht-einlesbaren Dokuments sehen?
Weiter möchte ich noch betonen, dass die eingelesene Website mir selbst gehört, also an Zugriffsrechten oder so kann es auch nicht liegen.
Zielst Du auf https://de.wikipedia.org/wiki/Same-Origin-Policy ab?
 
Mit der eigenen Website funktioniert alles einwandfrei. [...] aber auf dem eingelesenen Dokument geht rein gar nichts.
Ist das Ganze online zugänglich, um sich einen genaueren Überblick verschaffen zu können?

Und darf man mal den Code des nicht-einlesbaren Dokuments sehen?
Weiter möchte ich noch betonen, dass die eingelesene Website mir selbst gehört, also an Zugriffsrechten oder so kann es auch nicht liegen.
Zielst Du auf https://de.wikipedia.org/wiki/Same-Origin-Policy ab?
 
Vielen Dank für den Hinweis auf SOP. Ich hatte das nicht gekannt. Das ist in diesem Falle die Antwort: die Website, die ich ich einlesen will ist zwar meine eigene, liegt aber auf einem ganz anderen Host. Jetzt weiss ich wenigstens, dass es keine Zweck hat, weiter am JS-Code herumzudoktern. Ich werde das von mir gewünschte serverseitig (HTTP Request usw.) zu erreichen versuchen.
 
Zurück