我有一个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
});