Merge pull request #7843 from electron/process-docs
document the process(es) in which APIs are available
This commit is contained in:
commit
ef9d8fe9bd
29 changed files with 74 additions and 2 deletions
|
@ -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.
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue