grs5211 Posted June 17, 2009 Share Posted June 17, 2009 I have an iframe object with an onload event which seems to fire multiple times and sometimes results in a stack overflow error. I have a combobox with an onchange="loadTemplate() event which populates the the iframe with a text file and reloads the page. This in turn fires the iframe onload to apply css formats. It then fires multiple times. If I leave out the document.close() line it works OK. However for printing the document needs to be fully loaded. Herein lays the issue. Here is the code. <select class="dropdown" id="templates" onchange="loadTemplate()">'; .......etc <iframe id="iView" name="previewFrame" width="100%" height="800px" onload="previewFrameOnLoad();"> </iframe> function loadtemplate() { var timestamp = new Date(); // cache buster document.getElementById("iView").src = document.getElementById"path").value + document.getElementById("templates").options[document.getElementById("templates").selectedIndex].text + "?timestamp=" + timestamp.getTime(); } function previewFrameOnLoad() { template = window.iView.document.body.innerHTML; var ifrm = document.getElementById('iView'); ifrm = (ifrm.contentWindow) ? ifrm.contentWindow : (ifrm.contentDocument.document) ? ifrm.contentDocument.document : ifrm.contentDocument; ifrm.document.open(); document.write('<link rel="stylesheet" type="text/css" href="/css/letterStyles.css" />' + template); ifrm.document.close() } Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.