gpt4 book ai didi

php - 打印时 IE 不重新发送 cookie

转载 作者:可可西里 更新时间:2023-10-31 22:52:13 26 4
gpt4 key购买 nike

我有一张由 PHP 页面 request.php 动态呈现的图像。由于其包含的数据的性质,无法缓存该图像。 request.php 呈现的图像取决于用户的 cookie。当我从 IE8 和 IE9 打印时,在尝试下载 request.php 返回的图像时,这些 cookie 没有在请求 header 中发送。我通过使用 Fiddler 和监控请求/响应 header 来确定这一点。

我的第一个想法是将 cookie 信息放在 request.php 的 URL 中,但这样做有问题。我设置的 cookie 是在设置了 httponly 标志的情况下创建的(出于安全原因)。换句话说,我无法从脚本访问此 cookie。我确实使用 jQuery 来设置图像的来源,例如 $("#myimage").attr("src", "request.php?d="+ dynamical_set_data_string); 没有办法由于 httponly 标志,将任何 cookie 信息附加到此 jQuery 调用。

我无法使用 base64 将图像数据直接包含在 src 属性中,因为图像太大(IE8 有 32KB 的限制)。

在打印/打印预览期间是否有强制 IE 在请求未缓存图像时发送 cookie 的技巧?

最佳答案

经过研究,IE 似乎无法在打印时为未缓存的图像在请求 header 中发送 cookie 数据。为了解决这个问题,我使用 window.onbeforeprint 事件将 cache=true 参数添加到图像的 URL。在后端,我为要在短时间内缓存的图像设置 header 。虽然这不能解决问题(因为我不相信有真正的解决方法),但它确实绕过了问题,并且 IE 能够打印图像。

关于php - 打印时 IE 不重新发送 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11865880/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com