# [**app对象方法**](https://electronjs.org/docs/all#%E6%96%B9%E6%B3%95)[](https://electronjs.org/docs/all#%E6%96%B9%E6%B3%95 "Permalink")
### [`app.quit()`](https://electronjs.org/docs/all#appquit)
### [`app.exit([exitCode])`](https://electronjs.org/docs/all#appexitexitcode)
所有窗口都将立即被关闭并返回`exitCode`(默认0),而不询问用户,而且`before-quit`和`will-quit`事件也不会被触发
。。。 。。。
# [**app对象的事件**](https://electronjs.org/docs/all#%E4%BA%8B%E4%BB%B6-will-finish-launching)[](https://electronjs.org/docs/all#%E4%BA%8B%E4%BB%B6-will-finish-launching "Permalink")
例子:
~~~
let mainWindow
app.on('ready',function(){
//创建BrowserWindow的实例 赋值给win打开窗口
//软件打开的的宽度和高度
mainWindow = new BrowserWindow({width:400,height:400});
//mainWindow.loadFile('index.html');//把index.html加载到窗口里面,另一种方法如下:
mainWindow.loadURL(require("path").join('file:',__dirname,'index.html'));
//打开窗口时开启调试模式
mainWindow.webContents.openDevTools();
//用户关闭窗口时销毁mianWindow
mainWindow.on('closed',function(){
mainWindow=null;
})
})
~~~
**ready**【常用】
当 Electron 完成初始化时被触发
**window-all-closed**【常用】
当所有的窗口都被关闭时触发
**before-quit**【常用】
在应用程序开始关闭窗口之前触发
**will-quit**【常用】
当所有窗口都已关闭并且应用程序将退出时发出
>[danger]**注:** 在 Windows 系统中,如果应用程序因系统关机/重启或用户注销而关闭,那么这个事件不会被触发
**quit**【常用】
在应用程序退出时发出
>[danger]**注:** 在 Windows 系统中,如果应用程序因系统关机/重启或用户注销而关闭,那么这个事件不会被触发
### [事件: 'activate'](https://www.electronjs.org/docs/all#%E4%BA%8B%E4%BB%B6-activate-macos)[](https://www.electronjs.org/docs/all#%E4%BA%8B%E4%BB%B6-activate-macos "Permalink")
当应用被激活时发出。 各种操作都可以触发此事件, 例如首次启动应用程序、尝试在应用程序已运行时或单击应用程序的坞站或任务栏图标时重新激活它。
### [事件: 'browser-window-blur'](https://electronjs.org/docs/all#%E4%BA%8B%E4%BB%B6-browser-window-blur)[](https://electronjs.org/docs/all#%E4%BA%8B%E4%BB%B6-browser-window-blur "Permalink")
在[browserWindow](https://electronjs.org/docs/api/browser-window)失去焦点时发出
### [事件: 'browser-window-focus'](https://electronjs.org/docs/all#%E4%BA%8B%E4%BB%B6-browser-window-focus)[](https://electronjs.org/docs/all#%E4%BA%8B%E4%BB%B6-browser-window-focus "Permalink")
在[browserWindow](https://electronjs.org/docs/api/browser-window)获得焦点时发出
### [事件: 'browser-window-created'](https://electronjs.org/docs/all#%E4%BA%8B%E4%BB%B6-browser-window-created)[](https://electronjs.org/docs/all#%E4%BA%8B%E4%BB%B6-browser-window-created "Permalink")
在创建新的[browserWindow](https://electronjs.org/docs/api/browser-window)时发出
。。。
# [**类: WebContents**](https://electronjs.org/docs/all#%E7%B1%BB-webcontents)[](https://electronjs.org/docs/all#%E7%B1%BB-webcontents "Permalink")
> 渲染和控制 BrowserWindow 实例的内容。
#### [事件: 'dom-ready'](https://electronjs.org/docs/all#%E4%BA%8B%E4%BB%B6-dom-ready)[](https://electronjs.org/docs/all#%E4%BA%8B%E4%BB%B6-dom-ready "Permalink")
一个框架中的文本加载完成后触发该事件
#### [Event: 'did-finish-load'](https://electronjs.org/docs/all#event-did-finish-load)[](https://electronjs.org/docs/all#event-did-finish-load "Permalink")
导航完成时触发,即选项卡的旋转器将停止旋转,并指派`onload`事件后
>[info] ready > dom-ready > did-finish-load
# [**类: BrowserView**](https://electronjs.org/docs/all#%E7%B1%BB-browserview)
创建和控制视图 进程:[主进程](https://electronjs.org/docs/glossary#main-process)
`BrowserView`被用来让[`BrowserWindow`](https://electronjs.org/docs/api/browser-window)嵌入更多的 web 内容。 它就像一个子窗口,除了它的位置是相对于父窗口。 这意味着可以替代`webview`标签.
### [示例](https://electronjs.org/docs/all#%E7%A4%BA%E4%BE%8B)[](https://electronjs.org/docs/all#%E7%A4%BA%E4%BE%8B "Permalink")
~~~javascript
// 在主进程中.
const { BrowserView, BrowserWindow } = require('electron')
let win = new BrowserWindow({ width: 800, height: 600 })
win.on('closed', () => {
win = null
})
let view = new BrowserView()
win.setBrowserView(view)
view.setBounds({ x: 0, y: 0, width: 300, height: 300 })
view.webContents.loadURL('https://electronjs.org')
~~~
# [**BrowserWindow**](https://electronjs.org/docs/all#browserwindow)[](https://electronjs.org/docs/all#browserwindow "Permalink")
> 创建和控制浏览器窗口。
进程:[主进程](https://electronjs.org/docs/glossary#main-process)
```
// 在主进程中.
const { BrowserWindow } = require('electron')
// 或者从渲染进程中使用 `remote`.
// const { BrowserWindow } = require('electron').remote
let win = new BrowserWindow({ width: 800, height: 600 })
win.on('closed', () => {
win = null
})
// 加载远程URL
win.loadURL('https://github.com')
// 或加载本地HTML文件
win.loadURL(`file://${__dirname}/app/index.html`)
```
# [**类: BrowserWindowProxy**](https://electronjs.org/docs/all#%E7%B1%BB-browserwindowproxy)[](https://electronjs.org/docs/all#%E7%B1%BB-browserwindowproxy "Permalink")
> 操纵子浏览器窗口
进程:[渲染进程](https://electronjs.org/docs/glossary#renderer-process)
使用`window.open`创建一个新窗口时会返回一个`BrowserWindowProxy`对象,并提供一个有限功能的子窗口.
# [Cookie 对象](https://electronjs.org/docs/all#cookie-%E5%AF%B9%E8%B1%A1)[](https://electronjs.org/docs/all#cookie-%E5%AF%B9%E8%B1%A1 "Permalink")
# [CPUUsage 对象](https://electronjs.org/docs/all#cpuusage-%E5%AF%B9%E8%B1%A1)[](https://electronjs.org/docs/all#cpuusage-%E5%AF%B9%E8%B1%A1 "Permalink")
# [CustomScheme 对象](https://electronjs.org/docs/all#customscheme-%E5%AF%B9%E8%B1%A1)[](https://electronjs.org/docs/all#customscheme-%E5%AF%B9%E8%B1%A1 "Permalink")
- npm
- 基础
- Api
- 安装
- node_modules本地安装与全局安装
- Inspector
- 模块
- hello world
- 使用nodejs开发桌面客户端应用
- Electron
- api
- 使用 Node.js 的 API
- 事件
- 安装
- 调试
- 读取本地文件
- 调用Html5的拖放api
- 官方示例下载
- WebView内嵌窗口
- window.open弹出子窗口及其操作
- BrowserWindow渲染主窗口
- 主进程与渲染进程的通信
- 菜单
- 网络
- 与react结合
- 打包
- 前言
- 对比
- electron-forge
- 打包工具一:electron-packager
- 打包工具二:electron-builder
- Boilerplates样板工程
- 通用配置文档
- NW.js
- 阿斯达岁的
- npm install、npm install --save与npm install --save-dev区别