У меня есть изображение, сделанное на лету страницей PHP request.php. Это изображение нельзя кэшировать из-за характера содержащихся в нем данных. Изображение, отображаемое request.php, зависит от файлов cookie пользователя. Когда я перехожу к печати из IE8 и IE9, эти файлы cookie не отправляются в заголовках запроса при попытке загрузить изображение, возвращенное request.php. Я определил это, используя Fiddler и контрольные заголовки запроса/ответа.
Моя первая идея состояла в том, чтобы просто поместить информацию о файлах cookie в URL-адрес request.php, но есть проблема с этим. Установленные мной файлы cookie создаются с установленным флагом httponly
(по соображениям безопасности). Другими словами, я не могу получить доступ к этому файлу cookie с помощью script. Я использую jQuery, чтобы установить источник изображения, используя что-то вроде $("#myimage").attr("src", "request.php?d=" + dynamically_set_data_string);
Невозможно добавить какую-либо информацию cookie к этому вызову jQuery из-за флага httponly
.
Я не могу использовать base64, чтобы содержать данные изображения непосредственно в атрибуте src
, потому что изображения слишком велики (IE8 имеет ограничение на 32 КБ).
Есть ли уловка, чтобы заставить IE отправлять файлы cookie в запросы на нераскрытые изображения, сделанные во время печати/предварительного просмотра?