iFrame onload JavaScript event

I have an iFrame, where I want to send a JavaScript command after loading. My current code looks like this:

<iframe src="" onload="__doPostBack('ctl00$ctl00$bLogout','')">

But with this code the command isn't executed. What must I change to make it work? Only Chrome and Firefox have to be supported.

11

4 Answers

Use the iFrame's .onload function of JavaScript:

<iframe src=""> <script type="text/javascript"> document.getElementById('my_iframe').onload = function() { __doPostBack('ctl00$ctl00$bLogout',''); } </script> <!--OTHER STUFF-->
</iframe>
7
document.querySelector("iframe").addEventListener( "load", function(e) { this.style.backgroundColor = "red"; alert(this.nodeName); console.log(e.target);
} );
<iframe src="example.com" ></iframe>
2

Your code is correct. Just test to ensure it is being called like:

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

Update

As of jQuery 3.0, the new syntax is just .on:

see this answer here and the code:

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

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like