Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
619 views
in Technique[技术] by (71.8m points)

electron-vue项目新建窗口如何弹出指定元素?

鄙人想实现electron快捷键弹出新窗口展示一个模态框。
最开始尝试新建一个自定义的html,发现无法注入模块。查询资料才知道vue默认是构建单页面应用的。
现在打算把模态框直接写进index.html,默认隐藏。在按下快捷键后只显示模态框,不显示index.html的其他内容。请问如何实现?(如果有其他更好的解决方案也请提出谢谢)

background.js部分代码:

globalShortcut.register('CommandOrControl+P', () => {
    //* **** 发送到index.html,index.html响应展示模态框 *****
    win.webContents.send('ping', 'showModal')
    newwin = new BrowserWindow({
      width: 600,
      height: 400,
      frame: true
    })
    if (process.env.WEBPACK_DEV_SERVER_URL) {
      newwin.loadURL(process.env.WEBPACK_DEV_SERVER_URL)
      if (!process.env.IS_TEST) {
        newwin.webContents.openDevTools()
      }
    } else {
      createProtocol('app')
      newwin.loadURL('app://./index.html')
    }
    newwin.on('closed', () => { newwin = null })
  })
})

我的想法是在index.html中的ipcRenderer添加一些代码

<script>
    require('electron').ipcRenderer.on('ping', (event, message) => {
      // 隐藏其他元素,展示模态框
    })
<script>

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
等待大神解答

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...