【Electron】桌面應用-自定義退出程序的方式


主要吧,我先是創建了一個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()
})


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM