iFrame onload JavaScript事件

时间:2015-03-24 13:28:33

标签: javascript iframe javascript-events onload onload-event

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

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

但是使用此代码,命令不会被执行。我必须改变什么来使它工作? 只需支持Chrome和Firefox。

5 个答案:

答案 0 :(得分:28)

使用iFrame的JavaScript .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>

答案 1 :(得分:4)

&#13;
&#13;
document.querySelector("iframe").addEventListener("load", function() {

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

});
&#13;
<iframe src="http://www.example.com/" ></iframe>
&#13;
&#13;
&#13;

答案 2 :(得分:2)

更新

从 jQuery 3.0 开始,新语法只是 .on:

查看此 answer here 和代码:

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

答案 3 :(得分:1)

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

// Select all the elements without the class 7676327 and remove them
$('.logos li').not('.7676327').remove();

答案 4 :(得分:1)

@Jasper的答案几乎是正确的。 iframe的src仅缺少http S

HTML:

<iframe src="https://www.example.com/" ></iframe>

JavaScript:

document.querySelector("iframe").addEventListener("load", function() {

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

});