Я хотел бы сделать расширение Chrome для редактирования определенных значений в данных формы. Это мой текущий код для background.js:
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
if (details.method == "POST") {
let formData = details.requestBody.formData;
if (formData) {
Object.keys(formData).forEach(key => {
formData[key].forEach(value => {
if (key.includes("name")) {
formData.name = "John";
details.requestBody.formData = formData;
}
});
});
}
}
return {details: details};
},
{urls: ["<all_urls>"]},
["requestBody"]
);
Когда я попытался отладить его, я пришел к выводу, что расширение может успешно редактировать formData, но сервер все равно получит неотредактированный formData.
Думаю проблема может быть в возврате details.
Как я мог это сделать. Я просмотрел много примеров, но ни один из них не работает. @wOxxOm
Используйте любой пример, который переопределяет XMLHttpRequest, и поместите этот код в элемент сценария, как показано в ответе, который я связал.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Не реализовано, см. crbug.com/91191. Вам придется подделать XHR / fetch в контекст страницы.