Merge pull request #7843 from electron/process-docs

document the process(es) in which APIs are available
This commit is contained in:
Zeke Sikelianos 2016-11-03 13:14:30 -07:00 коммит произвёл GitHub
Родитель 7e90bb47a5 471b9980ec
Коммит ef9d8fe9bd
29 изменённых файлов: 74 добавлений и 2 удалений

Просмотреть файл

@ -2,6 +2,8 @@
> Control your application's event lifecycle.
Process: [Main](../tutorial/quick-start.md#main-process)
The following example shows how to quit the application when the last window is
closed:

Просмотреть файл

@ -2,6 +2,8 @@
> Enable apps to automatically update themselves.
Process: [Main](../tutorial/quick-start.md#main-process)
The `autoUpdater` module provides an interface for the
[Squirrel](https://github.com/Squirrel) framework.

Просмотреть файл

@ -2,6 +2,8 @@
> Create and control browser windows.
Process: [Main](../tutorial/quick-start.md#main-process)
```javascript
// In the main process.
const {BrowserWindow} = require('electron')

Просмотреть файл

@ -2,6 +2,8 @@
> Perform copy and paste operations on the system clipboard.
Process: [Main](../tutorial/quick-start.md#main-process), [Renderer](../tutorial/quick-start.md#renderer-process)
The following example shows how to write a string to the clipboard:
```javascript

Просмотреть файл

@ -2,6 +2,8 @@
> Submit crash reports to a remote server.
Process: [Main](../tutorial/quick-start.md#main-process), [Renderer](../tutorial/quick-start.md#renderer-process)
The following is an example of automatically submitting a crash report to a
remote server:

Просмотреть файл

@ -3,6 +3,8 @@
> Access information about media sources that can be used to capture audio and
> video from the desktop using the [`navigator.webkitGetUserMedia`] API.
Process: [Renderer](../tutorial/quick-start.md#renderer-process)
The following example shows how to capture video from a desktop window whose
title is `Electron`:

Просмотреть файл

@ -2,6 +2,8 @@
> Display native system dialogs for opening and saving files, alerting, etc.
Process: [Main](../tutorial/quick-start.md#main-process)
An example of showing a dialog to select multiple files and directories:
```javascript

Просмотреть файл

@ -2,6 +2,8 @@
> Control file downloads from remote sources.
Process: [Main](../tutorial/quick-start.md#main-process)
`DownloadItem` is an `EventEmitter` that represents a download item in Electron.
It is used in `will-download` event of `Session` class, and allows users to
control the download item.
@ -59,7 +61,7 @@ Returns:
* `state` String
Emitted when the download is in a terminal state. This includes a completed
download, a cancelled download(via `downloadItem.cancel()`), and interrupted
download, a cancelled download (via `downloadItem.cancel()`), and interrupted
download that can't be resumed.
The `state` can be one of following:

Просмотреть файл

@ -7,7 +7,7 @@ let users work on native files directly with the HTML5 file API. Electron has
added a `path` attribute to the `File` interface which exposes the file's real
path on filesystem.
Example on getting a real path from a dragged-onto-the-app file:
Example of getting a real path from a dragged-onto-the-app file:
```html
<div id="holder">

Просмотреть файл

@ -2,6 +2,8 @@
> Detect keyboard events when the application does not have keyboard focus.
Process: [Main](../tutorial/quick-start.md#main-process)
The `globalShortcut` module can register/unregister a global keyboard shortcut
with the operating system so that you can customize the operations for various
shortcuts.

Просмотреть файл

@ -2,6 +2,8 @@
> Communicate asynchronously from the main process to renderer processes.
Process: [Main](../tutorial/quick-start.md#main-process)
The `ipcMain` module is an instance of the
[EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter) class. When used in the main
process, it handles asynchronous and synchronous messages sent from a renderer

Просмотреть файл

@ -2,6 +2,8 @@
> Communicate asynchronously from a renderer process to the main process.
Process: [Renderer](../tutorial/quick-start.md#renderer-process)
The `ipcRenderer` module is an instance of the
[EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter) class. It provides a few
methods so you can send synchronous and asynchronous messages from the render

Просмотреть файл

@ -2,6 +2,8 @@
> Add items to native application menus and context menus.
Process: [Main](../tutorial/quick-start.md#main-process)
See [`Menu`](menu.md) for examples.
## Class: MenuItem

Просмотреть файл

@ -2,6 +2,8 @@
> Create native application menus and context menus.
Process: [Main](../tutorial/quick-start.md#main-process)
Each `Menu` consists of multiple [`MenuItem`](menu-item.md)s and each `MenuItem`
can have a submenu.

Просмотреть файл

@ -2,6 +2,8 @@
> Create tray, dock, and application icons using PNG or JPG files.
Process: [Main](../tutorial/quick-start.md#main-process), [Renderer](../tutorial/quick-start.md#renderer-process)
In Electron, for the APIs that take images, you can pass either file paths or
`NativeImage` instances. An empty image will be used when `null` is passed.
@ -155,6 +157,8 @@ Creates a new `NativeImage` instance from `dataURL`.
> Natively wrap images such as tray, dock, and application icons.
Process: [Main](../tutorial/quick-start.md#main-process), [Renderer](../tutorial/quick-start.md#renderer-process)
### Instance Methods
The following methods are available on instances of the `NativeImage` class:

Просмотреть файл

@ -2,6 +2,8 @@
> Issue HTTP/HTTPS requests using Chromium's native networking library
Process: [Main](../tutorial/quick-start.md#main-process)
The `net` module is a client-side API for issuing HTTP(S) requests. It is
similar to the [HTTP](https://nodejs.org/api/http.html) and
[HTTPS](https://nodejs.org/api/https.html) modules of Node.js but uses
@ -72,6 +74,8 @@ specified protocol scheme in the `options` object.
> Make HTTP/HTTPS requests.
Process: [Main](../tutorial/quick-start.md#main-process)
`ClientRequest` implements the [Writable Stream](https://nodejs.org/api/stream.html#stream_writable_streams)
interface and is therefore an [EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter).
@ -264,6 +268,8 @@ response object,it will emit the `aborted` event.
> Handle responses to HTTP/HTTPS requests.
Process: [Main](../tutorial/quick-start.md#main-process)
`IncomingMessage` implements the [Readable Stream](https://nodejs.org/api/stream.html#stream_readable_streams)
interface and is therefore an [EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter).

Просмотреть файл

@ -2,6 +2,8 @@
> Monitor power state changes.
Process: [Main](../tutorial/quick-start.md#main-process)
You cannot require or use this module until the `ready` event of the `app`
module is emitted.

Просмотреть файл

@ -2,6 +2,8 @@
> Block the system from entering low-power (sleep) mode.
Process: [Main](../tutorial/quick-start.md#main-process)
For example:
```javascript

Просмотреть файл

@ -2,6 +2,8 @@
> Extensions to process object.
Process: [Main](../tutorial/quick-start.md#main-process)
The `process` object is extended in Electron with following APIs:
## Events

Просмотреть файл

@ -2,6 +2,8 @@
> Register a custom protocol and intercept existing protocol requests.
Process: [Main](../tutorial/quick-start.md#main-process)
An example of implementing a protocol that has the same effect as the
`file://` protocol:

Просмотреть файл

@ -2,6 +2,8 @@
> Use main process modules from the renderer process.
Process: [Renderer](../tutorial/quick-start.md#renderer-process)
The `remote` module provides a simple way to do inter-process communication
(IPC) between the renderer process (web page) and the main process.

Просмотреть файл

@ -2,6 +2,8 @@
> Retrieve information about screen size, displays, cursor position, etc.
Process: [Main](../tutorial/quick-start.md#main-process), [Renderer](../tutorial/quick-start.md#renderer-process)
You cannot require or use this module until the `ready` event of the `app`
module is emitted.

Просмотреть файл

@ -2,6 +2,8 @@
> Manage browser sessions, cookies, cache, proxy settings, etc.
Process: [Main](../tutorial/quick-start.md#main-process)
The `session` module can be used to create new `Session` objects.
You can also access the `session` of existing pages by using the `session`
@ -52,6 +54,8 @@ A `Session` object, the default session object of the app.
> Get and set properties of a session.
Process: [Main](../tutorial/quick-start.md#main-process)
You can create a `Session` object in the `session` module:
```javascript
@ -375,6 +379,8 @@ app.on('ready', function () {
> Query and modify a session's cookies.
Process: [Main](../tutorial/quick-start.md#main-process)
Instances of the `Cookies` class are accessed by using `cookies` property of
a `Session`.
@ -480,6 +486,8 @@ Removes the cookies matching `url` and `name`, `callback` will called with
> Intercept and modify the contents of a request at various stages of its lifetime.
Process: [Main](../tutorial/quick-start.md#main-process)
Instances of the `WebRequest` class are accessed by using the `webRequest`
property of a `Session`.

Просмотреть файл

@ -2,6 +2,8 @@
> Manage files and URLs using their default applications.
Process: [Main](../tutorial/quick-start.md#main-process), [Renderer](../tutorial/quick-start.md#renderer-process)
The `shell` module provides functions related to desktop integration.
An example of opening a URL in the user's default browser:

Просмотреть файл

@ -2,6 +2,8 @@
> Get system preferences.
Process: [Main](../tutorial/quick-start.md#main-process)
```javascript
const {systemPreferences} = require('electron')
console.log(systemPreferences.isDarkMode())

Просмотреть файл

@ -2,6 +2,8 @@
> Add icons and context menus to the system's notification area.
Process: [Main](../tutorial/quick-start.md#main-process)
```javascript
const {app, Menu, Tray} = require('electron')

Просмотреть файл

@ -2,6 +2,8 @@
> Render and control web pages.
Process: [Main](../tutorial/quick-start.md#main-process)
`webContents` is an
[EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter).
It is responsible for rendering and controlling a web page and is a property of
@ -47,6 +49,8 @@ Returns `WebContents` - A WebContents instance with the given ID.
> Render and control the contents of a BrowserWindow instance.
Process: [Main](../tutorial/quick-start.md#main-process)
### Instance Events
#### Event: 'did-finish-load'
@ -1186,6 +1190,8 @@ A Debugger instance for this webContents.
> An alternate transport for Chrome's remote debugging protocol.
Process: [Main](../tutorial/quick-start.md#main-process)
Chrome Developer Tools has a [special binding][rdp] available at JavaScript
runtime that allows interacting with pages and instrumenting them.

Просмотреть файл

@ -2,6 +2,8 @@
> Customize the rendering of the current web page.
Process: [Renderer](../tutorial/quick-start.md#renderer-process)
An example of zooming current page to 200%.
```javascript

Просмотреть файл

@ -45,6 +45,8 @@ origin preference.
> Manipulate the child browser window
Process: [Renderer](../tutorial/quick-start.md#renderer-process)
The `BrowserWindowProxy` object is returned from `window.open` and provides
limited functionality with the child window.