electron代码示例 在 html 中调用 electron 的函数 主进程的函数 nodejs
1,
创建窗口时必须打开nodeIntegration:
win = new BrowserWindow({ width: 800, height: 600, sandbox: true, webPreferences: { nodeIntegration: true }, })
2,示例
html是在renderer进程。如果要调用主进程需要用remote
<input type="button" value="cache" onclick="getCache()"> <script> const { remote, ipcRenderer, shell } = require('electron'); const win = remote.getCurrentWindow(); var getCache=()=>{ var size = win.webContents.session.getCacheSize(); }
const mainProcess = remote.require('./main.js'); </script>
electron In action 示例很好:
https://github.com/electron-in-action
改变发送头:
function createWindow() { const filter = { urls: ["http://192.168.50.206:8080/*", "http://192.168.50.199:8087/*", 'https://*.github.com/*', '*://electron.github.io/'] } //session.defaultSession.webRequest.onBeforeSendHeaders /**/ session.defaultSession.webRequest.onBeforeSendHeaders(filter, (details, callback) => { details.requestHeaders['User-Agent'] = 'MyAgent' callback({ requestHeaders: details.requestHeaders }) }) 。。。。。。。
改变响应头
session.defaultSession.webRequest.onHeadersReceived((details, callback) => { // logger.debug(`onHeadersReceived: url:${details.url}, details:${JSON.stringify(details)}`); console.log("========= electron onHeadersReceived ====================") //console.log(stringtoHex(details)) // for (const key in details.responseHeaders) { // const lowerKey = key.toLowerCase(); // switch (lowerKey) { // case 'x-frame-options': // case 'content-security-policy': // // logger.debug(`Received header ${key}: ${details.responseHeaders[key]}`); // delete details.responseHeaders[key]; // break; // } // } console.log(`Response headers: ${JSON.stringify(details.responseHeaders)}`); callback({ cancel: false, responseHeaders: details.responseHeaders, statusLine: details.statusLine, }); });
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?