Electron中的一些API
来源:互联网 发布:流动人口大数据 编辑:程序博客网 时间:2024/05/21 12:44
app
app模块是为了控制整个应用的生命周期而设计的。
事件列表
- will-finish-launching
当应用程序完成基础的启动的时候被触发。
需要说明的是,在window和Linux中,will-finish-launching
事件与ready
事件是相同的;在macOS中,这个事件相当于NSApplication
中的applicationWillFinishLaunching
提示。这里可以为open-file
和open-url
设置监听器,并启动崩溃报告和自动更新。
在大多数的情况下,只在ready
事件处理器中完成所有的业务。 - ready
当Electron完成初始化时触发 - window-all-closed
当所有的窗口都被关闭时触发。如果开发者调用了app.quit()
,Electron将会先尝试关闭所有的窗口再触发will-quit()
事件 will-quit
当所有的窗口已经被关闭,应用即将推出时触发。
这里如果调用event.preventDefault将会阻止终止应用程序的默认行为。before-quit
应用程序开始关闭它的窗口的时候被触发。这里如果调用event.preventDefault()
将会阻止终止应用程序的默认行为。quit
应用程序正在推出时触发。open-file(macOS)
当用户想要在应用中打开一个文件的时候触发。open-file事件常常用在应用已经打开并且系统想要再次使用应用打开文件时被触发。open-file 也会在一个文件被拖入 dock 且应用还没有运行的时候被触发。open-url(macOS)
当用户想要在应用中打开一个url时被触发。active(macOS)
应用被激活时触发,常用于点击应用图标的时候。browser-window-blur
当一个BrowserWindow失去焦点的时候触发。browser-window-focus
当一个BrowserWindow获得焦点的时候被触发。browser-window-created
当一个BrowserWindow被创建的时候触发。certificate-error
当对url验证certificate证书失败的时候触发,如果需要信任这个证书,需组织默认行为event.preventDefault()并且调用callback(true)。
session.on('certificate-error', function(event, webContents, url, error, certificate, callback) { if (url == "https://github.com") { // 验证逻辑。 event.preventDefault(); callback(true); } else { callback(false); }});
- login
当webContents要进行一次HTTP登录验证时被触发。
默认情况下,electron会取消所有的验证行为,如果需要重写这个行为,需event.preventdefault()并且用callback(‘username’,’secret’)来验证。
app.on('login', function(event, webContents, request, authInfo, callback) { event.preventDefault(); callback('username', 'secret');})
- gpu-process-crashed
当GPU进程崩溃是触发。
方法列表
- app.quit()
- app.hide()(macOS)
隐藏所有的应用窗口,不是最小化. - app.show()(macOS)
隐藏后重新显示所有的窗口,不会自动选中他们。 - app.exit(exitCode)
- app.getAppPath()
- app.makeSingleInstance(callback)
这个方法可以让你的应用在同一时刻最多只会有一个实例。可以利用这个接口保证只有一个实例正常运行,其余的实例全部会被终止退出。
如果多个实例同时在运行,那么第一个被运行的实例中callback会以callback(argv,workgDirectory)
其余的实例会被终止。argv
是一个包含了这个实例的命令行参数列表的数组,workgDirectory
是这个实例目前的运行目录。
var myWindow = null;var shouldQuit = app.makeSingleInstance(function(commandLine, workingDirectory) { // 当另一个实例运行的时候,这里将会被调用,我们需要激活应用的窗口 if (myWindow) { if (myWindow.isMinimized()) myWindow.restore(); myWindow.focus(); } return true;});// 这个实例是多余的实例,需要退出if (shouldQuit) { app.quit(); return;}// 创建窗口、继续加载应用、应用逻辑等……app.on('ready', function() {});
0 0
- Electron中的一些API
- LUA中的一些API
- electron开发记录(四):electron中组件的一些用法
- 使用electron中的webView标签
- Electron
- electron
- 【Electron】Electron开发入门(七):打开本地文件或者网页链接 and webview里操纵electron api
- JBPM常用一些api中的方法
- gwt api中的一些类和方法
- JBPM常用一些api中的方法
- linux kernel中的一些utility API---(1)
- 2017.4.26API中的一些类
- 有关Facebook Graph Api 中的一些笔记
- 一些API
- 一些API
- electron安装卡在install js中的解决办法
- electron-store在webpack打包中的Cannot find module "." 问题
- 一些API函数中的字符串缓冲区的大小设置问题
- boost::asio::async_write() versus boost::asio::write()
- toj 4606 Homework Checker
- 选择排序基本思想和实现代码
- Java虚拟机-内存区域划分
- Docker 1.12:真正的游戏改变者
- Electron中的一些API
- 《JAVA与模式》之策略模式——我看过最好的一篇策略模式博文
- 进程和线程
- Activemq+Camel.xml简单配置消息分发
- Linux平台下启动java程序的脚本编写
- JavaWeb--Servlet细节
- JavaScript之数组
- 【测试】测试的分类 以及 区别和联系
- 1899: 985的最大和难题(好题)