Merge pull request #2705 from John-Lin/master
Add api/ipc-main-process docs zh-TW translations
This commit is contained in:
commit
619c77f409
3 changed files with 118 additions and 3 deletions
|
@ -2,8 +2,8 @@
|
|||
|
||||
* [應用程式發布](tutorial/application-distribution.md)
|
||||
* [應用程式打包](tutorial/application-packaging.md)
|
||||
* [使用原生模組](tutorial/using-native-node-modules.md)
|
||||
* [Debug 主行程](tutorial/debugging-main-process.md)
|
||||
* [使用原生 node 模組](tutorial/using-native-node-modules.md)
|
||||
* [主行程 Debug](tutorial/debugging-main-process.md)
|
||||
* [使用 Selenium 和 WebDriver](tutorial/using-selenium-and-webdriver.md)
|
||||
* [DevTools 擴充](tutorial/devtools-extension.md)
|
||||
* [使用 Pepper Flash 套件](tutorial/using-pepper-flash-plugin.md)
|
||||
|
@ -22,7 +22,7 @@
|
|||
|
||||
客製的 DOM 元素:
|
||||
|
||||
* [`File`對象](api/file-object.md)
|
||||
* [`File`物件](api/file-object.md)
|
||||
* [`<webview>`物件](api/web-view-tag.md)
|
||||
* [`window.open`函數](api/window-open.md)
|
||||
|
||||
|
|
69
docs-translations/zh-TW/api/ipc-main-process.md
Normal file
69
docs-translations/zh-TW/api/ipc-main-process.md
Normal file
|
@ -0,0 +1,69 @@
|
|||
# ipc (主行程)
|
||||
|
||||
當在主行程裡使用 `ipc` 模組,這個模組負責處理來自渲染行程(網頁)的非同步與同步訊息。
|
||||
來自渲染器的訊息將會被注入到這個模組裡。
|
||||
|
||||
## 傳送訊息
|
||||
|
||||
同樣的也可以透過主行程來傳送訊息到渲染行程,更多資訊請參考 [WebContents.send](browser-window.md#webcontentssendchannel-args)
|
||||
|
||||
- 當傳送一個訊息, 事件名稱為 `channel`
|
||||
- 回覆同步訊息,你需要設定 `event.returnValue`
|
||||
- 送出一個非同步訊息回給發送端,你可以使用 `event.sender.send(...)`
|
||||
|
||||
這裏是一個傳送和處理訊息的範例,在渲染行程與主行程之間:
|
||||
|
||||
```javascript
|
||||
// 在主行程裡
|
||||
var ipc = require('ipc');
|
||||
ipc.on('asynchronous-message', function(event, arg) {
|
||||
console.log(arg); // 輸出 "ping"
|
||||
event.sender.send('asynchronous-reply', 'pong');
|
||||
});
|
||||
|
||||
ipc.on('synchronous-message', function(event, arg) {
|
||||
console.log(arg); // 輸出 "ping"
|
||||
event.returnValue = 'pong';
|
||||
});
|
||||
```
|
||||
|
||||
```javascript
|
||||
// 在渲染行程裡 (網頁).
|
||||
var ipc = require('ipc');
|
||||
console.log(ipc.sendSync('synchronous-message', 'ping')); // 輸出 "pong"
|
||||
|
||||
ipc.on('asynchronous-reply', function(arg) {
|
||||
console.log(arg); // 輸出 "pong"
|
||||
});
|
||||
ipc.send('asynchronous-message', 'ping');
|
||||
```
|
||||
|
||||
## 聆聽訊息
|
||||
|
||||
`ipc` 模組擁有下列幾個方法去聆聽事件:
|
||||
|
||||
### `ipc.on(channel, callback)`
|
||||
|
||||
* `channel` String - 事件名稱
|
||||
* `callback` Function
|
||||
|
||||
當一個事件發生 `callback` 會帶著 `event` 物件和一個訊息 `arg`
|
||||
|
||||
## IPC 事件
|
||||
|
||||
`event` 物件被傳入 `callback` 具有以下幾個方法:
|
||||
|
||||
### `Event.returnValue`
|
||||
|
||||
設定這個值可以回傳一個同步訊息
|
||||
|
||||
### `Event.sender`
|
||||
|
||||
回傳 `WebContents` 可以送出訊息
|
||||
|
||||
### `Event.sender.send(channel[, arg1][, arg2][, ...])`
|
||||
|
||||
* `channel` String - 事件名稱
|
||||
* `arg` (選用)
|
||||
|
||||
此傳送訊息是非同步的訊息,至渲染行程,可以是一個一系列的參數 `arg` 可以是任何型態。
|
46
docs-translations/zh-TW/api/shell.md
Normal file
46
docs-translations/zh-TW/api/shell.md
Normal file
|
@ -0,0 +1,46 @@
|
|||
# shell
|
||||
|
||||
`shell` 模組提供一些整合桌面應用的功能。
|
||||
|
||||
|
||||
一個範例示範如何利用使用者的預設瀏覽器開啟 URL:
|
||||
|
||||
```javascript
|
||||
var shell = require('shell');
|
||||
|
||||
shell.openExternal('https://github.com');
|
||||
```
|
||||
|
||||
## Methods
|
||||
|
||||
`shell` 模組有以下幾個方法:
|
||||
|
||||
### `shell.showItemInFolder(fullPath)`
|
||||
|
||||
* `fullPath` String
|
||||
|
||||
顯示在檔案管理中指定的檔案,如果可以的話,選擇該檔案。
|
||||
|
||||
### `shell.openItem(fullPath)`
|
||||
|
||||
* `fullPath` String
|
||||
|
||||
打開指定的檔案,在桌面的預設方式。
|
||||
Open the given file in the desktop's default manner.
|
||||
|
||||
### `shell.openExternal(url)`
|
||||
|
||||
* `url` String
|
||||
|
||||
打開一個指定的外部協定 URL 在桌面的預設方式。(舉例來說 mailto: URLs 會打開使用者的預設信箱)
|
||||
|
||||
|
||||
### `shell.moveItemToTrash(fullPath)`
|
||||
|
||||
* `fullPath` String
|
||||
|
||||
移動指定檔案至垃圾桶,並會對這個操作回傳一個 boolean 狀態
|
||||
|
||||
### `shell.beep()`
|
||||
|
||||
播放 beep 聲音。
|
Loading…
Reference in a new issue