Pek*_*ica 20
@Tahir Akhtar有使用打印样式表的想法.根据评论,这不起作用,因为始终提取样式表,无论浏览器当前是否处于打印视图中.
如何进一步:使用打印样式表并在其中定义一个样式,使浏览器在呈现时获取某个资源.资源将返回透明图像.
至于CSS属性的选择,background-image是因为它们通常不是由浏览器呈现的.我的想法是一个list-style-image或一个cursor.
我认为list-style-image在一个绝对定位,透明<ul>可能会做到这一点,而不会在视觉上改变任何东西(我不敢将元素放在页面之外,因为可能的浏览器优化会将其删除).对该资源的每次访问都应来自打印页面或打印预览.
我现在无法测试,也许以后.如果有人试过,我有兴趣听听它是否有效.
在Internet Explorer 5+中,您可以使用该onafterprint事件,在每次打印页面时启动AJAX请求.如果您使用的是jQuery,则可以执行以下操作:
window.onafterprint = function()
{
$.post("increment_print_counter.php");
};
Run Code Online (Sandbox Code Playgroud)
那么也许您可以使用一些统计数据来估计从其他浏览器打印的次数!
我不知道当你用media ="print"指定它们时浏览器何时会获取CSS
<link rel="stylesheet" type"text/css"
href="print.css" media="print">
Run Code Online (Sandbox Code Playgroud)
如果他们仅在用户尝试打印文档时才会获取它,而不是尝试使用服务器端技巧来跟踪它.
试试看.