diff --git a/docs/faq.md b/docs/faq.md index afd6ed9f5c40..c6b853afa08b 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -43,26 +43,14 @@ use HTML5 APIs which are already available in browsers. Good candidates are [Storage API][storage], [`localStorage`][local-storage], [`sessionStorage`][session-storage], and [IndexedDB][indexed-db]. -Or you can use the IPC system, which is specific to Electron, to store objects -in the main process as a global variable, and then to access them from the -renderers through the `remote` property of `electron` module: - -```javascript -// In the main process. -global.sharedObject = { - someProperty: 'default value' -} -``` - -```javascript -// In page 1. -require('electron').remote.getGlobal('sharedObject').someProperty = 'new value' -``` - -```javascript -// In page 2. -console.log(require('electron').remote.getGlobal('sharedObject').someProperty) -``` +Alternatively, you can use the IPC primitives that are provided by Electron. To +share data between the main and renderer processes, you can use the +[`ipcMain`](api/ipc-main.md) and [`ipcRenderer`](api/ipc-renderer.md) modules. +To communicate directly between web pages, you can send a +[`MessagePort`][message-port] from one to the other, possibly via the main process +using [`ipcRenderer.postMessage()`](api/ipc-renderer.md#ipcrendererpostmessagechannel-message-transfer). +Subsequent communication over message ports is direct and does not detour through +the main process. ## My app's tray disappeared after a few minutes. @@ -171,5 +159,6 @@ Notice that just setting the background in the CSS does not have the desired eff [local-storage]: https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage [session-storage]: https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage [indexed-db]: https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API +[message-port]: https://developer.mozilla.org/en-US/docs/Web/API/MessagePort [browser-window]: api/browser-window.md [subpixel rendering example]: images/subpixel-rendering-screenshot.gif