打印页面时,javascript代码似乎被执行。
如何确定页面当前是否正在打印?我做了一些js调整大小,并且必须处理打印有点不同。在打印页面时执行javascript
8
A
回答
9
你不能,除了IE浏览器。没有其他浏览器有打印前事件。你可以,但是,针对特定的样式表只适用,同时打印:
<!-- In head -->
<link rel="stylesheet" type="text/css" media="print" href="print.css" />
这个样式表将在打印之前应用。这使您可以执行一些惊人的更改,包括隐藏主要部分,移动项目以及执行打印只样式(如分页符)。
另一种选择是向用户提供“打印此页”按钮。该按钮可以处理你的JavaScript,请致电window.print()
,然后恢复更改:
function printMe() {
// perform changes
window.print();
// revert changes
}
的window.print()
方法总是块(在每一个浏览器我测试过),所以它的安全,随即恢复了变化。但是,如果用户选择通过菜单或工具栏进行打印,那么您运气不好。
我在一个复杂的网络应用程序中处理这种情况的一种方式是打印样式表隐藏除了特殊DIV以外的所有内容。如果用户点击打印,他们会收到警告消息。如果他们点击打印按钮,那么该div将填充正确的信息。这不是很好,但至少他们没有得到几页垃圾。
3
AFAIK没有一般的可能性。 IE有onbeforeprint和onafterprint,现在也添加到Firefox 5/6 +(我不知道肯定)。考虑使用打印特定样式
<link rel="stylesheet" href="print.css" type="text/css" media="print" />
其他相关问题
相关问题
- 1. 在javascript中打印时缩放页面
- 2. 在页面加载时执行javascript
- 3. javascript在页面加载时不执行?
- 4. 在.load()页面后执行javascript页面
- 5. 在html上打印javascript变量页面
- 6. 在不同的页面打印Javascript?
- 7. Javascript:在页面上打印1,000,000“o”s
- 8. 打印页面
- 9. PHP_printer打印双面打印(双面)页
- 10. 打印在一个页面上一行JavaScript或jQuery的
- 11. asp.net使用javascript的打印页面
- 12. 用Javascript打印多个页面
- 13. 使用javascript/jquery打印选定页面
- 14. 打印页面的一部分javascript
- 15. 在横向打印页面
- 16. Asp.net打印页面
- 17. joomla打印页面
- 18. 打印HTML页面
- 19. 打印HTML页面
- 20. 在当前正在执行的行上面打印行
- 21. 在页面加载之前执行Javascript
- 22. 如何在php页面内执行javascript
- 23. 用页面的打印url打印页面?
- 24. jQuery的多表行分割在不同的页面时,打印
- 25. jquery多表行在打印时分开的页面分割
- 26. 如何在打印页面上打印页眉徽标
- 27. Firefox打印页面跳过行
- 28. 显示可打印页面行为
- 29. 在每个页面上打印页眉
- 30. 打印时控制页面设置