Перенаправлять браузер, только если веб-сайт доступен - PullRequest
3 голосов
/ 03 июня 2011

У меня есть файл HTML, хранящийся в локальной файловой системе. Мне нужно, чтобы он перенаправлял (или каким-либо другим образом отображал) удаленный веб-сайт, ТОЛЬКО если сайт онлайн и доступен. Если сайт недоступен, мне нужно отобразить удобное сообщение.

В настоящее время у меня есть:

<html>
<body onload="window.location.href='http://someserver/';">
    <p>Connecting to remote server...</p>
</body>
</html>

Проблема в том, что если сервер недоступен, пользователю предоставляется ужасная страница «не удается найти сервер» из веб-браузера. Я бы предпочел отобразить некоторый пользовательский HTML-код, указывающий на ситуацию пользователю, если при навигации по страницам возникают проблемы. Какие наиболее часто используемые решения, которые я должен попробовать, хорошо подойдут для этого?

Требование: должно работать в IE6 через IE9. Механизмы FireFox / WebKit не будут использоваться для этого приложения.

Ответы [ 2 ]

7 голосов
/ 03 июня 2011

Простым способом будет попытка загрузить известное маленькое изображение, и вы обнаружите, выполняется загрузка или нет.

<img src="http://www.rgagnon.com/images/pdf.gif"
   onload="window.location='http://www.rgagnon.com';"
   onerror="window.location='http://www.google.com';"
>

Если загружен файл pdf.gif, мы переключаемся на сайт, если нет, то идем куда-то еще.

2 голосов
/ 03 июня 2011

Вы можете использовать запрос в стиле AJAX при загрузке, чтобы убедиться, что сервер активен, прежде чем перенаправить браузер на него, но нет гарантии, что сервер будет все еще живым , когда произойдет перенаправление.

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