在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
app 模块是为了控制整个应用的生命周期设计的。 下面的这个例子将会展示如何在最后一个窗口被关闭时退出应用: var app = require('app'); app.on('window-all-closed', function() { app.quit(); }); 事件列表app 对象会触发以下的事件: 事件:'will-finish-launching'当应用程序完成基础的启动的时候被触发。在 Windows 和 Linux 中, will-finish-launching 事件与 ready 事件是相同的; 在 OS X 中, 这个时间相当于 NSApplication 中的 applicationWillFinishLaunching 提示。 你应该经常在这里为 open-file 和 open-url 设置监听器,并启动崩溃报告和自动更新。 在大多数的情况下,你应该只在 ready 事件处理器中完成所有的业务。 事件:'ready'当 Electron 完成初始化时被触发。 事件:'window-all-closed'当所有的窗口都被关闭时触发。 这个时间仅在应用还没有退出时才能触发。 如果用户按下了 Cmd + Q, 或者开发者调用了 app.quit() ,Electron 将会先尝试关闭所有的窗口再触发 will-quit 事件, 在这种情况下 window-all-closed 不会被触发。 事件:'before-quit'返回:
在应用程序开始关闭它的窗口的时候被触发。 调用 event.preventDefault() 将会阻止终止应用程序的默认行为。 事件:'will-quit'返回:
当所有的窗口已经被关闭,应用即将退出时被触发。 调用 event.preventDefault() 将会阻止终止应用程序的默认行为。 你可以在 window-all-closed 事件的描述中看到 will-quit 事件 和 window-all-closed 事件的区别。 事件:'quit'返回:
当应用程序正在退出时触发。 事件:'open-file' OS X返回:
当用户想要在应用中打开一个文件时触发。open-file 事件常常在应用已经打开并且系统想要再次使用应用打开文件时被触发。 open-file 也会在一个文件被拖入 dock 且应用还没有运行的时候被触发。 请确认在应用启动的时候(甚至在 ready 事件被触发前)就对 open-file 事件进行监听,以处理这种情况。 如果你想处理这个事件,你应该调用 event.preventDefault() 。 在 Windows系统中,你需要通过解析 process.argv 来获取文件路径。 事件:'open-url' OS X返回:
当用户想要在应用中打开一个url的时候被触发。URL格式必须要提前标识才能被你的应用打开。 如果你想处理这个事件,你应该调用 event.preventDefault() 。 事件:'activate' OS X返回:
当应用被激活时触发,常用于点击应用的 dock 图标的时候。 事件:'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); } }); 事件:'select-client-certificate'返回:
当一个客户端认证被请求的时候被触发。 url 指的是请求客户端认证的网页地址,调用 callback 时需要传入一个证书列表中的证书。 需要通过调用 event.preventDefault() 来防止应用自动使用第一个证书进行验证。如下所示: app.on('select-certificate', function(event, host, url, list, callback) { event.preventDefault(); callback(list[0]); }) 事件: 'login'返回:
当 webContents 要做进行一次 HTTP 登陆验证时被触发。 默认情况下,Electron 会取消所有的验证行为,如果需要重写这个行为,你需要用 event.preventDefault() 来阻止默认行为,并且 用 callback(username, password) 来进行验证。 app.on('login', function(event, webContents, request, authInfo, callback) { event.preventDefault(); callback('username', 'secret'); }) 事件:'gpu-process-crashed'当 GPU 进程崩溃时触发。 方法列表app 对象拥有以下的方法: 请注意 有的方法只能用于特定的操作系统。 app.quit()试图关掉所有的窗口。before-quit 事件将会最先被触发。如果所有的窗口都被成功关闭了, will-quit事件将会被触发,默认下应用将会被关闭。 这个方法保证了所有的 beforeunload 和 unload 事件处理器被正确执行。假如一个窗口的 beforeunload事件处理器返回 false,那么整个应用可能会取消退出。 app.hide() OS X隐藏所有的应用窗口,不是最小化. app.show() OS X隐藏后重新显示所有的窗口,不会自动选中他们。 app.exit(exitCode)
带着exitCode退出应用. 所有的窗口会被立刻关闭,不会询问用户。before-quit 和 will-quit 这2个事件不会被触发 app.getAppPath()返回当前应用所在的文件路径。 app.getPath(name)
返回一个与 name 参数相关的特殊文件夹或文件路径。当失败时抛出一个 Error 。 你可以通过名称请求以下的路径:
全部评论
专题导读
热门推荐
热门话题
阅读排行榜
|
请发表评论