PHPページのrequest.phpによってオンザフライでレンダリングされた画像があります。この画像は、含まれるデータの性質上、キャッシュできません。request.php によってレンダリングされる画像は、ユーザーの Cookie に依存します。IE8 と IE9 の両方から印刷しようとすると、request.php から返された画像をダウンロードしようとすると、これらの Cookie が要求ヘッダーで送信されません。これは、Fiddler を使用して要求/応答ヘッダーを監視することで判断しました。
当初は、request.php の URL に Cookie 情報を入れるだけでよかったのですが、これには問題があります。私が設定した Cookie は、httponly
フラグが設定された状態で作成されます (セキュリティ上の理由から)。つまり、スクリプトからこの Cookie にアクセスすることはできません。私はjQueryを使用して、次のようなものを使用して画像のソースを設定しますフラグ$("#myimage").attr("src", "request.php?d=" + dynamically_set_data_string);
のため、このjQuery呼び出しにCookie情報を追加する方法はありません。httponly
src
画像が大きすぎるため、base64 を使用して画像データを属性に直接含めることはできません(IE8 には 32KB の制限があります)。
印刷/印刷プレビュー中に作成されたキャッシュされていない画像の要求で、IE に強制的に Cookie を送信させるトリックはありますか?