Jump to content

Multuple 'OnLoad' events fired when iframe document is closed??


grs5211

Recommended Posts

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()

}

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.