當跑起來electron第一刻 我發現這個瀏覽器頭是否是有點醜
是否是能夠隱藏起來呢,答案固然是能夠的vue
src/main/index.jsjquery
mainWindow = new BrowserWindow({ height: 563, useContentSize: true, width: 1000, webPreferences: {webSecurity: false}, // 可實現跨域 frame: false // 去掉瀏覽器頭 })
關閉後我發現不能關閉了,而後就解決一下git
src/main/index.jsgithub
// 退出 ipcMain.on('window-all-closed', () => { app.quit() }) // 小化 ipcMain.on('hide-window', () => { mainWindow.minimize() }) // 最大化 ipcMain.on('show-window', () => { mainWindow.maximize() }) // 還原 ipcMain.on('orignal-window', () => { mainWindow.unmaximize() })
本身定義了一些控制按鈕的樣式web
<div class="tools"> <span class="tool-icon min"><i class="iconfont icon-zuixiaohua"></i></span> <span class="tool-icon max"><i class="iconfont icon-zuidahua"></i></span> <span class="tool-icon close"><i class="iconfont icon-guanbi"></i></span> </div>
而後操做這些按鈕,綁定對應事件api
import $ from 'jquery' var ipcRenderer = require('electron').ipcRenderer var isBig = true // 窗口放大還原標示 // 關閉窗口 $(document).on('click', '.close', function () { console.log(1) ipcRenderer.send('window-all-closed') }) // 最大化 $(document).on('click', '.max', function () { if (isBig) { ipcRenderer.send('show-window') } else { ipcRenderer.send('orignal-window') } isBig = !isBig }) // 最小化 $(document).on('click', '.min', function () { ipcRenderer.send('hide-window') })
最後我但願點擊頭部能夠拖拽(只須要給頭部加上對應的樣式)跨域
-webkit-user-select: none; -webkit-app-region: drag;
頭部不想拖拽的部分瀏覽器
-webkit-app-region: no-drag;
關閉後托盤沒有小圖標 等一系列的問題app
const url = path.join(__dirname, '../../static/img/on.ico') // 系統托盤圖標 let tray = new Tray(url) // 鼠標放到系統托盤圖標上時的tips; tray.setToolTip('聖誕音樂') // 圖標的上下文菜單 const contextMenu = Menu.buildFromTemplate(trayMenuTemplate) // 設置此圖標的上下文菜單 tray.setContextMenu(contextMenu) // 雙擊圖片顯示窗口 tray.on('double-click', () => { mainWindow.show() mainWindow.focus() })
demo地址electron
初步嘗試的效果以下 (立刻聖誕節了...)
有興趣的朋友歡迎star和fork繼續完善 https://github.com/artiely/electron-music
相關資料