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.
Können Sie versuchen, postMessage zu verwenden?
Wenn es keine Antwort gibt, handelt es sich um eine externe Domäne.
Warum nicht prüfen, ob das href-Attribut aus dem iframe mit Ihrer Domain übereinstimmt?
%Vor%Tags und Links javascript iframe same-origin-policy