2015-04-22 2 views
0

Загрузите изображение в extjs 5.1.0 с помощью setSrc ("myUrl"). В случае, если Url изображения не существует, как я могу поймать событие «невозможно найти URL»? (Я беру в веб-браузере: «Не удалось загрузить ресурс: сервер ответил со статусом 404 -Не найдено»)Sencha Ext JS 5.1.0 catch image setSrc error event

Я хочу это, потому что мне нужно остановить значок всплеска загрузки, когда изображение не удалось загрузить

ответ

2

Нативный класс Ext.Img не имеет события ошибки.

Создайте свой собственный класс и простирайтесь от Ext.Img. Затем установите обработчик domerror на imgEl, чтобы вы могли обработать событие ошибки загрузки. В обратном вызове вы можете запустить свое собственное событие или установить стандартный образ или что угодно.

Пример: https://fiddle.sencha.com/#fiddle/lm1

Ext.define("MyImage", { 
    extend : "Ext.Img", 

    onRender : function() { 
     var me = this; 
     me.callParent(arguments); 
     me.imgEl.dom.onerror = me.onImageLoadError; 
    }, 

    onImageLoadError : function() { 
     alert("Error loading image") 
    }, 

    onDestroy : function() { 
     var me = this; 
     me.imgEl.dom.onerror = null; 
     me.callParent(arguments);   
    } 
}); 
+0

спасибо большое – sdev

+0

если решение хорошо для вас, то, пожалуйста, в upvote или знак, как решить. –

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