Electron 中 Remote 模块使用

发布于 2021-06-10 08:49:36 字数 2232 浏览 1373 评论 0

一、Remote

Electron 的 API 方法和模块也是分为可以在主进程和渲染进程中使用。那如果我们想在渲染进程中使用主进程中的模块方法时,可以使用 Electron Remote 解决在渲染和主进程间的通讯。

这节我们就实现一个通过 Web 中的按钮打开新窗口。

二、渲染进程中打开新窗口

项目根目录下,新建一个 demo2.html 文件,然后快速生成 html 的基本结构,编写一个按钮,引入渲染的 js 页面。代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <Button id="btn">打开新的窗口</Button><br/>
    <script src="renderer/demo2.js"></script>
</body>
</html>

在 render 文件夹下,新建一个 demo2.js 文件,然后编写如下代码。

const btn = this.document.querySelector('#btn')
const BrowserWindow =require('electron').remote.BrowserWindow

window.onload = function(){
    btn.onclick = ()=>{
         newWin = new BrowserWindow({
             width:500,
             height:500,
         })
         newWin.loadFile('yellow.html')
         newWin.on('close',()=>{newWin=null})
     }
}

这时候还没有 yellow.html,在项目根目录下建立页面,然后写入下面的代码。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body style="background-color: yellow;">
<h1>yellow</h1>
</body>
</html>

修改main.js

var electron = require('electron');     //引入electron模块
var app = electron.app;  // 创建electron引用app
var BrowserWindow = electron.BrowserWindow;  //创建窗口引用
var mainWindow = null ;  //声明要打开的主窗口

app.on('ready',()=>{
    mainWindow = new BrowserWindow({
        width:800,
        height:500,
        webPreferences:{ nodeIntegration:true}
    });  //设置打开的窗口大小

    //mainWindow.loadFile('index.html');  //加载那个页面
    mainWindow.loadFile('demo2.html');  //加载那个页面

    //监听关闭事件,把主窗口设置为null
    mainWindow.on('closed',()=>{
        mainWindow = null
    })

});

然后我们在终端中运行 electron .,如果一切正常,就可以顺利打开一个新的窗口,这个窗口可以顺利打开主要的功劳就是 electron remote。它让我们有了很多 pc 端的原生能力

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84961 人气
更多

推荐作者

已经忘了多久

文章 0 评论 0

15867725375

文章 0 评论 0

LonelySnow

文章 0 评论 0

走过海棠暮

文章 0 评论 0

轻许诺言

文章 0 评论 0

信馬由缰

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文