iFrame onload JavaScript event

iFrame onload JavaScript event

本文关键字:event JavaScript onload iFrame      更新时间:2023-09-26

我有一个iFrame,我想在加载后发送一个JavaScript命令。我当前的代码如下:

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

但是有了这个代码,命令就不会执行了。我必须改变什么才能使它工作?只需要支持Chrome和Firefox。

使用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>

document.querySelector("iframe").addEventListener( "load", function(e) {
    this.style.backgroundColor = "red";
    alert(this.nodeName);
    console.log(e.target);
} );
<iframe src="example.com" ></iframe>

您的代码是正确的。只需测试以确保它被调用类似:

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

更新

从jQuery3.0开始,新语法只是.on:

在这里看到这个答案和代码:

$('iframe').on('load', function() {
    // do stuff 
});