📝 Update as upstream
[ci skip]
This commit is contained in:
parent
bbf622187c
commit
4b02a8ead0
8 changed files with 106 additions and 23 deletions
|
@ -422,7 +422,7 @@ if (shouldQuit) {
|
|||
return;
|
||||
}
|
||||
|
||||
// 윈도우 창을 생성하고 각종 리소스를 로드하고 작업합니다..
|
||||
// 윈도우 창을 생성하고 각종 리소스를 로드하고 작업합니다.
|
||||
app.on('ready', function() {
|
||||
});
|
||||
```
|
||||
|
@ -433,6 +433,36 @@ app.on('ready', function() {
|
|||
|
||||
[Application User Model ID][app-user-model-id]를 `id`로 변경합니다.
|
||||
|
||||
### `app.isAeroGlassEnabled()` _Windows_
|
||||
|
||||
이 메서드는 [DWM 컴포지션](https://msdn.microsoft.com/en-us/library/windows/desktop/aa969540.aspx)
|
||||
(Aero Glass)가 활성화 되어있을 때 `true`를 반환합니다. 아닌 경우 `false`를 반환합니다.
|
||||
이 메서드는 투명한 윈도우를 만들기 위해 사용 가능 여부를 확인할 때 사용할 수 있습니다.
|
||||
(투명한 윈도우는 DWM 컴포지션이 비활성화되어있을 시 작동하지 않습니다)
|
||||
|
||||
사용 예시:
|
||||
|
||||
```js
|
||||
let browserOptions = {width: 1000, height: 800};
|
||||
|
||||
// 플랫폼이 지원하는 경우에만 투명 윈도우를 생성
|
||||
if (process.platform !== 'win32' || app.isAeroGlassEnabled()) {
|
||||
browserOptions.transparent = true;
|
||||
browserOptions.frame = false;
|
||||
}
|
||||
|
||||
// 원도우 생성
|
||||
win = new BrowserWindow(browserOptions);
|
||||
|
||||
// 페이지 로드
|
||||
if (browserOptions.transparent) {
|
||||
win.loadURL('file://' + __dirname + '/index.html');
|
||||
} else {
|
||||
// 투명 윈도우 상태가 아니라면, 기본적인 폴백 스타일 사용
|
||||
win.loadURL('file://' + __dirname + '/fallback.html');
|
||||
}
|
||||
```
|
||||
|
||||
### `app.commandLine.appendSwitch(switch[, value])`
|
||||
|
||||
Chrominum의 명령줄에 스위치를 추가합니다. `value`는 추가적인 값을 뜻하며 옵션입니다.
|
||||
|
|
|
@ -49,6 +49,8 @@ win.show();
|
|||
* `maxHeight` Integer - 윈도우 창의 최대 세로 높이. 기본값은 `제한없음`입니다.
|
||||
* `resizable` Boolean - 윈도우 창의 크기를 재조정 할 수 있는지 여부. 기본값은 `true`
|
||||
입니다.
|
||||
* `movable` Boolean - 윈도우를 이동시킬 수 있는지 여부. 이 기능은 현재 OSX에만
|
||||
구현되어 있습니다. 기본값은 `true`
|
||||
* `alwaysOnTop` Boolean - 윈도우 창이 언제나 다른 창들 위에 유지되는지 여부.
|
||||
기본값은 `false`입니다.
|
||||
* `fullscreen` Boolean - 윈도우 창의 전체화면 활성화 여부. 기본값은 `false` 입니다.
|
||||
|
@ -354,8 +356,6 @@ var win = new BrowserWindow({ width: 800, height: 600 });
|
|||
않습니다. 또한 이 윈도우의 `close`도 일어나지 않습니다. 하지만 `closed` 이벤트는
|
||||
반드시 발생함을 보장합니다.
|
||||
|
||||
이 메서드는 렌더러 프로세스가 예기치 않게 크래시가 일어났을 경우에만 사용해야 합니다.
|
||||
|
||||
### `win.close()`
|
||||
|
||||
윈도우의 종료를 시도합니다. 이 메서드는 사용자가 윈도우의 닫기 버튼을 클릭했을 때와
|
||||
|
@ -440,14 +440,16 @@ var win = new BrowserWindow({ width: 800, height: 600 });
|
|||
크기는 관여하지 않습니다. 그저 전체 컨텐츠 뷰 내에 있는 모든 엑스트라 너비, 높이 영역이
|
||||
합해집니다.
|
||||
|
||||
### `win.setBounds(options)`
|
||||
### `win.setBounds(options[, animate])`
|
||||
|
||||
`options` Object, properties:
|
||||
* `options` Object, properties:
|
||||
|
||||
* `x` Integer
|
||||
* `y` Integer
|
||||
* `width` Integer
|
||||
* `height` Integer
|
||||
* `x` Integer
|
||||
* `y` Integer
|
||||
* `width` Integer
|
||||
* `height` Integer
|
||||
|
||||
* `animate` Boolean (optional) _OS X_
|
||||
|
||||
윈도우를 지정한 `width`, `height`, `x`, `y`로 크기 재조정 및 이동합니다.
|
||||
|
||||
|
@ -455,10 +457,11 @@ var win = new BrowserWindow({ width: 800, height: 600 });
|
|||
|
||||
윈도우의 width, height, x, y 값을 가지는 객체를 반환합니다.
|
||||
|
||||
### `win.setSize(width, height)`
|
||||
### `win.setSize(width, height[, animate])`
|
||||
|
||||
* `width` Integer
|
||||
* `height` Integer
|
||||
* `animate` Boolean (optional) _OS X_
|
||||
|
||||
`width`와 `height` 값으로 윈도우 크기를 재조정합니다. (너비, 높이)
|
||||
|
||||
|
@ -466,10 +469,11 @@ var win = new BrowserWindow({ width: 800, height: 600 });
|
|||
|
||||
윈도우의 너비, 높이값을 가지는 배열을 반환합니다.
|
||||
|
||||
### `win.setContentSize(width, height)`
|
||||
### `win.setContentSize(width, height[, animate])`
|
||||
|
||||
* `width` Integer
|
||||
* `height` Integer
|
||||
* `animate` Boolean (optional) _OS X_
|
||||
|
||||
윈도우 클라이언트 영역(웹 페이지)의 크기를 `width`, `height`로 재조정합니다.
|
||||
|
||||
|
@ -524,10 +528,11 @@ var win = new BrowserWindow({ width: 800, height: 600 });
|
|||
|
||||
윈도우를 화면 정 중앙으로 이동합니다.
|
||||
|
||||
### `win.setPosition(x, y)`
|
||||
### `win.setPosition(x, y[, animate])`
|
||||
|
||||
* `x` Integer
|
||||
* `y` Integer
|
||||
* `animate` Boolean (optional) _OS X_
|
||||
|
||||
윈도우의 위치를 `x`, `y`로 이동합니다.
|
||||
|
||||
|
|
|
@ -19,11 +19,11 @@ var win = new BrowserWindow({ width: 800, height: 600, frame: false });
|
|||
|
||||
OS X 10.10 Yosemite 이후의 최신 버전부터는 테두리가 없는 창을 만들 때 새로운 방법을
|
||||
사용할 수 있습니다. `frame` 옵션을 `false`로 지정하여 제목과 창 구성 요소를 모두
|
||||
비활성화하는 대신 새로운 `title-bar-style` 옵션을 통해 제목만 숨기고 창 구성 요소
|
||||
비활성화하는 대신 새로운 `titleBarStyle` 옵션을 통해 제목만 숨기고 창 구성 요소
|
||||
("흔히 신호등으로 알고 있는")의 기능과 창 크기를 그대로 유지할 수 있습니다:
|
||||
|
||||
```javascript
|
||||
var win = new BrowserWindow({ 'title-bar-style': 'hidden' });
|
||||
var win = new BrowserWindow({ 'titleBarStyle': 'hidden' });
|
||||
```
|
||||
|
||||
## 투명한 창 만들기
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
# ipcMain
|
||||
|
||||
`ipcMain` 모듈은 메인 프로세스에서 사용할 때 랜더러 프로세스(웹 페이지)에서 전달된
|
||||
동기/비동기 메시지를 주고 받는 방법을 제공합니다. 랜더러 프로세스에서 메시지를 전달하면
|
||||
`ipcMain` 모듈은 [EventEmitter](https://nodejs.org/api/events.html) 클래스의
|
||||
인스턴스입니다. 메인 프로세스에서 사용하면, 랜더러 프로세스(웹 페이지)에서 전달된
|
||||
동기, 비동기 메시지를 주고 받는 방법을 제공합니다. 랜더러 프로세스에서 메시지를 전달하면
|
||||
이 모듈을 통해 메시지를 받을 수 있습니다.
|
||||
|
||||
## 메시지 전송
|
||||
|
@ -50,9 +51,29 @@ ipcRenderer.send('asynchronous-message', 'ping');
|
|||
* `channel` String - 이벤트 이름
|
||||
* `callback` Function
|
||||
|
||||
이벤트가 발생하면 `event` 객체와 `arg` 메시지와 함께 `callback`이 호출됩니다.
|
||||
이벤트가 발생하면 `event` 객체와 임의 메시지와 함께 `callback`이 호출됩니다.
|
||||
|
||||
## IPC 이벤트
|
||||
### `ipcMain.removeListener(channel, callback)`
|
||||
|
||||
* `channel` String - 이벤트의 이름
|
||||
* `callback` Function - `ipcMain.on(channel, callback)`에서 사용한 함수의 레퍼런스
|
||||
|
||||
메시지 수신을 완료한 후, 더 이상의 콜백이 필요하지 않을 때 또는 몇 가지 이유로 채널의
|
||||
메시지 전송을 멈출수 없을 때, 이 함수를 통해 지정한 채널에 대한 콜백을 삭제할 수
|
||||
있습니다.
|
||||
|
||||
### `ipcMain.removeAllListeners(channel)`
|
||||
|
||||
* `channel` String - 이벤트의 이름
|
||||
|
||||
이 ipc 채널에 등록된 *모든* 핸들러들을 삭제합니다.
|
||||
|
||||
### `ipcMain.once(channel, callback)`
|
||||
|
||||
`ipcMain.on()` 대신 이 함수를 사용할 경우 핸들러가 단 한 번만 호출됩니다.
|
||||
`callback`이 한 번 호출된 이후 활성화되지 않습니다.
|
||||
|
||||
## IPC Event
|
||||
|
||||
`callback`에서 전달된 `event` 객체는 다음과 같은 메서드와 속성을 가지고 있습니다:
|
||||
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
# ipcRenderer
|
||||
|
||||
`ipcRenderer` 모듈은 랜더러 프로세스에서 메인 프로세스로 동기/비동기 메시지를 주고
|
||||
받는 방법을 제공합니다. 또한 메인 프로세스로부터 받은 메시지에 응답할 수도 있습니다.
|
||||
`ipcRenderer` 모듈은 [EventEmitter](https://nodejs.org/api/events.html) 클래스의
|
||||
인스턴스입니다. 랜더러 프로세스에서 메인 프로세스로 동기/비동기 메시지를 주고 받는
|
||||
방법을 제공합니다. 또한 메인 프로세스로부터 받은 메시지에 응답할 수도 있습니다.
|
||||
|
||||
[ipcMain](ipc-main.md)에서 코드 예제를 확인할 수 있습니다.
|
||||
|
||||
|
@ -16,6 +17,26 @@
|
|||
|
||||
이벤트가 일어나면 `event` 객체와 임의의 인자와 함께 `callback` 함수가 호출됩니다.
|
||||
|
||||
### `ipcMain.removeListener(channel, callback)`
|
||||
|
||||
* `channel` String - 이벤트의 이름
|
||||
* `callback` Function - `ipcMain.on(channel, callback)`에서 사용한 함수의 레퍼런스
|
||||
|
||||
메시지 수신을 완료한 후, 더 이상의 콜백이 필요하지 않을 때 또는 몇 가지 이유로 채널의
|
||||
메시지 전송을 멈출수 없을 때, 이 함수를 통해 지정한 채널에 대한 콜백을 삭제할 수
|
||||
있습니다.
|
||||
|
||||
### `ipcMain.removeAllListeners(channel)`
|
||||
|
||||
* `channel` String - 이벤트의 이름
|
||||
|
||||
이 ipc 채널에 등록된 *모든* 핸들러들을 삭제합니다.
|
||||
|
||||
### `ipcMain.once(channel, callback)`
|
||||
|
||||
`ipcMain.on()` 대신 이 함수를 사용할 경우 핸들러가 단 한 번만 호출됩니다.
|
||||
`callback`이 한 번 호출된 이후 활성화되지 않습니다.
|
||||
|
||||
## 메시지 보내기
|
||||
|
||||
`ipcRenderer`는 다음과 같은 메시지 전송 메서드를 가지고 있습니다:
|
||||
|
|
|
@ -158,6 +158,13 @@ session.defaultSession.cookies.set(cookie, function(error) {
|
|||
`url`과 `name`에 일치하는 쿠키를 삭제합니다. 작업이 완료되면 `callback`이
|
||||
`callback()` 형식으로 호출됩니다.
|
||||
|
||||
#### `ses.getCacheSize(callback)`
|
||||
|
||||
* `callback` Function
|
||||
* `size` Integer - 바이트로 표현된 캐시 크기
|
||||
|
||||
세션의 현재 캐시 크기를 반환합니다.
|
||||
|
||||
#### `ses.clearCache(callback)`
|
||||
|
||||
* `callback` Function - 작업이 완료되면 호출됩니다.
|
||||
|
|
|
@ -78,6 +78,5 @@ require('electron').hideInternalModules()
|
|||
```
|
||||
|
||||
[gui]: https://en.wikipedia.org/wiki/Graphical_user_interface
|
||||
[main-process]: ../tutorial/quick-start.md#메인-프로세스
|
||||
[desctructuring-assignment]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
|
||||
[issue-387]: https://github.com/atom/electron/issues/387
|
||||
|
|
|
@ -60,13 +60,13 @@ $ electron --debug=5858 your/app
|
|||
$ electron --debug-brk=5858 your/app
|
||||
```
|
||||
|
||||
### 5. Electron을 사용하는 [node-inspector][node-inspector] 시작
|
||||
### 6. Electron을 사용하는 [node-inspector][node-inspector] 시작
|
||||
|
||||
```bash
|
||||
$ ELECTRON_RUN_AS_NODE=true path/to/electron.exe node_modules/node-inspector/bin/inspector.js
|
||||
```
|
||||
|
||||
### 6. 디버거 UI 로드
|
||||
### 7. 디버거 UI 로드
|
||||
|
||||
Chrome 브라우저에서 http://127.0.0.1:8080/debug?ws=127.0.0.1:8080&port=5858 주소에
|
||||
접속합니다. (기본 포트 또는 지정한 포트로 접속) 엔트리의 라인이 debug-brk로 시작하는
|
||||
|
|
Loading…
Add table
Reference in a new issue