Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> img.onerror, как получить текст ошибки?
arbuzmaster  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 720
Пользователь №: 37872
На форуме: 3 года, 4 месяца, 8 дней
Карма: 21




Ситуация следующая, есть скрипт проверяющий наличие картинки на определенных серверах, если картинка есть, то все ок. Но есть случаи, когда появляется ошибка так как сервер есть, а картинки на нём нет физически и соответственно срабатывает событие img.onerror, так вот вопрос - как получить текст ошибки ? В консоли это выглядит так
GET http://192.168.0.48/cgi-bin/ 403 (Forbidden)


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3375
Пользователь №: 38635
На форуме: 2 года, 11 месяцев, 7 дней
Карма: 170




arbuzmaster
на уровне сервера или клиента?
В любом случае, смотреть в ответ сервера, с которого тянешь картинку.
Если на клиенте, то сначала делаешь <img src='default_img.jpg'>, потом яваскриптом подгружаешь остальные. Если ответ сервера 200, то меняешь значение src.

Если на уровне сервера, то сначала запрос картинки, если ответ не 200, то выставляешь default_img.jpg



--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11783
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 9 дней
Карма: 428

Трезвый :
7 лет, 3 месяца, 10 дней


Цитата (arbuzmaster @ 31.01.2016 - 21:33)
как получить текст ошибки

посмотри какие данные передаются в коллбэк onerror


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
arbuzmaster  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 720
Пользователь №: 37872
На форуме: 3 года, 4 месяца, 8 дней
Карма: 21




Это я понял, меня интересует - можно ли выковырить тот самый код 403 из onerror (с 200 все и так понятно - onload). В общем задача такая - поиск устройств в локальной сети пользователя, то есть того что находится за роутером, соответственно из вне к ним доступа нет, поэтому и javascript. Есть два типа устройств : 1- у которых есть url с картинкой и 2- у которых нет url с картинкой (так как картинки там нет физически в web интерфейсе).
Например запрос

im.src = 'http://192.168.0.48/cgi-bin/do?cmd=status';

в консоли Network - >Headers выдает

Request Method:GET
Status Code:200 OK

а срабатывает onerror!
Можно ли как-то вытащить эту или какую-либо другую информацию ?


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
arbuzmaster  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 720
Пользователь №: 37872
На форуме: 3 года, 4 месяца, 8 дней
Карма: 21




Цитата (Invis1ble @ 1.02.2016 - 00:07)
Цитата (arbuzmaster @ 31.01.2016 - 21:33)
как получить текст ошибки

посмотри какие данные передаются в коллбэк onerror

как посмотреть?
вот код

var im = new Image();
im.src = 'http://192.168.0.48/cgi-bin/do?cmd=status';

im.onload = function()
{

console.log('Server found. ' );
}

im.onerror = function()
{

console.log(' Server not found!');
}


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11783
Пользователь №: 23195
На форуме: 6 лет, 4 месяца, 9 дней
Карма: 428

Трезвый :
7 лет, 3 месяца, 10 дней


посмотреть так
	im.onerror = function(event) 
{
console.log(event); // ничего полезного
console.log(' Server not found!');
}

но я тут погуглил немного на досуге, и не нашел способа вывести текст ответа
если найдешь как это сделать без хаков - пиши


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса