0

我一直在使用以下方法在我的网站上加载图像:

var img = document.createElement('img');
img.src = 'http://i.example.com/image-1.jpg';

Chrome在请求标头中添加Pragma: no-cache和。Cache-Control: no-cache

有没有办法可以摆脱这些标头,或者可以使用 javascript 修改它们?

4

1 回答 1

0

element 发起一个 HTTP 请求,尝试从服务器加载图像,因此我建议尝试使用 HTTP Channels 来修改这些标头。尝试这样的事情:

httpChannel.setRequestHeader("Pragma", "new_header_state_on_your_choice_1" , false);
httpChannel.setRequestHeader("Cache-Control", "new_header_state_on_your_choice_2" , false);

关于 HTTP 通道的有用链接:https ://developer.mozilla.org/en/docs/Setting_HTTP_request_headers

如果这不起作用,请查看拦截页面(或内容)加载的方法: https ://developer.mozilla.org/en-US/docs/XUL/School_tutorial/Intercepting_Page_Loads#HTTP_Observers

另一种方法是使用 AJAX 从字面上模拟请求(AJAX 请求,然后尝试将响应加载到 ),但这可能要复杂得多。

PS 实际上有 HTML 方法来设置请求标头:

<head>   
  <meta charset="utf-8">   
  <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
  <meta http-equiv="Pragma" content="no-cache" />
</head>
于 2013-11-15T02:48:47.287 回答