wykryć błąd ładowania iframe
Ładuję stronę wybraną przez użytkownika do ramki iframe przy użyciu właściwości src. Jeśli obciążenie nie powiedzie się, chciałbym zgłosić problem w terminach, które będą miały sens dla użytkownika. iframe na ogół nie obsługuje onerror zgodnie zhttp://www.w3schools.com/jsref/dom_obj_frame.asp.
Strona może pochodzić z domeny użytkownika, a nie z mojej, więc nie mogę wyświetlić zawartości ramki iframe.
Mogę ustawić limit czasu i anulować go z mojego programu obsługi obciążeń, jeśli ładowanie się powiedzie, ale musiałby upłynąć długi czas, aby uniknąć fałszywych raportów o błędach, a tymczasem Safari na moim iPhonie wyświetlała alert, który może wprowadzić użytkownika w błąd. Nawet to nie działa dla przeglądarki Kindle Fire - dostarcza zdarzenie ładowania do mojego programu obsługi niezależnie od tego, czy ładowanie powiodło się.
Czy jest jakieś zdarzenie, którego mogę użyć do wykrycia awarii? Czy jest jakiś sposób na ukrycie domyślnego zachowania Safari? W dowolny sposób mogę stwierdzić, czy próba załadowania nie powiodła się? (Gdybym mógł to zrobić, mógłbym użyć krótszego czasu oczekiwania i sondowania, aż próba obciążenia zostanie rozwiązana).
Mogę wymagać korzystania z aktualnych przeglądarek, ale chciałbym rozwiązanie, które jest przenośne wśród jak największej liczby smartfonów i tabletów.
Przetestowałem pomysł AJAX Get i niestety nie działa. Przekierowanie AJAX między domenami do dowolnego URI powoduje wyjątek, niezależnie od tego, czy cel istnieje i czy można go załadować do ramki iframe.