Erkennen eines Iframe-Ladefehlers

Ich lade eine vom Benutzer ausgewählte Seite mit der Eigenschaft src in einen Iframe. Wenn das Laden fehlschlägt, möchte ich das Problem in Begriffen melden, die für den Benutzer sinnvoll sind. iframe unterstützt im Allgemeinen keine Fehler gemäßhttp://www.w3schools.com/jsref/dom_obj_frame.asp.

Die Seite stammt möglicherweise aus der Domäne des Benutzers, nicht aus meiner, daher kann ich den Inhalt des Iframes nicht anzeigen.

Ich kann eine Zeitüberschreitung festlegen und sie von meinem Onload-Handler aus abbrechen, wenn der Ladevorgang erfolgreich war. Es würde jedoch eine lange Zeitüberschreitung erforderlich sein, um falsche Fehlermeldungen zu vermeiden. In der Zwischenzeit zeigt Safari auf meinem iPhone eine Warnung an, die den Benutzer verwirren könnte. Auch dies funktioniert nicht mit dem Kindle Fire-Browser - er sendet ein Ladeereignis an meinen Handler, unabhängig davon, ob das Laden erfolgreich war.

Gibt es ein Ereignis, mit dem ich einen Fehler erkennen kann? Gibt es eine Möglichkeit, das Standardverhalten von Safari zu unterdrücken? Kann ich irgendwie feststellen, ob der Ladeversuch fehlgeschlagen ist? (Wenn ich das könnte, könnte ich ein kürzeres Timeout verwenden und abfragen, bis der Ladeversuch abgeschlossen ist).

Ich kann die Verwendung von aktuellen Browsern verlangen, möchte aber eine Lösung, die auf so viele Smartphones und Tablets wie möglich portierbar ist.

Ich habe die AJAX Get Idee getestet und es funktioniert leider nicht. Ein domänenübergreifender AJAX-Abruf einer beliebigen URI führt zu einer Ausnahme, unabhängig davon, ob das Ziel vorhanden ist und in den iframe geladen werden kann oder nicht.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage