Мой код такой, но не может перехватывать запросы из других расширений (например, Postman):
chrome.webRequest.onBeforeRequest.addListener(
function(details){
console.log(details.method + " ====== "+ details.url + " ====== " + details.timeStamp);
console.log("---requestbody----: " + details.requestBody);
},
{urls: ["<all_urls>"]},
["blocking"]
);
Действительно, этот код не будет.
Это функция безопасности: webRequest
не может перехватывать любые запросы от других расширений или приложений Chrome. В противном случае можно было бы ввести ваш код, если другое расширение загрузило стороннюю библиотеку.
Раньше это было возможно, но это было признано ошибкой безопасности и исправлено.
Невозможно переопределить это.
Как правило, расширениям запрещено вмешиваться друг в друга (за исключением внешних сообщений, но обе стороны должны активно участвовать) из-за проблем с эскалацией привилегий.
Вы не можете перехватывать другие запросы на расширение, но то, что вы можете сделать, это получить, а затем изменить расширение, которое вы хотите перехватить, и добавить внешние сообщения между этими двумя расширениями.
config.js
и изменить свойство "channel"
). Сохраните изменения.Или Скопируйте папку расширения, которое вы хотите изменить. (Именованный в соответствии с идентификатором расширения, чтобы найти идентификатор расширения, перейдите к chrome://extensions/). После копирования вы должны удалить папку _metadata.
chrome://extensions/
).manifest.json
).Если вы не ошиблись ни на одном из этих шагов (включая изменение исходного кода), модифицированное расширение должно работать так, как предполагалось.
Источник: Как изменить расширение из Интернет-магазина Chrome?