我正在玩下面的代码。目的是打开一个新窗口并从头开始创建一个基本文档,而不是从文件中加载它。
function openNew() {
var win = window.open('', 'new') ;
win.document.write('<html><head><title>New</title></head><body><div id="wrap">Hello World</div></body></html>') ;
var head = win.document.getElementsByTagName('head')[0] ;
var style = win.document.createElement('link') ;
style.rel = "stylesheet" ;
style.type = "text/css" ;
style.href = "/css/main.css" ;
head.appendChild(style) ;
var script = win.document.createElement('script') ;
script.type = "text/javascript" ;
script.src = "/js/main.js" ;
head.appendChild(script) ;
return false ;
}
document.write
部分似乎有效,但其余部分什么也没做。或者至少我什么都不知道,我没有任何错误或任何错误。我试着用document.write
编写脚本部分和文档的其余部分,但这没有帮助。还尝试使用innerHTML
代替write()
,但这根本不起作用,也没有用createElement
创建整个文档(html,head和body标签)。
如果它有任何重要性,那么需要加载的脚本与首先打开的脚本相同。我不知道这是否会产生冲突但我不确定为什么会这样做。只是提一下好的措施。
这可能吗?
答案 0 :(得分:2)
在访问文档之前尝试关闭文档。
var win = window.open('...');
win.document.open();
win.document.write('...');
win.document.close();
其他选项是建立字符串并立即将其全部添加而不附加到它。