私はこの Iframe を持っています:
<iframe src='http://jsbin.com/iyaVOSe/1' onload='aaa()' id='ifr'/>
ただし、関数が iframe の前に宣言されている場合にのみ、オンロードが機能します。
作業: ( http://jsbin.com/ObeQERE/3/edit )
<script>
window.aaa= function ()
{
alert('load');
}
</script>
<iframe src='http://jsbin.com/iyaVOSe/1' onload='aaa()' id='ifr'/>
動作していません: (aaa
未定義です) ( http://jsbin.com/ObeQERE/4/edit )
<iframe src='http://jsbin.com/iyaVOSe/1' onload='aaa()' id='ifr'/>
<script>
window.aaa= function ()
{
alert('load');
}
</script>
これは、onload が発生するのに少し遅延があるため、かなり奇妙です。また、iframe を使用せずに onclick イベントを使用する場合は問題になりません。
入力作業例
<input onclick='aaa()' />
<script>
window.aaa= function ()
{
alert('load');
}
</script>
また、-iframe サンプルでは-:aaa
は次のように翻訳されます:
それでもaaa
、解析時に知る必要はありません。・ラッピング機能があるから。
注意 : iframe のロード イベントは、ページをロードするためのものであり、要素を作成するためのものではありません。
そのため、解析するとiframe
、iframe の非同期的な読み込みが開始され、ブロックされずaaa
、宣言されているスクリプト セクションにすぐに移動します。
何が欠けていますか(解決策ではなく、理由を探しています)。? onload または onclick を呼び出すと、どのような違いがありますか?
iframeonload
は解析時に関数を必要とするようです。(実行時ではなく、イベントが実際に発生したとき。)