Я написал веб-расширение для Chrome, которое может запрашивать закладки, чтобы посмотреть, все ли сайты в сети.
Я использую API выборки для запросов к сайтам. Это работает нормально, но я обнаружил проблему с одной закладкой:
При извлечении "https://victoryroadvgc.com", Chrome автоматически также запрашивает JS & CSS ресурсы из HTTP Link
заголовки ответа с rel=preload
параметрами; вот так (обернуто для удобочитаемости):
link: </min/d77e9.css>; rel=preload; as=style,
</wp-includes/js/jquery/jquery.js>; rel=preload; as=script,
</min/0d640.js>; rel=preload; as=script,
</min/02cea.js>; rel=preload; as=script,
</wp-content/plugins/litespeed-cache/js/webfontloader.min.js>; rel=preload; as=script
… что определенно является нежелательным поведением. Если я получаю этот URL из консоли Chrome, он не запрашивает дополнительные ресурсы.
Код, который я использую для проверки доступности сайта, выглядит следующим образом:
const request = await fetch(bookmark.url);
return (request.status !== 404);
Вещи, которые я пытался предотвратить, но не работали:
- Установка режима «без корс» для запроса
- Установка заголовка «Content-Type» на « text / plain "
- Использование XHMLHttpRequest вместо API выборки
Почему расширение ведет себя так и можно как-то это предотвратить?