主要吧,我先是创建了一个js文件,在里面这么写着:
function toClose() { const ipcRenderer = require('electron') ipcRenderer.send('close-app') }
然后再在index.html中引入js文件,在div标签中添加属性onclick="toClose()"
。
但是运行后会提示不能在初始化之前使用ipcRenderer。
然后我想着把require放在函数外面,当然这是没什么作用的。
之后我有将函数放在preload.js之中,因为这里已经由现成的引入和函数了,那么其他的能用没道理我的不能用。
我的还是不能用。
最后我的解决方法是在preload.js中(也可以不在)这么写:
// preload.js const { contextBridge, ipcRenderer } = require('electron') // 此处省略一些无关代码 contextBridge.exposeInMainWorld('window_control', { toClose: () => ipcRenderer.send('close-app'), toMinimize: () => ipcRenderer.send('min-app'), })
之后在renderer.js中(也可不在)定义按钮的监听函数:
对了,我在这里使用
querySelector().onclick = () => {}
也无效,很迷茫~怀念vue了。
// renderer.js document.querySelector(".my-btn-close").addEventListener('click', () => { window.window_control.toClose() })