首页 > 解决方案 > 使用 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

标签: javascriptgoogle-chrome-extension

解决方案


推荐阅读