Hallo Cheatah!
[...webnapping...]
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.
Mit _dem_ würde ich das warscheinlich hinbekommen, da es bei ihm - meiner Meinung nach - nur Unwissenheit ist, dass man mit _blank einen Link in einer neuen Seite öffnen kann und sollte. Da mir das ja aber auch mit anderen Seiten passieren kann, benutze ich ihn im Moment als Testobjekt, um meine Seite dagegen zu sichern :-).
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.
Sicherlich ist es nicht die "sauberste" Methode. Für unsere Seite (www.aller-weser-skating.de) ist es aber derzeit die deutlich günstigste Lösung. Ich denke nicht, dass wir im Moment mehr brauchen.
Welche "Minderung der Qualität" meinst Du den überhaupt, außer das man das nicht machen soll, weil es z.B. nicht "sauber" ist? Mir viele da noch ein, das man z.B. nicht direkt auf Unterkapitel (www.aller-weser-skating.de/aktuelles) zugreifen kann, ok, stimmt, kann ich aber derzeit darauf verzichten... Für so unsinnig halte ich es nicht, dass der Domain-Name in der Adresszeile enthalten bleibt. Macht einen besseren Eindruck :-).
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.
Danke, soweit bin ich in der Javascript-Programmierung noch nicht drin, dass ich das wußte. Das werde ich mir noch mal genauer anschauen.
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.
Na, dann werde ich das wohl so lösen.
1.) Gibt es einen Weg abzufragen, ob ich einen zugriff auf top.frames[0].name habe, OHNE das mir das Javascript abbricht?
Nein.
Schade! Kann man wirklich nicht irgendwie abfragen: "Darf ich auf dem Top-Frame zugreifen, ohne das mein Script abbricht?" Muss ja nicht über top.frames[0].name gehen...
Ich komme von der C++ Programmierung, und da würde ich es nicht gut finden, _bewußt_ eine Exception in Kauf zu nehmen, und diese dann z.B. mit try catch abzufangen. Mir wäre eine Lösung darf.ich.zugreifen!=true dann lade nach deutlich lieber.
2.) Gibt es vielleicht eine komplett andere Lösung hierfür?
Ja. Verzichte auf das Domain-Frameset. Und sprich mit dem Webmaster der Fremdsite.
Ungern würde ich auf das Domain-Frameset verzichten, wenn es geht. Mit dem Webnapper spreche ich, sobald mein Script läuft :-)
Cheatah
Vielen Dank für Deine Hilfe!
Andreas