模块BrowserWindow BrowserWindow模块是用于创建和管理图形用户界面的窗口。它提供了一种在桌面应用程序中创建原生窗口的方式,类似于浏览器中的窗口。...ready-to-show 事件 当您创建一个新的 BrowserWindow 对象并加载内容后,窗口需要一些时间来完成渲染和准备显示。...BrowserWindow 模块的常见的实例方法有好几十个,这里只是列出几个,更多的可以查看文档。...每个 BrowserWindow 实例都关联一个 WebContents 实例,它充当了与窗口中加载的网页进行交互的接口。...用大白话来说就是:BrowserWindow 实例操作的是窗口,WebContents操作的是窗口内渲染的网页内容。
通过前面的学习,我们可以发现 BrowserWindow 模块是我们开发 Electron 应用程序的基础。除了咱们之前说的那些常见功能外,它还暴露了许多可以改变您浏览器窗口的外观和行为的API。...无边框窗口 要创建无边框窗口,需在 BrowserWindow 的构造中将 frame 参数设置为 false: const win = new BrowserWindow({ width: 800...const win = new BrowserWindow({ titleBarStyle: 'hidden' }) 当然,很多的外观操作是可以通过 BrowserWindow 模块自带的方法完成的,具体可以参考...({ width: 800, height: 600 }) const child = new BrowserWindow({ width: 400, height: 300, //...创建模态窗口需要设置parent和modal选项: const parent = new BrowserWindow({ width: 800, height: 600 }) const child =
将网页装载到 BrowserWindow在 Electron 中,每个窗口展示一个页面,后者可以来自本地的 HTML,也可以来自远程 URL。 在本例中,我们将会装载本地的文件。... 现在有了一个网页,可以将它装载到 Electron 的 BrowserWindow 上了。 将 main.js 中的内容替换成下列代码。 我们马上会逐行解释。...main.jsconst { app, BrowserWindow } = require('electron')const createWindow = () => { const win = new...BrowserWindow({ width: 800, height: 600, }) win.loadFile('index.html')}app.whenReady().then...BrowserWindow,它负责创建和管理应用的窗口。
main.js主进程控制文件 var electron =require('electron') var app=electron.app //引用APP,负责整个应用程序控制,即主进程 var BrowserWindow...=electron.BrowserWindow //窗口引用,负责对窗口的操作 var mainWindow=null //声明要开启的主窗口 //编写应用启动状态下的逻辑 app.on('ready...',()=>{ //初始化主界面并设置长宽 mainWindow=new BrowserWindow({width:700,height:300}) //加载主界面视图文件...每个渲染进程都是独立的,任意一个渲染进程报错或崩溃都不会影响其他渲染进程运行 主进程和渲染进程的区别 主进程通过BrowserWindow创建页面 每个BrowserWindow实例都在自己的渲染进程中运行...= electron.BrowserWindow; var mainWindow = null ; app.on('ready',()=>{ mainWindow = new BrowserWindow
const { app, dialog } = window.require('@electron/remote'); 13.0 Extension // Removed in Electron 13 BrowserWindow.addExtension...(path) BrowserWindow.addDevToolsExtension(path) // Replace with session.defaultSession.loadExtension(...path) // Removed in Electron 13 BrowserWindow.removeExtension(name) BrowserWindow.removeDevToolsExtension...name) // Replace with session.defaultSession.removeExtension(extension_id) // Removed in Electron 13 BrowserWindow.getExtensions...() BrowserWindow.getDevToolsExtensions() // Replace with session.defaultSession.getAllExtensions() 12.0
主进程的主要目的是使用BrowserWindow模块创建和管理应用程序窗口。 BrowserWindow类的每个实例都创建了一个应用程序窗口,该窗口在单独的渲染进程中加载网页。...当一个BrowserWindow实例被销毁时,它对应的渲染进程也会被终止。...✧ 渲染进程 每个Electron应用程序为每个打开的BrowserWindow(和每个web嵌入)生成一个单独的渲染进程。顾名思义,渲染器负责渲染网页内容。...预加载脚本可以在BrowserWindow构造函数的webPreferences选项中附加到主进程。...main.js const { BrowserWindow } = require('electron') //... const win = new BrowserWindow({ webPreferences
直接加入下面的代码, const electron = require('electron') //引入electron模块 var app = electron.app //创建electron引用 var BrowserWindow...= electron.BrowserWindow; //创建窗口引用 require(’....主入口js var mainWindow = null; //声明要打开的主窗口 app.on('ready', () => { //设置窗口的大小 mainWindow = new BrowserWindow...如果想给菜单绑定点击事件,在menu.js引入BrowserWindow模块 如果要打开新的窗口,就必须要创建新的html文件 const { Menu, BrowserWindow }... 对需要的菜单绑定事件 { label: '国际新闻', click: () => { var open = new BrowserWindow
{ const title = titleInput.value window.electronAPI.setTitle(title) }); main.js const {app, BrowserWindow...require('electron') const path = require('path') function createWindow () { const mainWindow = new BrowserWindow...(webContents) win.setTitle(title) }) 每当消息通过set-title通道传入时,此函数将找到附加到消息发送者的BrowserWindow实例,...= await window.electronAPI.openFile() filePathElement.innerText = filePath }) main.js const {app, BrowserWindow...counter.innerText = newValue event.sender.send('counter-value', newValue) }) main.js const {app, BrowserWindow
每个 BrowserWindow 窗口内的 js 都跑在一个渲染进程,而 electron 有一个主进程,负责和各个窗口内的渲染进程通信。 ?...vscode 的每个窗口就是一个 BrowserWindow,我们启动 vscode 的时候是启动的主进程,然后主进程会启动一个 BrowserWindow 来加载窗口的 html,这样就完成的 vscode...(后续新建窗口也是一样的创建 BrowserWindow,只不过要由渲染进程通过 ipc 通知主进程,然后主进程再创建 BrowserWindow,不像第一次启动窗口直接主进程创建 BrowserWindow..._win = new BrowserWindow(options); this.registerListeners(); this....最开始会先通过 windowMainSerice 服务来创建一个 CodeWindow 的实例,这就是窗口对象,是对 electron 的BrowserWindow 的封装。
运行一个electron小demo出现的一个错误信息:Cannot find module app 原代码如下所示: var app = require('app'); var BrowserWindow...Cannot find module app”相关的错误信息: const electron = require('electron'); const app = electron.app; const BrowserWindow...= electron.BrowserWindow; 错误原因:使用的Electron版本太新,这种API在 Electron v1.0.0 中被移除了。
6.在项目的根目录下创建一个名为main.js的文件,这个文件是整个应用程序的入口 // 我们需要导入两个electron模块 const { app, BrowserWindow } = require...('electron') // 创建一个createWindow()函数,用于将index.html加载到新BrowserWindow实例中 const createWindow = () => {...const win = new BrowserWindow({ width: 800, height: 600 }) let promise =...BrowserWindow模块是用于创建和管理应用程序窗口的模块。在 Electron 中,浏览器窗口只能在app模块的ready事件触发后才会创建。...在main.js现有的BrowserWindow构造函数中的预加载选项。
, event)=>{console.info(menuItem);console.info(browserWindow);console.info(event)} }, { label: 'Item2...', click:(menuItem, browserWindow, event)=>{console.info(menuItem);console.info(browserWindow);console.info...(event)} }, { label: 'Item3', click:(menuItem, browserWindow, event)=>{console.info(menuItem);console.info...(browserWindow);console.info(event)} }, { label: 'Item4', click:(menuItem, browserWindow, event)=...>{console.info(menuItem);console.info(browserWindow);console.info(event)} }, { label: '退出' , click
前言 在Electron12时候被废弃,使用必须配置enableRemoteModule const win = new BrowserWindow({ width: 1200, height...remote/main") remote.initialize() //... remote.enable(mainWindow.webContents) 渲染进程中引用 //以前的写法 const {BrowserWindow...} = require("electron").remote //现在的写法 const {BrowserWindow} = require("@electron/remote") 实例 main.js...const { app,BrowserWindow,ipcMain,shell} = require("electron") const remote = require("@electron/remote.../main") remote.initialize() let mainWindow = null app.on("ready",()=>{ mainWindow = new BrowserWindow
允许多选 showHiddenFiles 显示对话框中的隐藏文件 Electron给我们提供关于对话框的API如下: API名称 主要参数 showOpenDialogSync [browserWindow..., ]options showOpenDialog [browserWindow, ]options showSaveDialogSync [browserWindow, ]options...showSaveDialog [browserWindow, ]options showMessageBoxSync [browserWindow, ]options showMessageBox...[browserWindow, ]options showErrorBox title, content showCertificateTrustDialog [browserWindow,...菜单栏自动隐藏,应用启动后默认隐藏,当按下ALT件后显示原菜单栏: const win = new BrowserWindow({ autoHideMenuBar: true, }) 通过Electron
主进程通过实例化 BrowserWindow,每个 BrowserWindow 实例都在它自己的渲染进程内返回一个 web 页面。当 BrowserWindow 实例销毁时,相应的渲染进程也会终止。...上面说了渲染进程如何向主进程发送消息,但主进程也可以主动向渲染进程发送消息 在主进程中,我们会创建一个 BrowserWindow 对象,这个对象有 webContents 属性。...例如,通过 remote 在渲染进程中新建一个窗口: const {BrowserWindow} = require('electron').remote let win = new BrowserWindow...在上面通过 remote 模块创建 BrowserWindow 的例子里。...我们在渲染进程中创建的 BrowserWindow 对象其实并不在我们的渲染进程中,它只是让主进程创建了一个 BrowserWindow 对象,并返回了这个相对应的远程对象给了渲染进程。
可以在创建 BrowserWindow 对象时,配置新的 CSP: const { app, BrowserWindow } = require('electron'); function...createWindow() { const mainWindow = new BrowserWindow({ width: 800, height: 600, webPreferences...== 'darwin') { app.quit(); } }); app.on('activate', () => { if (BrowserWindow.getAllWindows(...您可以在创建 BrowserWindow 时禁用安全策略: const mainWindow = new BrowserWindow({ width: 800, height
const BrowserWindow = require('electron').BrowserWindow var win = new BrowserWindow({ width: 800, height
如果连接打不开,可以直接看下面的代码,我已经帮你拷贝好了: const { app, BrowserWindow, TouchBar } = require('electron') const { TouchBarLabel...TouchBarSpacer({ size: 'large' }), result ] }) let window app.once('ready', () => { window = new BrowserWindow...组件 通过上面的代码我们可以看到,通过new TouchBar()创建了一个TouchBar的实例,然后调用BrowserWindow对象的setTouchBar()方法就可以了,TouchBar的构造方法的参数是一个对象.../node_modules/.bin/electron index.js),看看效果: const { app, BrowserWindow, TouchBar } = require('electron...因为我就没写退出的事件'); } }) }) let window app.once('ready', () => { window = new BrowserWindow({
js文件 const electron = require('electron') //引入electron模块 var app = electron.app //创建electron引用 var BrowserWindow...= electron.BrowserWindow; //创建窗口引用 var mainWindow = null; //声明要打开的主窗口 app.on('ready', () => { mainWindow...= new BrowserWindow({ width: 900, height: 900 }) //设置窗口的大小 mainWindow.loadFile('index.html'); //要加载的文件
项目根目录下新建 main.js: 'use strict'; let electron = require('electron'); let app = electron.app; let BrowserWindow...= electron.BrowserWindow; const isDevelopment = process.env.NODE_ENV !...== 'production'; async function createWindow() { const win = new BrowserWindow({ width: 1100,...== 'darwin') { app.quit(); } }); app.on('activate', () => { if (BrowserWindow.getAllWindows(
领取专属 10元无门槛券
手把手带您无忧上云