Не знаю, заметил ли это кто-нибудь еще.
Сделайте XMLHttpRequest в сценарии содержимого для файла изображения:
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
console.info(xhttp.getAllResponseHeaders());
}
};
xhttp.open("HEAD", "https://www.gstatic.com/webp/gallery3/1.sm.png", true);
xhttp.send();
Вы получите следующее:
date: Tue, 27 Nov 2018 15:42:53 GMT x-content-type-options: nosniff last-modified: Thu, 21 Apr 2016 03:17:22 GMT server: sffe age: 1136854 vary: Origin content-type: image/png status: 200 cache-control: public, max-age=31536000 accept-ranges: bytes alt-svc: quic = ":443"; ma=2592000; v = "44,43,39,35" content-length: 48061 x-xss-protection: 1; mode=block expires: Wed, 27 Nov 2019 15:42:53 GMT
Сделайте запрос на выборку в сценарии содержимого для того же изображения:
fetch("https://www.gstatic.com/webp/gallery3/1.sm.png", {method: "HEAD"})
.then(res => {
var headers = res.headers;
headers.forEach(function(value, name) { console.info(`${name} : ${value}`);
});
Вы получите следующее:
cache-control: public, max-age=31536000 content-type: image/png expires: Tue, 10 Dec 2019 20:12:24 GMT last-modified: Thu, 21 Apr 2016 03:17:22 GMT
Это связано со спецификациями W3 здесь, которые подтверждают мне, что выборка не полностью выигрывает от исключений из манифеста с перекрестным происхождением для расширений Chrome. Однако, если вы сделаете запрос на получение с помощью Fetch, он будет успешным.
Кто-нибудь знает, намеренно ли это?
Спасибо за ссылку, очень интересно. Что вы думаете об изменениях?
Нечего добавлять к комментариям в соответствующей crbug. Надеюсь, мы сможем повлиять на дизайн, как только они начнут его действительно реализовывать. Кстати, crbug.com/914224, кажется, собирается отменить то, что я сказал выше.





Скорее всего да. В любом случае вы должны сделать это в фоновом сценарии, так как это будет единственный способ в будущем API расширений V3.