I know there are some tools and techniques for delaying the load of javascript, but I have an iframe that I would like to delay loading until after the rest of the page has fini
window.setTimeout(function(){
$("#myframe").attr("src","exp3.html");
$("#myframediv").show("slow");
},4000);
try this, this also works.
You can also apply display:none to the iframe with CSS, then use jQuery's .show like this:
$(document).ready(function(){
$('iframe.class_goes_here').show();
});
Or my favorite use
setTimeout('your app', 6000)
That will make it wait x number of milliseconds to call any function....
with jquery it is easy!
either enclose your code which loads the iframe within a $()
or use $(document).ready(function(){})
these both are the same and would execute your code after the DOM is ready!
e.g.
$(document).ready(function(){
$('iframe#iframe_id').attr('src', 'iframe_url');
});
see more at http://www.learningjquery.com/2006/09/introducing-document-ready
This works for me, but has problems if you change the code at all:
function loadIFrame() {
window.frames['BodyFrame'].document.location.href = "iframe.html";
}
function delayedLoad() {
window.setTimeout(loadIFrame2, 5000);
}
Using:
<iframe src="" onLoad="delayedLoad()"></iframe>
Use Javascript in the onLoad event, or in the button click handler, to set the src attribute of the iframe.