Hi,
Ich versuche mit JavaScript eine fremde HTML-Seite auszulesen.
das sollte dir theoretisch nicht gelingen.
Wenn ich in den IFrame nun eine lokale Datei lade, zB test.html, dann geht es. Aber wenn ich eine externe Seite, zB http://de.selfhtml.org/html/index.htm in den IFrame lade, dann kommt:
uncaught exception: Permission denied to get property HTMLDocument.getElementsByTagName
Du möchtest mal über die Same Origin Policy nachlesen.
Es ist einem Javacript aus Sicherheitsgründen *generell* nicht erlaubt, auf Inhalte zuzugreifen, die von einer anderen Domain stammen als das Script selbst. Das lokale Filesystem zählt unter diesem Gesichtspunkt wie eine separate Domain.
Wie kann ich das beheben bzw. wenn das nicht so geht, wie geht es dann?
Das geht nur über einen Umweg. Ein serverseitiges Script (z.B. PHP) auf deinem eigenen Server kann die fremde Seite anfordern und dann an den Client weiterreichen. Dann scheint sie ja von deinem Server zu kommen, von wo auch das Javascript stammt.
Aber: Gestattet der Inhaber der fremden Seite überhaupt, dass du seine Inhalte auf diese Weise ausliest und in einen anderen Kontext bringst?
Gutes Neues schonmal,
Martin
Lieber blau machen, als sich schwarz ärgern.