我正在尝试打开new
窗口和print
内容。
var parentHeader= $("head").html();
var parentDivContent = $("#printer_data_1").html();
var newW= window.open("", "", "scrollbars=1,width=200,height=200");
newW.document.write('<html><head><title>Title</title>'+parentHeader+'</head>');
newW.document.write('<body><div>');
newW.document.write(parentDivContent );
newW.document.write('</div></body></html>');
newW.document.close();
newW.print();
newW.close();
当我尝试运行上面的code
时,它会在IE8
中挂起,当我对以下行发表评论时......它可以正常工作。
newW.document.write('<html><head><title>Title</title>'+parentHeader+'</head>');
我希望将整个内容,样式加载到新窗口的head部分。
答案 0 :(得分:2)
想要将整个内容,样式加载到头部 新窗口
尝试将html
的{{1}}编译为单个字符串,包括newW
head
html
;在调用parentHeader
的第二个参数时为name
设置newW
引用;使用单个window.open()
字符串作为参数调用document.write
html
答案 1 :(得分:1)
您可能希望使用innerHTML
代替document.write
。那可能是你的问题。
var someVar = 50,
el = document.getElementById('btn');
function onOpen() {
var prnt = open();
prnt.document.title = 'Page Title';
prnt.document.body.innerHTML = [
'<h1>',
'heading of the page',
someVar,
'</h1>',
'<p>A paragraph with text.</p>'
].join('');
prnt.print();
prnt.close();
}
el.attachEvent('onclick', onOpen);
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Print for Legacy IE</title>
</head>
<body>
<a id="btn" href="#">Link</a>
</body>
</html>