javascript: Überprüfen Sie, ob die iframe-URL die gleiche oder eine externe Domain ist

8

Ich weiß, dass ich nicht auf Daten in einem iframe zugreifen kann, der eine Seite aus einer anderen Domain anzeigt. Das ist vollkommen in Ordnung, aber ich würde gerne feststellen, ob der Iframe momentan eine Seite von meiner Domain oder etwas Externes anzeigt.

Mein erster Versuch wäre, zu versuchen, auf

zuzugreifen %Vor%

in try {} catch {} eingeschlossen, und wenn ein Fehler ausgelöst wird, bedeutet dies, dass ich nicht darauf zugreifen kann. Daher muss die Iframe-Seite extern sein. Das klingt wie eine perfekte Lösung, aber die Sache ist Safari postet eine "Unsafe JavaScript Versuch, auf Frame mit URL zuzugreifen" Nachricht an die JavaScript-Konsole. Dies ist nicht nur hässlich, sondern kann dazu führen, dass andere oder zukünftige Browser dem Benutzer explizite Sicherheitswarnungen anzeigen.

    
Marian Theisen 14.09.2011, 14:15
quelle

3 Antworten

1

Können Sie versuchen, postMessage zu verwenden?

Wenn es keine Antwort gibt, handelt es sich um eine externe Domäne.

    
Khanh TO 06.04.2013 00:45
quelle
0

Wenn dies Ihr HTML ist:

%Vor%

wäre es nicht so einfach:

%Vor%

und verwenden Sie es dann, um mit Ihrer Domain zu vergleichen?

    
ZenMaster 14.09.2011 14:22
quelle
0

Warum nicht prüfen, ob das href-Attribut aus dem iframe mit Ihrer Domain übereinstimmt?

%Vor%     
kasper Taeymans 14.09.2011 14:22
quelle