【发布时间】:2012-10-10 07:05:57
【问题描述】:
点击按钮时,我使用 window.print() of javascript 打印 print_div 内容,
但由于一些安全问题,我想避免多次打印(如使用 Cntrl + P)选项,所以我想清除 print_div 的内容,用户不能一次又一次地重新打印。
这里是粗略的代码,
document.getElementById("print_div").innerHTML = //Some contents to be printed on paper.
window.print()
document.getElementById("print_div").innerHTML = '' // Clearing old contents to avoid mis-use
但是这段代码根本不起作用,它在创建打印预览之前清除 print_div 内容,就像在 chrome 中一样。(我猜,异步工作)
谁能告诉我,这里哪里做错了?
注意:我正在使用 Chrome: 22.0.1229.92 m 测试我的代码,我只想使用 chrome。
【问题讨论】:
-
如果我在这个页面上打开 devtools 并输入:
document.getElementById("content").innerHTML = "Test"; window.print(); document.getElementById("content").innerHTML = '';一切都会按预期工作。我将通过“测试”获得预览,当我关闭打印对话框时,#contentdiv 将为空。window.print()好像不是异步的。 -
是的..它在 devtools 上运行良好,但在实际代码中却不行。顺便说一句,我试图通过使用 setTimeOut 来解决这个问题。它很奇怪,但对我有用.. :)
标签: javascript google-chrome printing