使用 Electron 来替代本地调试线上代理的场景

Chrome 94 版本不再放行,无法再携带 Cookies,也就是 Electron v14 之后的版本无法通过 webSecurity: false 来禁用这些问题。

新版本(v27),通过复写 onHeadersReceived 实现。

javascript 复制代码
function disableSamesiteCookies(filter = ["*://*/*"]) {
  session.defaultSession.webRequest.onHeadersReceived(
    { urls: filter },
    (details, callback) => {
      const newCookies = [];

      details?.responseHeaders?.["set-cookie"]?.map((item) =>
        newCookies.push(item.split("; ")[0] + "; Secure; SameSite=None")
      );
      details.responseHeaders["set-cookie"] = newCookies;

      callback({ cancel: false, responseHeaders: details.responseHeaders });
    }
  );
}

Github https://github.com/lecepin/Debugging-env-browser

相关推荐
Hyyy2 小时前
每天一个知识点 —— Electron
electron
爱勇宝3 小时前
第 1 章:别把“需求文档”当成真正的需求
前端·后端·程序员
梨子同志4 小时前
常用命令
前端
梨子同志4 小时前
React 状态管理
前端
Dxy12393102165 小时前
MySQL索引完整教程:创建、查看、修改、删除与日常管理
前端·javascript·mysql
剪刀石头布啊5 小时前
js能被遍历的集合有哪些特征,为何能被遍历
前端
剪刀石头布啊5 小时前
js解构
前端
剪刀石头布啊5 小时前
防抖功能的逐步递进
前端
剪刀石头布啊5 小时前
对象的大小比较与面向对象思考
前端
端庄的战斗机6 小时前
javascript 设计模式(文章很长,请自备瓜子,水果和眼药水)
开发语言·javascript·设计模式