22

次のような の典型的な使用法に精通してonloadいます。

<body onload="alert('Hello, World!');">
...
</body>

load イベントを発生させるすべての html 要素は何ですか? (したがって、onload 属性で指定された JavaScript を実行します)

たとえば、ロード時に属性imgで指定された JavaScript を実行するタグの 1 つは次のとおりです。onloadsome.png

<img onload="someImgLoaded()" src="some.png" />
4

5 に答える 5

18

'onload'は、次のHTMLタグでサポートされています。

<body>, <frame>, <frameset>, <iframe>, <img>, <link>, <script>

そして、次のJavascriptオブジェクト:

image, layer, window

于 2009-03-24T23:45:20.750 に答える
9

以下は、要求されたリソースのダウンロードが完了したときに load イベントを発生させる要素のより包括的なリストです。

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?

最大限の範囲をカバーするには、URL を参照するすべての html 要素がリクエストになり、そのリクエストが成功または失敗したときにloadorイベントを発生させることを考慮するのが最善です。errorしたがって、基本的に、これらのタグを除いて、 srcor属性を持つすべての要素:href

a
# What else? Not sure off hand..

皮肉なことにOR属性bodyがないため、タグを含めます。srchref

以下は、これらの要素を検出するための大まかな 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 属性を持つ無関係なタグやその他のタグを無視しますが、常にではありません。

ネットワーク障害が発生する可能性があるその他のもの:

onloadおよびonerror属性は、ユーザーがアクティブなインターネット接続を持っているかどうかを追跡するのに役立ちます。これは、私のライブラリ check-online.js で対処しようとしているものです: http://github.com/devinrhode2/check-オンライン

かどうかを確認するために、いくつかの明白なテストを行う必要があります。

于 2013-09-30T11:19:01.790 に答える
2

onload、、、、、、および要素bodyに固有のイベントframeですiframe。基本的に、ロードされるリソースを表すものすべて。の場合、それが問題のドキュメントです。他の人にとっては、それぞれがかなり明白です。imglinkscriptbody

于 2009-03-24T23:43:58.493 に答える
1

多くの要素にはonloadイベントがあります。あなたはここでそれらを見つけることができます

ただし、DOMの読み込みをテストする場合は、window.onloadを使用することをお勧めします。また、JavaScriptコードをHTMLマークアップから分離することをお勧めします。

于 2009-03-24T23:46:11.047 に答える
0

このページによると、、、、、、、、、およびで使用できonloadます。<body><frame><frameset><iframe><img><link><script>

于 2009-03-24T23:44:03.173 に答える