add three render process's files first
authorheyunjiang <598119677@qq.com>
Tue, 15 Mar 2016 07:11:28 +0000 (15:11 +0800)
committerheyunjiang <598119677@qq.com>
Tue, 15 Mar 2016 07:11:28 +0000 (15:11 +0800)
docs-translations/zh-CN/api/desktop-capturer.md [new file with mode: 0644]
docs-translations/zh-CN/api/ipc-renderer.md [new file with mode: 0644]
docs-translations/zh-CN/api/web-frame.md [new file with mode: 0644]

diff --git a/docs-translations/zh-CN/api/desktop-capturer.md b/docs-translations/zh-CN/api/desktop-capturer.md
new file mode 100644 (file)
index 0000000..954520d
--- /dev/null
@@ -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` 一直一致. 它也取决于屏幕或窗口的缩放比例.
\ No newline at end of file
diff --git a/docs-translations/zh-CN/api/ipc-renderer.md b/docs-translations/zh-CN/api/ipc-renderer.md
new file mode 100644 (file)
index 0000000..beeaa6d
--- /dev/null
@@ -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>` 元素,而不是主进程.
\ No newline at end of file
diff --git a/docs-translations/zh-CN/api/web-frame.md b/docs-translations/zh-CN/api/web-frame.md
new file mode 100644 (file)
index 0000000..d278e94
--- /dev/null
@@ -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
\ No newline at end of file