web-dev-qa-db-ja.com

iFrame onload JavaScriptイベント

ロード後にJavaScriptコマンドを送信するiFrameがあります。私の現在のコードは次のようになります。

<iframe src="http://www.test.tld/" onload="__doPostBack('ctl00$ctl00$bLogout','')">

しかし、このコードではコマンドは実行されません。動作させるには何を変更する必要がありますか? ChromeおよびFirefoxのみをサポートする必要があります。

27
Peleke

JavaScriptのiFrameの.onload関数を使用します。

<iframe id="my_iframe" src="http://www.test.tld/">
    <script type="text/javascript">
        document.getElementById('my_iframe').onload = function() {
            __doPostBack('ctl00$ctl00$bLogout','');
        }
    </script>
    <!--OTHER STUFF-->
</iframe>
34
Jasper
document.querySelector("iframe").addEventListener("load", function() {

  this.style.backgroundColor = "red";
  alert(this.nodeName);

});
<iframe src="example.com" ></iframe>
5
antelove

あなたのコードは正しいです。次のように呼び出されることを確認するためにテストするだけです。

<script>
function doIt(){
  alert("here i am!");
  __doPostBack('ctl00$ctl00$bLogout','')
}
</script>

<iframe onload="doIt()"></iframe>
1