当前位置:  开发笔记 > 编程语言 > 正文

如何自定义浏览器的输出以进行打印/打印预览?

如何解决《如何自定义浏览器的输出以进行打印/打印预览?》经验,为你挑选了2个好方法。

我正试图在浏览器发生打印(或打印预览)时动态隐藏某些DIV.

通过使用两个样式表,我可以轻松地进行静态区分,一个用于普通,一个用于打印介质:

但是,当打印样式表在打印期间根据特定条件变为活动状态时,我需要更进一步并动态隐藏一些元素

一种轻松解决它的方法是处理用于处理print/printview的DOM事件,然后我可以使用jQuery来更改display:none,需要隐藏的类,但我找不到DOM打印事件!

谁知道解决方案是什么?



1> derby..:

并非所有浏览器都允许您捕获打印事件.我已经通过添加"打印此页面"链接,然后使用该点击事件来完成您所需的操作来解决此问题.



2> Grant Wagner..:

我认为你不需要打印活动.您需要做的就是@media print根据您的Javascript(?)标准调整样式.当用户尝试打印页面时,@media print样式将适用,您的样式将生效:







This will never print.
This may print depending on the value of x.

如果您使用服务器端标准来确定打印的内容,那么只需要服务器端代码吐出@media print来根据需要装饰类.此外,您可能需要考虑修改已经在内部的现有类@media print,或者使用除innerHTML我之外的其他内容来构建新的CSS ,我承认这对我来说很糟糕,但似乎可以在Opera 9.6,Safari for Windows 3.1.2中使用,IE 6和Firefox 2.0.0.17(我没有测试任何其他浏览器).

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有