Hi,
I got a portion of javascript code embedded in HTML (generated on the server side) that looks like this:
function winWriteMail2(){
var win = open('','wininfo', 'width=400,height=300,scrollbars=yes,resizable=yes');
win.document.open();
win.document.write('<HTML><HEAD><META http-equiv="Content-type" content="text/html; charset=iso-8859-2"><LINK rel="stylesheet" type="text/css" href="/css/main.css">');
win.document.write('<scr' + 'ipt language="javascript" type="text/javascript" src="/js/JSFILE.js"></scr' + 'ipt>');
win.document.write('</HEAD><BODY BGCOLOR="#f7f3e7">');
<!-- window content goes here -->
win.document.write('</BODY></HTML>');
win.document.close();
}
This code gets executed on click of a element.
The problematic part for me is the inclusion of javascript file - it works ok in Firefox and Chrome, but IE (7 and 8, as I tested) behaves strange. With the line containing JSFILE
there, the window on click gets opened, but is empty, CPU is 100% busy and only way is to kill IE.
Anyone can help with handling this problem? Maybe I should use some other way to insert the javascript files in there?
I tried, instead of win.document.write()
, the DOM-manipulation method, putting this part of code after win.document.close()
:
h = win.document.getElementsByName('head')[0];
js = document.createElement('script');
js.src = '/js/JSFILE.js';
h.appendChild(js);
but then the code isn't loaded, even in Firefox (and inspecting with firebug doesn't show it even can see it).
After some checks, I found out that the problem is caused by <script>
elements with a src=
attribute defined. If I add an inline script, like:
<script type='text/javascript'>alert('foo')</script>
within my document.write()
, the window opens, the alert box shows up and everything's all right.
But using a
<script type='text/javascript' src='/js/foo.js'></script>
IE stalls when opening the new window, keeps using 100% of CPU.