【发布时间】:2017-04-25 09:42:29
【问题描述】:
function printdiv(printpage) {
var headstr = "<html><head><title></title></head><body>";
var footstr = "</body>";
var elements = document.getElementsByClassName('hide-print-area');
for (var i = 0; i < elements.length; i++) {
elements[i].style.display = 'none';
}
var newstr = document.all.item(printpage).innerHTML;
var oldstr = document.body.innerHTML;
document.body.innerHTML = headstr + newstr + footstr;
window.print();
document.body.innerHTML = oldstr;
for (var i = 0; i < elements.length; i++) {
elements[i].style.display = 'block';
}
return false;
}
window.onafterprint = function() {
//alert("Hello");
window.location.reload(true);
};
<html>
<head>
<title>Test Printing Page </title>
</head>
<body>
<div id="printArea">
<h2>Print Title</h2>
<div>Desciption Here</div>
<input class="hide-print-area" type="button" value="Print" onclick="printdiv('printArea')" />
</div>
</body>
</html>
Mozilla 浏览器页面在我点击 cancel 按钮时刷新但是当我点击 ok 按钮时页面没有刷新。
Chrome什么也没发生。
我已经检查了onafterprint 事件。每次都在调用,但页面未刷新。请帮帮我。
我想在打印我的页面后重新加载页面。
【问题讨论】:
-
试试 window.location=''
-
用
window.location='';替换window.location.reload(true); -
@BadshahSahib
window.location='';也不起作用 -
是否有必要在打印完成后仅准确地重新加载您的页面?我的意思是,一旦发送打印命令,您仍然可以重新加载页面。在几乎情况下,打印应该会成功。
-
@KingKing 是的,这是重新加载页面所必需的。
标签: javascript jquery printing