2015-08-28 23:20:49 -07:00
|
|
|
# webFrame
|
2014-06-16 14:56:24 +08:00
|
|
|
|
2016-04-21 15:39:12 -07:00
|
|
|
> Customize the rendering of the current web page.
|
2014-06-16 14:56:24 +08:00
|
|
|
|
|
|
|
An example of zooming current page to 200%.
|
|
|
|
|
|
|
|
```javascript
|
2016-05-11 01:26:38 +09:00
|
|
|
const {webFrame} = require('electron');
|
2015-08-28 23:20:49 -07:00
|
|
|
|
2014-10-24 18:24:12 +08:00
|
|
|
webFrame.setZoomFactor(2);
|
2014-06-16 14:56:24 +08:00
|
|
|
```
|
|
|
|
|
2015-08-28 23:20:49 -07:00
|
|
|
## Methods
|
|
|
|
|
2016-04-26 10:28:04 -07:00
|
|
|
The `webFrame` module has the following methods:
|
2015-08-28 23:20:49 -07:00
|
|
|
|
|
|
|
### `webFrame.setZoomFactor(factor)`
|
2014-06-16 14:56:24 +08:00
|
|
|
|
2015-08-28 23:20:49 -07:00
|
|
|
* `factor` Number - Zoom factor.
|
2014-06-16 14:56:24 +08:00
|
|
|
|
2015-09-02 09:57:29 -07:00
|
|
|
Changes the zoom factor to the specified factor. Zoom factor is
|
|
|
|
zoom percent divided by 100, so 300% = 3.0.
|
2014-06-16 14:56:24 +08:00
|
|
|
|
2015-08-28 23:20:49 -07:00
|
|
|
### `webFrame.getZoomFactor()`
|
2014-06-16 14:56:24 +08:00
|
|
|
|
|
|
|
Returns the current zoom factor.
|
|
|
|
|
2015-08-28 23:20:49 -07:00
|
|
|
### `webFrame.setZoomLevel(level)`
|
2014-06-16 14:56:24 +08:00
|
|
|
|
|
|
|
* `level` Number - Zoom level
|
|
|
|
|
2015-08-31 20:05:57 -07:00
|
|
|
Changes the zoom level to the specified level. The original size is 0 and each
|
2014-06-16 14:56:24 +08:00
|
|
|
increment above or below represents zooming 20% larger or smaller to default
|
|
|
|
limits of 300% and 50% of original size, respectively.
|
|
|
|
|
2015-08-28 23:20:49 -07:00
|
|
|
### `webFrame.getZoomLevel()`
|
2014-06-16 14:56:24 +08:00
|
|
|
|
|
|
|
Returns the current zoom level.
|
2014-12-19 22:34:34 -08:00
|
|
|
|
2015-08-28 23:20:49 -07:00
|
|
|
### `webFrame.setZoomLevelLimits(minimumLevel, maximumLevel)`
|
2015-08-27 22:08:25 +08:00
|
|
|
|
|
|
|
* `minimumLevel` Number
|
|
|
|
* `maximumLevel` Number
|
|
|
|
|
|
|
|
Sets the maximum and minimum zoom level.
|
|
|
|
|
2015-08-28 23:20:49 -07:00
|
|
|
### `webFrame.setSpellCheckProvider(language, autoCorrectWord, provider)`
|
2014-12-19 22:34:34 -08:00
|
|
|
|
|
|
|
* `language` String
|
|
|
|
* `autoCorrectWord` Boolean
|
|
|
|
* `provider` Object
|
|
|
|
|
|
|
|
Sets a provider for spell checking in input fields and text areas.
|
|
|
|
|
|
|
|
The `provider` must be an object that has a `spellCheck` method that returns
|
|
|
|
whether the word passed is correctly spelled.
|
|
|
|
|
|
|
|
An example of using [node-spellchecker][spellchecker] as provider:
|
|
|
|
|
|
|
|
```javascript
|
2016-05-10 18:42:11 +09:00
|
|
|
webFrame.setSpellCheckProvider('en-US', true, {
|
2016-05-11 02:15:09 +09:00
|
|
|
spellCheck(text) {
|
2014-12-19 22:34:34 -08:00
|
|
|
return !(require('spellchecker').isMisspelled(text));
|
|
|
|
}
|
|
|
|
});
|
|
|
|
```
|
|
|
|
|
2015-11-13 16:03:40 +08:00
|
|
|
### `webFrame.registerURLSchemeAsSecure(scheme)`
|
2015-01-08 12:37:41 -08:00
|
|
|
|
|
|
|
* `scheme` String
|
|
|
|
|
2015-07-29 16:50:50 +05:30
|
|
|
Registers the `scheme` as secure scheme.
|
2015-01-08 12:37:41 -08:00
|
|
|
|
|
|
|
Secure schemes do not trigger mixed content warnings. For example, `https` and
|
|
|
|
`data` are secure schemes because they cannot be corrupted by active network
|
|
|
|
attackers.
|
|
|
|
|
2015-11-13 16:03:40 +08:00
|
|
|
### `webFrame.registerURLSchemeAsBypassingCSP(scheme)`
|
2015-07-29 16:50:50 +05:30
|
|
|
|
|
|
|
* `scheme` String
|
|
|
|
|
2015-08-28 23:20:49 -07:00
|
|
|
Resources will be loaded from this `scheme` regardless of the current page's
|
|
|
|
Content Security Policy.
|
2015-07-29 16:50:50 +05:30
|
|
|
|
2015-11-13 16:03:40 +08:00
|
|
|
### `webFrame.registerURLSchemeAsPrivileged(scheme)`
|
2015-09-21 22:59:59 +05:30
|
|
|
|
|
|
|
* `scheme` String
|
|
|
|
|
2015-12-29 15:56:19 +05:30
|
|
|
Registers the `scheme` as secure, bypasses content security policy for resources,
|
|
|
|
allows registering ServiceWorker and supports fetch API.
|
2015-09-21 22:59:59 +05:30
|
|
|
|
2016-01-13 11:21:16 +08:00
|
|
|
### `webFrame.insertText(text)`
|
|
|
|
|
|
|
|
* `text` String
|
|
|
|
|
2016-01-13 11:55:49 +08:00
|
|
|
Inserts `text` to the focused element.
|
2016-01-13 11:21:16 +08:00
|
|
|
|
2016-01-13 12:20:49 +08:00
|
|
|
### `webFrame.executeJavaScript(code[, userGesture])`
|
|
|
|
|
|
|
|
* `code` String
|
|
|
|
* `userGesture` Boolean (optional) - Default is `false`.
|
|
|
|
|
|
|
|
Evaluates `code` in page.
|
|
|
|
|
|
|
|
In the browser window some HTML APIs like `requestFullScreen` can only be
|
|
|
|
invoked by a gesture from the user. Setting `userGesture` to `true` will remove
|
|
|
|
this limitation.
|
|
|
|
|
2016-05-12 15:03:47 -07:00
|
|
|
### `webFrame.getResourceUsage()`
|
|
|
|
|
2016-05-14 22:48:25 +09:00
|
|
|
Returns an object describing usage information of Blink's internal memory
|
|
|
|
caches.
|
2016-05-12 15:03:47 -07:00
|
|
|
|
2016-05-14 22:48:25 +09:00
|
|
|
```javascript
|
|
|
|
console.log(webFrame.getResourceUsage())
|
|
|
|
```
|
|
|
|
|
|
|
|
This will generate:
|
|
|
|
|
|
|
|
```javascript
|
2016-05-12 15:03:47 -07:00
|
|
|
{
|
2016-05-14 22:48:25 +09:00
|
|
|
images: {
|
|
|
|
count: 22,
|
|
|
|
size: 2549,
|
|
|
|
liveSize: 2542,
|
|
|
|
decodedSize: 478,
|
|
|
|
purgedSize: 0,
|
|
|
|
purgeableSize: 0
|
2016-05-12 15:03:47 -07:00
|
|
|
},
|
2016-05-14 22:48:25 +09:00
|
|
|
cssStyleSheets: { /* same with "images" */ },
|
|
|
|
xslStyleSheets: { /* same with "images" */ },
|
|
|
|
fonts: { /* same with "images" */ },
|
|
|
|
other: { /* same with "images" */ },
|
2016-05-12 15:03:47 -07:00
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2016-05-14 22:48:25 +09:00
|
|
|
### `webFrame.clearCache()`
|
2016-05-12 15:03:47 -07:00
|
|
|
|
2016-05-14 22:48:25 +09:00
|
|
|
Attempts to free memory that is no longer being used (like images from a
|
|
|
|
previous navigation).
|
2016-05-12 15:03:47 -07:00
|
|
|
|
|
|
|
Note that blindly calling this method probably makes Electron slower since it
|
|
|
|
will have to refill these emptied caches, you should only call it if an event
|
2016-06-16 15:19:38 -07:00
|
|
|
in your app has occurred that makes you think your page is actually using less
|
2016-05-12 15:03:47 -07:00
|
|
|
memory (i.e. you have navigated from a super heavy page to a mostly empty one,
|
2016-05-14 22:48:25 +09:00
|
|
|
and intend to stay there).
|
2016-05-12 15:03:47 -07:00
|
|
|
|
2014-12-19 22:34:34 -08:00
|
|
|
[spellchecker]: https://github.com/atom/node-spellchecker
|