add three render process's files first
This commit is contained in:
parent
3c007d1333
commit
c2c91b6477
3 changed files with 234 additions and 0 deletions
64
docs-translations/zh-CN/api/desktop-capturer.md
Normal file
64
docs-translations/zh-CN/api/desktop-capturer.md
Normal file
|
@ -0,0 +1,64 @@
|
|||
# desktopCapturer
|
||||
|
||||
`desktopCapturer` 模块可用来获取可用资源,这个资源可通过 `getUserMedia` 捕获得到.
|
||||
|
||||
```javascript
|
||||
// 在渲染进程中.
|
||||
var desktopCapturer = require('electron').desktopCapturer;
|
||||
|
||||
desktopCapturer.getSources({types: ['window', 'screen']}, function(error, sources) {
|
||||
if (error) throw error;
|
||||
for (var i = 0; i < sources.length; ++i) {
|
||||
if (sources[i].name == "Electron") {
|
||||
navigator.webkitGetUserMedia({
|
||||
audio: false,
|
||||
video: {
|
||||
mandatory: {
|
||||
chromeMediaSource: 'desktop',
|
||||
chromeMediaSourceId: sources[i].id,
|
||||
minWidth: 1280,
|
||||
maxWidth: 1280,
|
||||
minHeight: 720,
|
||||
maxHeight: 720
|
||||
}
|
||||
}
|
||||
}, gotStream, getUserMediaError);
|
||||
return;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
function gotStream(stream) {
|
||||
document.querySelector('video').src = URL.createObjectURL(stream);
|
||||
}
|
||||
|
||||
function getUserMediaError(e) {
|
||||
console.log('getUserMediaError');
|
||||
}
|
||||
```
|
||||
|
||||
当调用 `navigator.webkitGetUserMedia` 时创建一个约束对象,如果使用 `desktopCapturer` 的资源,必须设置 `chromeMediaSource` 为 `"desktop"` ,并且 `audio` 为 `false`.
|
||||
|
||||
如果你想捕获整个桌面的 audio 和 video,你可以设置 `chromeMediaSource` 为 `"screen"` ,和 `audio` 为 `true`.
|
||||
当使用这个方法的时候,不可以指定一个 `chromeMediaSourceId`.
|
||||
|
||||
## 方法
|
||||
|
||||
`desktopCapturer` 模块有如下方法:
|
||||
|
||||
### `desktopCapturer.getSources(options, callback)`
|
||||
|
||||
* `options` Object
|
||||
* `types` Array - 一个 String 数组,列出了可以捕获的桌面资源类型, 可用类型为 `screen` 和 `window`.
|
||||
* `thumbnailSize` Object (可选) - 建议缩略可被缩放的 size, 默认为 `{width: 150, height: 150}`.
|
||||
* `callback` Function
|
||||
|
||||
发起一个请求,获取所有桌面资源,当请求完成的时候使用 `callback(error, sources)` 调用 `callback` .
|
||||
|
||||
`sources` 是一个 `Source` 对象数组, 每个 `Source` 表示了一个捕获的屏幕或单独窗口,并且有如下属性 :
|
||||
* `id` String - 在 `navigator.webkitGetUserMedia` 中使用的捕获窗口或屏幕的 id . 格式为 `window:XX` 祸
|
||||
`screen:XX`,`XX` 是一个随机数.
|
||||
* `name` String - 捕获窗口或屏幕的描述名 . 如果资源为屏幕,名字为 `Entire Screen` 或 `Screen <index>`; 如果资源为窗口, 名字为窗口的标题.
|
||||
* `thumbnail` [NativeImage](NativeImage.md) - 缩略图.
|
||||
|
||||
**注意:** 不能保证 `source.thumbnail` 的 size 和 `options` 中的 `thumnbailSize` 一直一致. 它也取决于屏幕或窗口的缩放比例.
|
69
docs-translations/zh-CN/api/ipc-renderer.md
Normal file
69
docs-translations/zh-CN/api/ipc-renderer.md
Normal file
|
@ -0,0 +1,69 @@
|
|||
# ipcRenderer
|
||||
|
||||
`ipcRenderer` 模块是一个
|
||||
[EventEmitter](https://nodejs.org/api/events.html) 类的实例. 它提供了有限的方法,你可以从渲染进程向主进程发送同步或异步消息. 也可以收到主进程的相应.
|
||||
|
||||
查看 [ipcMain](ipc-main.md) 代码例子.
|
||||
|
||||
## 消息监听
|
||||
|
||||
`ipcRenderer` 模块有下列方法来监听事件:
|
||||
|
||||
### `ipcRenderer.on(channel, listener)`
|
||||
|
||||
* `channel` String
|
||||
* `listener` Function
|
||||
|
||||
监听 `channel`, 当有新消息到达,使用 `listener(event, args...)` 调用 `listener` .
|
||||
|
||||
### `ipcRenderer.once(channel, listener)`
|
||||
|
||||
* `channel` String
|
||||
* `listener` Function
|
||||
|
||||
为这个事件添加一个一次性 `listener` 函数.这个 `listener` 将在下一次有新消息被发送到 `channel` 的时候被请求调用,之后就被删除了.
|
||||
|
||||
### `ipcRenderer.removeListener(channel, listener)`
|
||||
|
||||
* `channel` String
|
||||
* `listener` Function
|
||||
|
||||
从指定的 `channel` 中的监听者数组删除指定的 `listener` .
|
||||
|
||||
### `ipcRenderer.removeAllListeners([channel])`
|
||||
|
||||
* `channel` String (optional)
|
||||
|
||||
删除所有的监听者,或者删除指定 `channel` 中的全部.
|
||||
|
||||
## 发送消息
|
||||
|
||||
`ipcRenderer` 模块有如下方法来发送消息:
|
||||
|
||||
### `ipcRenderer.send(channel[, arg1][, arg2][, ...])`
|
||||
|
||||
* `channel` String
|
||||
* `arg` (可选)
|
||||
|
||||
通过 `channel` 向主进程发送异步消息,也可以发送任意参数.参数会被JSON序列化,之后就不会包含函数或原型链.
|
||||
|
||||
主进程通过使用 `ipcMain` 模块来监听 `channel`,从而处理消息.
|
||||
|
||||
### `ipcRenderer.sendSync(channel[, arg1][, arg2][, ...])`
|
||||
|
||||
* `channel` String
|
||||
* `arg` (可选)
|
||||
|
||||
通过 `channel` 向主进程发送同步消息,也可以发送任意参数.参数会被JSON序列化,之后就不会包含函数或原型链.
|
||||
|
||||
主进程通过使用 `ipcMain` 模块来监听 `channel`,从而处理消息,
|
||||
通过 `event.returnValue` 来响应.
|
||||
|
||||
__注意:__ 发送同步消息将会阻塞整个渲染进程,除非你知道你在做什么,否则就永远不要用它 .
|
||||
|
||||
### `ipcRenderer.sendToHost(channel[, arg1][, arg2][, ...])`
|
||||
|
||||
* `channel` String
|
||||
* `arg` (可选)
|
||||
|
||||
类似 `ipcRenderer.send` ,但是它的事件将发往 host page 的 `<webview>` 元素,而不是主进程.
|
101
docs-translations/zh-CN/api/web-frame.md
Normal file
101
docs-translations/zh-CN/api/web-frame.md
Normal file
|
@ -0,0 +1,101 @@
|
|||
# webFrame
|
||||
|
||||
`web-frame` 模块允许你自定义如何渲染当前网页 .
|
||||
|
||||
例子,放大当前页到 200%.
|
||||
|
||||
```javascript
|
||||
var webFrame = require('electron').webFrame;
|
||||
|
||||
webFrame.setZoomFactor(2);
|
||||
```
|
||||
|
||||
## 方法
|
||||
|
||||
`web-frame` 模块有如下方法:
|
||||
|
||||
### `webFrame.setZoomFactor(factor)`
|
||||
|
||||
* `factor` Number - 缩放参数.
|
||||
|
||||
将缩放参数修改为指定的参数值.缩放参数是百分制的,所以 300% = 3.0.
|
||||
|
||||
### `webFrame.getZoomFactor()`
|
||||
|
||||
返回当前缩放参数值.
|
||||
|
||||
### `webFrame.setZoomLevel(level)`
|
||||
|
||||
* `level` Number - 缩放水平
|
||||
|
||||
将缩放水平修改为指定的水平值. 原始 size 为 0 ,并且每次增长都表示放大 20% 或缩小 20%,默认限制为原始 size 的 300% 到 50% 之间 .
|
||||
|
||||
### `webFrame.getZoomLevel()`
|
||||
|
||||
返回当前缩放水平值.
|
||||
|
||||
### `webFrame.setZoomLevelLimits(minimumLevel, maximumLevel)`
|
||||
|
||||
* `minimumLevel` Number
|
||||
* `maximumLevel` Number
|
||||
|
||||
设置缩放水平的最大值和最小值.
|
||||
|
||||
### `webFrame.setSpellCheckProvider(language, autoCorrectWord, provider)`
|
||||
|
||||
* `language` String
|
||||
* `autoCorrectWord` Boolean
|
||||
* `provider` Object
|
||||
|
||||
为输入框或文本域设置一个拼写检查 provider .
|
||||
|
||||
`provider` 必须是一个对象,它有一个 `spellCheck` 方法,这个方法返回扫过的单词是否拼写正确 .
|
||||
|
||||
例子,使用 [node-spellchecker][spellchecker] 作为一个 provider:
|
||||
|
||||
```javascript
|
||||
webFrame.setSpellCheckProvider("en-US", true, {
|
||||
spellCheck: function(text) {
|
||||
return !(require('spellchecker').isMisspelled(text));
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
### `webFrame.registerURLSchemeAsSecure(scheme)`
|
||||
|
||||
* `scheme` String
|
||||
|
||||
注册 `scheme` 为一个安全的 scheme.
|
||||
|
||||
|
||||
安全的 schemes 不会引发混合内容 warnings.例如, `https` 和
|
||||
`data` 是安全的 schemes ,因为它们不能被活跃网络攻击而失效.
|
||||
|
||||
### `webFrame.registerURLSchemeAsBypassingCSP(scheme)`
|
||||
|
||||
* `scheme` String
|
||||
|
||||
忽略当前网页内容的安全策略,直接从 `scheme` 加载.
|
||||
|
||||
### `webFrame.registerURLSchemeAsPrivileged(scheme)`
|
||||
|
||||
* `scheme` String
|
||||
|
||||
通过资源的内容安全策略,注册 `scheme` 为安全的 scheme,允许注册 ServiceWorker并且支持 fetch API.
|
||||
|
||||
### `webFrame.insertText(text)`
|
||||
|
||||
* `text` String
|
||||
|
||||
向获得焦点的原色插入内容 .
|
||||
|
||||
### `webFrame.executeJavaScript(code[, userGesture])`
|
||||
|
||||
* `code` String
|
||||
* `userGesture` Boolean (可选) - 默认为 `false`.
|
||||
|
||||
评估页面代码 .
|
||||
|
||||
在浏览器窗口中,一些 HTML APIs ,例如 `requestFullScreen`,只可以通过用户手势来使用.设置`userGesture` 为 `true` 可以突破这个限制 .
|
||||
|
||||
[spellchecker]: https://github.com/atom/node-spellchecker
|
Loading…
Reference in a new issue