我有一个由 PHP 页面 request.php 动态渲染的图像。由于其包含的数据的性质,无法缓存此图像。request.php 呈现的图像取决于用户的 cookie。当我从 IE8 和 IE9 打印时,在尝试下载 request.php 返回的图像时,这些 cookie 不会在请求标头中发送。我通过使用 Fiddler 和监视请求/响应标头来确定这一点。
我的第一个想法是将cookie信息放在request.php的URL中,但是这样做有问题。我设置的 cookie 是使用httponly
标志集创建的(出于安全原因)。换句话说,我无法从脚本访问此 cookie。我确实使用 jQuery 来设置图像的源,使用类似$("#myimage").attr("src", "request.php?d=" + dynamically_set_data_string);
There's no way to append any cookie information to this jQuery call because of the httponly
flag。
我不能使用 base64 将图像数据直接包含在src
属性中,因为图像太大(IE8 有 32KB 限制)。
是否有一种技巧可以强制 IE 在打印/打印预览期间对未缓存图像的请求中发送 cookie?