Какие теги html поддерживают атрибуты событий onload / onerror javascript?
Я знаком с типичным использованием onload
следующим образом:
<body onload="alert('Hello, World!');">
...
</body>
каковы все элементы html, которые запускают событие загрузки? (таким образом, выполнение javascript поставляется в атрибуте onload)
например, img
является одним из таких тегов, который будет выполнять javascript, поставляемый в , когда some.png
загружено:
<img onload="someImgLoaded()" src="some.png" />
5 ответов
'onload' поддерживается следующими тегами HTML:
<body>, <frame>, <frameset>, <iframe>, <img>, <link>, <script>
и следующие объекты Javascript:
image, layer, window
ниже приведен гораздо более полный список элементов, которые запускают событие загрузки, когда запрашиваемый ресурс завершает загрузку:
body # (just fires a load event, doesn't make requests itself)
img
image
link
iframe
frameset
frame
script
embed
object
video ?
source
track
audio ?
source
svg
<input type="image" src="submit.gif" alt="Submit">
<object width="400" height="400" data="helloworld.swf"></object>
<map name="planetmap">
<area shape="rect" coords="0,0,82,126" href="sun.htm" alt="Sun">
webgl?
для большинства покрытий лучше всего учитывать, что все html-элементы, ссылающиеся на url-адрес, приведут к запросу и запуску load
или error
событие, когда этот запрос для успеха или неудачи. Итак, в основном, любой элемент с src
или , за исключением этих тегов:
a
# What else? Not sure off hand..
и в том числе body
тег, потому что он как ни странно не было!--5--> или .
ниже приведен примерный javascript для обнаружения этих элементов:
var tagsToIgnore = ['a'];
['src', 'href'].forEach(function(attr) {
console.log('====' + attr + '====');
[].slice.call(document.querySelectorAll('*[' + attr + ']')).forEach(function(el){
if (!~tagsToIgnore.indexOf(el.tagName.toLowerCase())) {
console.log(el.tagName);
}
});
});
console.log('body # :trollface:');
кроме того, с помощью метода" все с src или href " вы игнорируете нерелевантные или другие теги, которые обычно имеют атрибут src или href, но не всегда.
другие вещи, которые могут иметь сбои в сети:
- приложения Кэш
- XMLHttpRequest
- WebSocket
- PeerConnection (WebRTC)
- от: http://docs.webplatform.org/w/index.php?search=onerror&fulltext=+&title=Special%3ASearch
onload
и onerror
атрибуты могут быть полезны для отслеживания того, имеет ли ваш пользователь активное подключение к интернету, что я пытаюсь решить с помощью проверки библиотеки онлайн.Яш: http://github.com/devinrhode2/check-online
есть некоторые очевидные испытаний, чтобы увидеть, является ли или нет
onload
- Это конкретные события body
, frame
, iframe
, img
, link
и script
элементы. В основном все, что представляет собой ресурс для загрузки. Для body
, это документ, о котором идет речь. Для остальных это очевидно.
многие элементы имеют событие onload. Вы можете найти их здесь
но если вы хотите проверить загрузку DOM, то лучше всего использовать
по данным на этой странице, вы можете использовать onload
с: <body>
, <frame>
, <frameset>
, <iframe>
, <img>
, <link>
и <script>
.