Cheatah: Zugriff auf top.frames[0].name verweigert

Beitrag lesen

Hi,

Ich habe das Problem, dass meine Seite derzeit (gewollt oder ungewollt) in einem Frame einer anderen Seite "gewebnappt" wird. Dieses möchte ich natürlich vermeiden.

wenn der Besitzer der fremden Site dies nicht auf Deine Bitte hin unterlässt, dann drohe ihm mit rechtlichen Schritten. Du bekämst in jedem Fall Recht.

da ich im Normalfall den Weiterleitungsframe mit dem Domainnamen in der Adresszeile nicht zerstören möchte.

Dir ist aber schon bewusst, dass ein Frameset schon allein _weil_ (zumeist) nicht die reelle URL angezeigt wird, eine Minderung der Qualität darstellt? Wenn es nur wegen des Domainnamens ist, ist das Unsinn.

Das Problem ist nur, dass das Javascript bei der Seite, die meine Seite in Ihrem Frame darstellt, mit der Fehlermeldung abbricht, das der Zugriff auf window.name (also denke ich top.frames[0].name) verweigert wird.

Korrekt, wegen der Same Origin Policy. Kommen befragtes und fragendes Dokument von unterschiedlichen Quellen (gemessen an Protokoll, Hostname und Port), wird der Zugriff verweigert. Es existiert kein Weg, dies zu vermeiden - und es existiert auch kein Weg, zwischen "Frameset des Bösewichts" und "Frameset Deiner Domain" zu unterscheiden.

Sicherlich könnte ich jetzt mit onError den Fehler abfangen, aber ich halte das dann nicht unbedingt für "sauber" programmiert.

Im Prinzip schon. Mit window.onerror kannst Du völlig legitim, korrekt und sauber aus einem Frameset ausbrechen.

1.) Gibt es einen Weg abzufragen, ob ich einen zugriff auf top.frames[0].name habe, OHNE das mir das Javascript abbricht?

Nein.

2.) Gibt es vielleicht eine komplett andere Lösung hierfür?

Ja. Verzichte auf das Domain-Frameset. Und sprich mit dem Webmaster der Fremdsite.

Cheatah