Событие onerror to html tag object

В приведенном ниже коде все события onerror работают нормально, кроме тех, которые указаны в теге "Объект". Нет файла с именем "helloworld.swf", но событие onerror не запускается. Может кто-нибудь объяснить это.

<p>Click the following to see the result:</p>

PS: См. Ссылку " http://www.w3schools.com/jsref/event_onerror.asp ", в которой ясно сказано, что событие onerror поддерживается тегом HTML "object".

1 ответ

<object> имеет событие <code>load но не всегда имеет событие error. Последнее, по-видимому, зависит от типа загруженного объекта.

В Chrome load следующие только огненные load: в Edge, IE и FX он вызывает error:

var logDiv = document.getElementById('log');
function logEvt(e) { logDiv.appendChild(document.createTextNode("\n\t" + e.type + ": " + JSON.stringify(e)));
}
var obj = document.getElementById('obj');
obj.addEventListener('error', logEvt);
obj.addEventListener('load', logEvt);
#log { border:1px solid black; }
<object id="obj" data="not-there" type="image/png">Content shown on error.</object>
<pre id="log" class="prettyprint linenums">Log:

Это может быть ошибкой только в Chrome.

В документации, на которую вы ссылаетесь, используется термин "объект" для ссылки на экземпляр элемента, на который он подписан, а не только <object>. Примеры относятся к тегу , который <code>error событие error.

Ни MDN, ни W3 не указывают какие-либо события для <object>. </object>

licensed under cc by-sa 3.0 with attribution.