Ошибка iframe и http при загрузке неверного или защищенного URL - PullRequest
1 голос
/ 24 октября 2011

IM пишет некоторый html, который обеспечивает функцию предварительного просмотра для списка URL.Я хочу использовать iframe для этой функции,

Проблема возникает, когда некоторые из URL-адресов повреждены (возвращая ошибку 500) или когда страница содержит какой-либо процесс аутентификации, который не может удовлетворить запрашивающий пользователь.В этих ситуациях iframe пытается отобразить URL, но содержимое, возвращаемое во фрейме, бесполезно (ошибка 500 или ошибка аутентификации) для пользователя.

Имеет ли iframe встроенную обработку ошибок для этих senarios или являетсяЕсть ли какой-то другой способ отображения страницы с общей ошибкой, если что-то происходит при загрузке iframe?

Спасибо

1 Ответ

1 голос
/ 25 октября 2011

AFAIK, нет никакого способа напрямую получить доступ к заголовку ответа на запрос, инициированный iframe (или даже любым запросом) в сценарии на стороне клиента.

Это немного запутанно, но я думаю, что это будет работать:

  1. iframe изначально загружается URL-адресом, который ссылается на скрипт на вашем сервере, и вы передаете фактический URL-адрес в качестве параметра GET.
  2. Сценарий на стороне сервера берет этот URL и отправляет ему запрос HEAD (после перенаправления 3xx).
    • Если код ответа для запроса HEAD> = 200 и <300, отправьте клиенту какой-нибудь сценарий, который изменит значение iframe <code>src на фактический URL-адрес (вы можете сделать что-то столь же простое, как window.location.href = но я не уверен без тестирования).
    • Если код ответа> = 400, отправьте страницу с надписью «В данный момент эта страница не загружается».

Если вы знаете PHP / он доступен на вашем сервере, я могу попробовать привести пример кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...