加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – IE在打印时不重新发送cookie

发布时间:2020-12-13 16:27:28 所属栏目:PHP教程 来源:网络整理
导读:我有一个 PHP页面request.php在飞行中呈现的图像.由于其包含的数据的性质,此图像无法缓存.由request.php呈现的图像取决于用户的Cookie.当我从IE8和IE9打印时,尝试下载request.php返回的图像时,这些Cookie不会在请求头中发送.我通过使用Fiddler和监控请求/响
我有一个 PHP页面request.php在飞行中呈现的图像.由于其包含的数据的性质,此图像无法缓存.由request.php呈现的图像取决于用户的Cookie.当我从IE8和IE9打印时,尝试下载request.php返回的图像时,这些Cookie不会在请求头中发送.我通过使用Fiddler和监控请求/响应标头来确定这一点.

我的第一个想法是将cookie信息放在request.php的URL中,但是有一个问题.我设置的cookies是由httponly标志设置的(出于安全考虑).换句话说,我无法从脚本访问这个cookie.我使用jQuery来设置图像的源,像$(“#myimage”).attr(“src”,“request.php?d =”dynamic_set_data_string);由于httponly标志,没有办法将任何Cookie信息附加到此jQuery调用.

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

在打印/打印预览中要求非缓冲图像的请求中强制IE发送Cookie吗?

进行研究后,IE浏览器无法在打印时将缓存图像的请求标头中的Cookie数据发送出去.为了解决这个问题,我使用window.onbeforeprint事件为我的图像的URL添加一个cache = true参数.在后端,我设置要缓存的图像的标题在短时间内.虽然这不能解决问题(因为我不相信有一个真正的解决方案),它确实规避了这个问题,IE可以打印图像.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读