Я загружаю выбранную пользователем страницу в iframe, используя свойство src. Если загрузка не удалась, я хотел бы сообщить о проблеме в терминах, которые будут иметь смысл для пользователя. iframe не поддерживает, в общем, поддержку onerror согласно http://www.w3schools.com/jsref/dom_obj_frame.asp.
Страница может появляться из домена пользователя, а не моего, поэтому я не могу просмотреть содержимое iframe.
Я могу установить тайм-аут и отменить его из моего обработчика onload, если загрузка будет успешной, но для предотвращения ложных отчетов об ошибках потребуется длительный тайм-аут, а между тем Safari на моем iPhone отображает предупреждение, которое может смутить пользователь. Даже это не работает для браузера Kindle Fire - он передает событие загрузки моему обработчику независимо от того, была ли загрузка успешной.
Есть ли какое-либо событие, которое я могу использовать для обнаружения сбоя? Есть ли способ подавить поведение Safari по умолчанию? В любом случае, я могу сказать, провалилась ли попытка загрузки? (Если бы я мог это сделать, я мог бы использовать более короткий тайм-аут и опрос до тех пор, пока попытка загрузки не будет разрешена).
Я могу потребовать использования современных браузеров, но хотел бы, чтобы решение было переносимым как можно больше смартфонов и планшетов.
Я тестировал идею AJAX Get, и она, к сожалению, не работает. Междоменный AJAX. Получение произвольного URI приводит к исключению, независимо от того, существует ли цель и может быть загружена в iframe или нет.