2014-11-19 5 views
2

Я создал веб-приложение HTML5.Какие события HTML5-изображений доступны разработчику

Я использую управление изображениями.

Когда ЦСИ изображение назначается я установить локальную переменную = 1 Когда изображение по окончании загрузки я поставил его в 0.

Если переменная = 0, и есть другое изображение доступно с моего сервера я повторяю процесс.

Если img.onerror поднята я установить локальную переменную в 0

Я заметил, что если мой мобильный теряет подключение к Интернету, а затем получает его обратно, что локальная переменная «застрял» на 1 и IMG .src никогда не обновляется. Это происходит не все время.

Я предполагаю, что ни img.onload, ни img.onerror не были подняты. Итак, мой вопрос в том, есть ли какие-либо другие события, которые вызывает контроль img, для которого я могу использовать обработчик?

Код:

функция My JS уведомляется signalR, что изображение доступно на моем сервере.

if (ImageIsLoaded1.Status = 0) { 
    var d = new Date(); 
    var n = d.getTime(); 
    ImageIsLoaded1.Status = 1;     
    staticImgArray.src = './NewFrame.ashx?a=' + n 
} 

staticImgArray.onload = function() { ImageIsLoaded1.Status = 0; }; 
staticImgArray.onerror = function() { ImageIsLoaded1.Status = 0; }; 
+0

@closer HI, я думал, что задал хороший вопрос. Как мне улучшить вопрос? я очень хочу учиться. thanks –

+0

Поставьте минимальный код, который показывает проблему. – Rob

+0

:) что это лучше? Я думал, что подробного было достаточно, но справедливая точка, чтобы сделать –

ответ

2

Согласно официальному HTML5 specification, вот определение IDL всех возможных global event handlers. Элемент изображения как элемент должен поддерживать все эти обработчики.

interface GlobalEventHandlers { 
     attribute EventHandler onabort; 
     attribute EventHandler onblur; 
     attribute EventHandler oncancel; 
     attribute EventHandler oncanplay; 
     attribute EventHandler oncanplaythrough; 
     attribute EventHandler onchange; 
     attribute EventHandler onclick; 
     attribute EventHandler oncuechange; 
     attribute EventHandler ondblclick; 
     attribute EventHandler ondurationchange; 
     attribute EventHandler onemptied; 
     attribute EventHandler onended; 
     attribute OnErrorEventHandler onerror; 
     attribute EventHandler onfocus; 
     attribute EventHandler oninput; 
     attribute EventHandler oninvalid; 
     attribute EventHandler onkeydown; 
     attribute EventHandler onkeypress; 
     attribute EventHandler onkeyup; 
     attribute EventHandler onload; 
     attribute EventHandler onloadeddata; 
     attribute EventHandler onloadedmetadata; 
     attribute EventHandler onloadstart; 
     attribute EventHandler onmousedown; 
     attribute EventHandler onmouseenter; 
     attribute EventHandler onmouseleave; 
     attribute EventHandler onmousemove; 
     attribute EventHandler onmouseout; 
     attribute EventHandler onmouseover; 
     attribute EventHandler onmouseup; 
     attribute EventHandler onmousewheel; 
     attribute EventHandler onpause; 
     attribute EventHandler onplay; 
     attribute EventHandler onplaying; 
     attribute EventHandler onprogress; 
     attribute EventHandler onratechange; 
     attribute EventHandler onreset; 
     attribute EventHandler onresize; 
     attribute EventHandler onscroll; 
     attribute EventHandler onseeked; 
     attribute EventHandler onseeking; 
     attribute EventHandler onselect; 
     attribute EventHandler onshow; 
     attribute EventHandler onstalled; 
     attribute EventHandler onsubmit; 
     attribute EventHandler onsuspend; 
     attribute EventHandler ontimeupdate; 
     attribute EventHandler ontoggle; 
     attribute EventHandler onvolumechange; 
     attribute EventHandler onwaiting; 
}; 
+0

Хорошо, позвольте мне посмотреть, что я могу с этим сделать - ta –

Смежные вопросы