3

如何使用 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 中,由于上述浏览器的打印选项,它也无法正常工作。

4

2 回答 2

5

基本上:

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();
于 2012-06-08T10:13:13.897 回答
2

假设您没有跨域,您可以简单地执行此操作(使用 jquery):

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

但是更详细的问题可能会提供更多关于主题的答案。

于 2012-06-08T10:06:33.430 回答