Запрет iframe Эта веб-страница недоступна. ошибка отображения на сайте

Есть ли способ предотвратить ошибку Эта веб-страница недоступна. от отображения в iframe, который отображается на другом сайте?

Например, если у меня есть веб-сайт, и я хочу отобразить своих поклонников на Facebook в поле, один из способов отобразить его — с помощью iframe (обычно это код, предоставленный Facebook). Однако, если по какой-то причине Facebook не работает или медленно отвечает (как сейчас), на моем веб-сайте отображается следующее, где должен отображаться iframe:

Эта веб-страница недоступна.

Веб-страница по адресу http://www.facebook.com/plugins/likebox.php?id=xxxxxxxxxx&width=182&connections=6&stream=false&header=true&height=287может быть временно недоступна или навсегда перемещена на новый веб-адрес.

• Дополнительные сведения об этой ошибке Ниже приведено исходное сообщение об ошибке. Ошибка 324 (net::ERR_EMPTY_RESPONSE): Неизвестная ошибка.

Если Facebook (или другой веб-сайт) недоступен, я был бы рад ничего не отображать или отображать графику того же размера (высота / ширина) или множество других альтернатив, КРОМЕ отображения ошибки на моей домашней странице! Из-за этого мой сайт выглядит сломанным для пользователей.

Приветствуются любые идеи! заранее спасибо


person DigitalZombieKid    schedule 23.08.2010    source источник


Ответы (2)


Вы можете использовать свойство onerror="" iframe, чтобы сделать что-то творческое. Учти это:

<iframe src="foo.bar" onerror="this.location.reload();" />

Надеюсь это поможет

Изменить: это больше не работает.

person mattbasta    schedule 23.08.2010
comment
onerror для элементов iframe является частью спецификации HTML5 и, насколько я могу судить, поддерживается только в последних версиях Chrome и Safari. Firefox, IE и Opera не поддерживают его, хотя добавить его не помешает, чтобы он работал, когда эти браузеры его реализуют. - person Andy E; 24.08.2010
comment
@Энди: ты уверен? я только что протестировал хром 9.0.597.94, и onerror, похоже, не поддерживается - person brillout; 23.02.2011
comment
@brillout.com: у меня не было возможности как следует проверить это, когда я писал этот комментарий. Что я сделал, так это набрал в консоли Chrome следующую команду: "onerror" in document.createElement("iframe"). Результат был (и остается для меня в 9.0.597.98) true, что означает, что Chrome определяет свойство/атрибут по умолчанию с именем onerror для элементов iframe. Его значение равно null, что является типичным значением свойств инициализированного обработчика событий. - person Andy E; 24.02.2011
comment
Хотя свойство события существует в Chrome, насколько я могу судить, на самом деле оно никогда не срабатывает. - person Miral; 06.10.2014

Если вы что-то делаете на стороне сервера, вы можете проверить этот URL-адрес и посмотреть, возвращает ли он ошибку 404.

person JiminyCricket    schedule 23.08.2010
comment
Это не сработает, потому что вам нужны учетные данные клиентов из их браузера для отображения контента facebook. - person Byron Whitlock; 24.08.2010