Bil*_*ard 21 html javascript html5 onload onerror
我熟悉它的典型用法onload,如下所示:
<body onload="alert('Hello, World!');">
...
</body>
Run Code Online (Sandbox Code Playgroud)
触发加载事件的所有html元素是什么?(从而执行onload属性中提供的javascript)
例如,img是一个这样的标记,它将在加载onload时执行属性中提供的javascript some.png:
<img onload="someImgLoaded()" src="some.png" />
Run Code Online (Sandbox Code Playgroud)
Bri*_*ndy 16
以下HTML标记支持'onload':
<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?
Run Code Online (Sandbox Code Playgroud)
对于最大的覆盖范围,最好考虑引用URL的所有html元素将导致请求并在该请求成功或失败时触发load或error事件.所以,基本上,任何带有srcor href属性的元素,除了这些标记:
a
# What else? Not sure off hand..
Run Code Online (Sandbox Code Playgroud)
并包括body标签,因为它具有讽刺意味的是没有srcOR href属性.
下面是一些用于发现这些元素的粗略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:');
Run Code Online (Sandbox Code Playgroud)
此外,使用"使用src或href的所有内容"方法,您可以忽略通常具有src或href属性的不相关或其他标记,但并非总是如此.
其他可能导致网络故障的事情:
onload和onerror属性可以用来跟踪你的用户是否有一个活跃的互联网连接,这是我试图用我的库check-online.js解决的问题:http://github.com/devinrhode2/check- 线上
有一些明显的测试要做,看看是否
| 归档时间: |
|
| 查看次数: |
22308 次 |
| 最近记录: |