如何使用javascript在子窗口中添加脚本文件?

时间:2012-06-08 10:04:22

标签: javascript

如何使用javascript在子窗口中添加脚本文件?

请考虑以下代码:

myWindow = window.open("", "", 'width=650,height=700,menubar=yes,resizable=yes,scrollbars=yes');
myWindow.focus();
myWindow.document.write('<script src="'+App.data.assets_url+'\/javascript\/jquery.js"><\/script>');

以上代码在IE中无法正常运行。它显示空白(子)窗口,但在chrome中它可以正常工作。它显示了子窗口的所有内容。

由于以上myWindow.document.write行浏览器的打印选项,在Mozilla中它也无法正常工作。

2 个答案:

答案 0 :(得分:4)

基本上:

var win, doc;

win = window.open('', 'dialog', opts);
doc = win.document;

doc.write(
    "<html><head>"
    + "<script type='text/javascript' src='path/to/your/script.js'></script>"
    + "<script type='text/javascript'>"
    + "/* this is inline script inserted by JavaScript, below is a function converted to it's string representation */"
    + someFuncInVariable.toString()
    + "</script>"
    + "</head><body>"
    + "</body></html>"
);
doc.close();

答案 1 :(得分:2)

假设您没有跨域,您可以这样做(使用jquery):

$(childwindow.document.body).append('<script src="..."></script>');

但更详细的问题可能会使主题答案更多。