Редактировать данные формы с помощью chrome.webRequest.onBeforeRequest

Я хотел бы сделать расширение 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.

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

wOxxOm 24.07.2018 12:51

Как я мог это сделать. Я просмотрел много примеров, но ни один из них не работает. @wOxxOm

Zwedgy 25.07.2018 21:24

Используйте любой пример, который переопределяет XMLHttpRequest, и поместите этот код в элемент сценария, как показано в ответе, который я связал.

wOxxOm 25.07.2018 21:29
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
3
580
0

Другие вопросы по теме