<分区>
我应该使用 jqgrid 打印网站的网页,Jquery calendar + 其他 Jquery ui + 背景图像等。在服务器端使用 Zend Framework 构建。
我没有网页打印方面的经验和知识,但我在工作中得到了这个使命。
我需要:
很好的教程或书籍(我阅读了背景图像问题)来很好地研究这个问题(我有时间)。
更多实用说明如何打印使用 Jquery + Jquery UI + jqgrid 构建的网页(我知道 Jquery UI 与 yui(yahoo 库)相比存在浏览器兼容性问题)。
感谢这里所有帮助过的好人,
您可以根据样式表定义的 media
属性解决很多打印问题。你可以声明
<link rel="stylesheet" type="text/css" media="screen" href="..." />
要包含一些仅用于屏幕的 css,请使用 media="all"
来定义在屏幕和打印机上都显示的一些信息,或者使 html 元素仅在打印期间显示。以 jQuery UI 为例,您可以找到一个好主意,只打印选定的选项卡(或 Accordion )。您会发现有用的不打印一些隐藏的 div,例如 div.loadingui
。所以你可以制作一个像
这样的CSS
<style type="text/css" media="screen">
#printableButNotVisible { display:none }
</style>
<style type="text/css" media="print">
#accordion h3, #vcol, div.loadingui, div.ui-tabs-hide,
ul.ui-tabs-nav li, td.HeaderRight { display:none }
#printableButNotVisible { display:block }
</style>
这只是一个例子,但我希望能说明主要思想。此外,您可以动态创建一个 css 并在您的 html 文档中插入或切换(请参阅 http://docs.jquery.com/Tutorials:5_Quick_jQuery_Tips#Switch_A_Stylesheet)。
在打印过程中从页面中删除菜单可能是个好主意,但我无法提供示例,因为我不知道您使用的是哪种菜单。
如果有人知道用于 jQuery UI 和 jqGrid 的打印媒体的良好 CSS,我也会非常感兴趣。