Electron通过 BrowserWindow 和 webContents 模块实现渲染进 程和渲染进程的通信
2020-12-29 15:27
标签:join pcre 点击 dex nis dir url load charset ipcmain.js new.js openwidow.js new.js index.html Electron通过 BrowserWindow 和 webContents 模块实现渲染进 程和渲染进程的通信 标签:join pcre 点击 dex nis dir url load charset 原文地址:https://www.cnblogs.com/loaderman/p/12149933.htmlvar {ipcMain,BrowserWindow} =require(‘electron‘);
var path=require(‘path‘);
var win=null;
//接收到广播
ipcMain.on(‘openWindow‘,function(event,aid){
//调用 BrowserWindow打开新窗口
win=new BrowserWindow({
width:400,
height:300,
webPreferences:{
nodeIntegration: true
}
})
win.loadURL(path.join(‘file:‘,__dirname,‘../news.html‘));
//开启新窗口的调试模式
win.webContents.openDevTools();
//通过win.webContents.send把当前数据广播给 news进程
win.webContents.on(‘did-finish-load‘,function(){
win.webContents.send(‘toNews‘,aid);
})
win.on(‘closed‘,()=>{
win=null;
})
})
//获取localStorage的数据
var {ipcRenderer} =require(‘electron‘);
ipcRenderer.on(‘toNews‘,function(event,aid){
console.log(aid);
})
var {ipcRenderer} =require(‘electron‘);
var btn=document.querySelector(‘#btn‘);
//渲染进程没法直接调用主进程中的模块,但是我们可以通过 electron中的remote模块间接的调用主进程中的模块
btn.onclick=function(){
// alert(‘点击了‘);
var aid=‘123456‘;
ipcRenderer.send(‘openWindow‘,aid);
}
DOCTYPE html>
html lang="en">
head>
meta charset="UTF-8">
meta name="viewport" content="width=device-width, initial-scale=1.0">
meta http-equiv="X-UA-Compatible" content="ie=edge">
title>Documenttitle>
style>
body{
background: orange;
}
style>
head>
body>
news页面
br>
哈哈哈
script src="renderer/news.js">script>
body>
html>
DOCTYPE html>
html lang="en">
head>
meta charset="UTF-8">
meta name="viewport" content="width=device-width, initial-scale=1.0">
meta http-equiv="X-UA-Compatible" content="ie=edge">
title>Documenttitle>
style>
.content{
width: 100%;
height: 400px;
background: orange;
overflow-y: auto;
}
style>
head>
body>
button id="btn">
打开新窗口
button>
script src="renderer/openWindow.js">script>
body>
html>
文章标题:Electron通过 BrowserWindow 和 webContents 模块实现渲染进 程和渲染进程的通信
文章链接:http://soscw.com/index.php/essay/39084.html