Electron自定義關(guān)閉按鈕

原創(chuàng)文章踢匣,轉(zhuǎn)載請注明出處

應(yīng)用場景:項目全屏最大化痒蓬,需要自定義一個菜單欄

  1. 創(chuàng)建頁面
  2. 渲染進程發(fā)送指令
  3. 主進程關(guān)閉
    代碼如下:
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta name="renderer" content="webkit">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
  <link rel="icon" href="<%= BASE_URL %>favicon.ico">
  <title><%= webpackConfig.name %></title>
  <style>
    html,
    body {
      font-family: PingFanXgSC-Regular;
      position: relative;
    }

    #menu {
      width: 100vw;
      height: 28px;
      position: absolute;
      right: 0;
      top: 0;
    }

    #close {
      background: #ff0000;
      width: 42px;
      height: 28px;
      line-height: 28px;
      color: #fff;
      text-align: center;
      font-size: 18px;
      float: right;
      visibility: hidden;
      cursor: pointer;
    }
  </style>
</head>
<body>
  <div id="app"></div>
  <div id="menu">
    <div id="close">x</div>
  </div>
  <script>
    let menu = document.getElementById('menu');
    let close = document.getElementById('close');
    menu.onmouseover = function () {
      close.style.visibility = 'visible';
    }
    menu.onmouseout = function () {
      close.style.visibility = 'hidden';
    }
    close.onclick = function () {
      try {
        var ipcRender = require('electron').ipcRenderer
        ipcRender.send('handelClose', "執(zhí)行關(guān)閉")
      }
      catch (e) {
        console.log("不支持ipcRenderer")
      }
      // alert("點擊關(guān)閉")
    }
  </script>
</body>
</html>
const { app, BrowserWindow, Menu, ipcMain } = require('electron')
const win = null;
function createWindow() {
  Menu.setApplicationMenu(null)
  // 創(chuàng)建瀏覽器窗口
  win = new BrowserWindow({
    // width: 800,
    // height: 600,
    fullscreen: true,
    webPreferences: {
      nodeIntegration: true
    },
    // autoHideMenuBar: true,

    // titleBarStyle: 'customButtonsOnHover', 
    // frame: false
  })
  // 并且為你的應(yīng)用加載index.html
  win.loadFile('./html/index.html')
  // 打開開發(fā)者工具
  // win.webContents.openDevTools()
}

// Electron會在初始化完成并且準(zhǔn)備好創(chuàng)建瀏覽器窗口時調(diào)用這個方法
// 部分 API 在 ready 事件觸發(fā)后才能使用杠览。
app.whenReady().then(createWindow)
//當(dāng)所有窗口都被關(guān)閉后退出
app.on('window-all-closed', () => {
  // 在 macOS 上捆蜀,除非用戶用 Cmd + Q 確定地退出攻臀,
  // 否則絕大部分應(yīng)用及其菜單欄會保持激活钠四。
  if (process.platform !== 'darwin') {
    app.quit()
  }
})
app.on('activate', () => {
  // 在macOS上盗扒,當(dāng)單擊dock圖標(biāo)并且沒有其他窗口打開時,
  // 通常在應(yīng)用程序中重新創(chuàng)建一個窗口缀去。
  if (BrowserWindow.getAllWindows().length === 0) {
    createWindow()
  }
})
// 執(zhí)行關(guān)閉 自定義關(guān)閉
ipcMain.on('handelClose', function (res) {
  console.log("執(zhí)行關(guān)閉操作")
  app.quit()
})
// 您可以把應(yīng)用程序其他的流程寫在在此文件中
// 代碼 也可以拆分成幾個文件侣灶,然后用 require 導(dǎo)入。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末缕碎,一起剝皮案震驚了整個濱河市褥影,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌咏雌,老刑警劉巖凡怎,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異赊抖,居然都是意外死亡统倒,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門氛雪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來房匆,“玉大人,你說我怎么就攤上這事报亩√陈疲” “怎么了?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵捆昏,是天一觀的道長。 經(jīng)常有香客問我毙沾,道長骗卜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任左胞,我火速辦了婚禮寇仓,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘烤宙。我一直安慰自己遍烦,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布躺枕。 她就那樣靜靜地躺著服猪,像睡著了一般供填。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上罢猪,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天近她,我揣著相機與錄音,去河邊找鬼膳帕。 笑死粘捎,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的危彩。 我是一名探鬼主播攒磨,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼汤徽!你這毒婦竟也來了娩缰?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤泻骤,失蹤者是張志新(化名)和其女友劉穎漆羔,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體狱掂,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡演痒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了趋惨。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鸟顺。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖器虾,靈堂內(nèi)的尸體忽然破棺而出讯嫂,到底是詐尸還是另有隱情,我是刑警寧澤兆沙,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布欧芽,位于F島的核電站,受9級特大地震影響葛圃,放射性物質(zhì)發(fā)生泄漏千扔。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一库正、第九天 我趴在偏房一處隱蔽的房頂上張望曲楚。 院中可真熱鬧,春花似錦褥符、人聲如沸龙誊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽趟大。三九已至鹤树,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間护昧,已是汗流浹背魂迄。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留惋耙,地道東北人捣炬。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像绽榛,于是被迫代替她去往敵國和親湿酸。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,472評論 2 348