Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.03.2013, 08:17
Интересующийся
Отправить личное сообщение для defish Посмотреть профиль Найти все сообщения от defish
 
Регистрация: 12.01.2013
Сообщений: 10

window.alert
На моем сайте есть ссылки на ресурс, который временами недоступен. Как сделать чтобы вместо стандартного окна: "невозможно установить соединение с тра-ля-ля" выскакивало сообщение в маленьком окне?

<script type="text/javascript">
function bonclick(){
alert("В данный момент ресурс недоступен.");
return "";
}
</script>
Ответить с цитированием
  #2 (permalink)  
Старый 21.03.2013, 08:46
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Думаю нужно делать запрос на свой сервер, который будет "пинговать" ресурс и анализировать заголовки ответа. Кстати, все это создаст дополнительную задержку, думаю порядка 0,5-1с
Ответить с цитированием
  #3 (permalink)  
Старый 21.03.2013, 23:21
Интересующийся
Отправить личное сообщение для defish Посмотреть профиль Найти все сообщения от defish
 
Регистрация: 12.01.2013
Сообщений: 10

можно готовый пример? я не "профессор"
Ответить с цитированием
  #4 (permalink)  
Старый 22.03.2013, 04:08
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Клиентская часть простая:

$('a').click(function(e){
    e.preventDefault();
    $.post('ping.php', {url: this.href}, function(status){
        // ожидаем что сервер вернет ввиде ответа код статуса ресурса
        if (status == 200) {
            window.location = this.href;
        }
    });
});


На сервере, если это php - через curl делать запрос ресурса. Для примера ищи "профессоров" php.

Вобще, для удобства нужно проверять ресурс не по клику, а раньше, выводя значек доступности или недоступности. Хотя тогда будет много лишних запросов. Если не критично - можно на сервере кэшировать результаты запроса, например каждый час. Причем когда данные в кэше имеются, то можно вообще без ajax иконки выводить.

Последний раз редактировалось danik.js, 22.03.2013 в 04:13.
Ответить с цитированием
  #5 (permalink)  
Старый 23.03.2013, 05:40
Интересующийся
Отправить личное сообщение для defish Посмотреть профиль Найти все сообщения от defish
 
Регистрация: 12.01.2013
Сообщений: 10

спасибо. похоже придется временно забить
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск