📝 Update as upstream
[ci skip]
This commit is contained in:
parent
175449f096
commit
407bef5727
10 changed files with 182 additions and 116 deletions
|
@ -57,6 +57,7 @@ API 레퍼런스가 있습니다. Electron을 빌드 하는 방법과 프로젝
|
||||||
- [중국어 번체](https://github.com/atom/electron/tree/master/docs-translations/zh-TW)
|
- [중국어 번체](https://github.com/atom/electron/tree/master/docs-translations/zh-TW)
|
||||||
- [우크라이나어](https://github.com/atom/electron/tree/master/docs-translations/uk-UA)
|
- [우크라이나어](https://github.com/atom/electron/tree/master/docs-translations/uk-UA)
|
||||||
- [러시아어](https://github.com/atom/electron/tree/master/docs-translations/ru-RU)
|
- [러시아어](https://github.com/atom/electron/tree/master/docs-translations/ru-RU)
|
||||||
|
- [프랑스어](https://github.com/atom/electron/tree/master/docs-translations/fr-FR)
|
||||||
|
|
||||||
## 시작하기
|
## 시작하기
|
||||||
|
|
||||||
|
|
|
@ -451,7 +451,6 @@ var win = new BrowserWindow({ width: 800, height: 600 });
|
||||||
|
|
||||||
* `aspectRatio` 유지하려 하는 컨텐츠 뷰 일부의 종횡비
|
* `aspectRatio` 유지하려 하는 컨텐츠 뷰 일부의 종횡비
|
||||||
* `extraSize` Object (optional) - 종횡비를 유지하는 동안 포함되지 않을 엑스트라 크기.
|
* `extraSize` Object (optional) - 종횡비를 유지하는 동안 포함되지 않을 엑스트라 크기.
|
||||||
사용 가능한 속성:
|
|
||||||
* `width` Integer
|
* `width` Integer
|
||||||
* `height` Integer
|
* `height` Integer
|
||||||
|
|
||||||
|
@ -469,7 +468,7 @@ var win = new BrowserWindow({ width: 800, height: 600 });
|
||||||
|
|
||||||
### `win.setBounds(options[, animate])`
|
### `win.setBounds(options[, animate])`
|
||||||
|
|
||||||
* `options` Object, properties:
|
* `options` Object
|
||||||
|
|
||||||
* `x` Integer
|
* `x` Integer
|
||||||
* `y` Integer
|
* `y` Integer
|
||||||
|
@ -719,8 +718,7 @@ Windows 메시지 훅을 등록합니다. `callback`은 WndProc에서 메시지
|
||||||
|
|
||||||
### `win.capturePage([rect, ]callback)`
|
### `win.capturePage([rect, ]callback)`
|
||||||
|
|
||||||
* `rect` Object (optional) - 캡쳐할 페이지의 영역.
|
* `rect` Object (optional) - 캡쳐할 페이지의 영역
|
||||||
사용할 수 있는 속성은 다음과 같습니다:
|
|
||||||
* `x` Integer
|
* `x` Integer
|
||||||
* `y` Integer
|
* `y` Integer
|
||||||
* `width` Integer
|
* `width` Integer
|
||||||
|
@ -790,10 +788,19 @@ Linux 플랫폼에선 Unity 데스크톱 환경만 지원합니다. 그리고
|
||||||
|
|
||||||
### `win.setThumbarButtons(buttons)` _Windows 7+_
|
### `win.setThumbarButtons(buttons)` _Windows 7+_
|
||||||
|
|
||||||
`buttons` - `button` 객체의 배열
|
* `buttons` - Array
|
||||||
|
|
||||||
`button` 객체는 다음과 같은 속성을 가지고 있습니다:
|
윈도우 작업표시줄 버튼 레이아웃의 미리보기 이미지 영역에 미리보기 툴바와 버튼 세트를
|
||||||
|
추가합니다. 반환되는 `Boolean` 값은 미리보기 툴바가 성공적으로 추가됬는지를 알려줍니다.
|
||||||
|
|
||||||
|
미리보기 이미지 영역의 제한된 크기로 인해 미리보기 툴바에 추가될 수 있는 최대 버튼의
|
||||||
|
개수는 7개이며 이 이상 추가될 수 없습니다. 플랫폼의 제약으로 인해 미리보기 툴바는 한 번
|
||||||
|
설정되면 삭제할 수 없습니다. 하지만 이 API에 빈 배열을 전달하여 버튼들을 제거할 수
|
||||||
|
있습니다.
|
||||||
|
|
||||||
|
`buttons`는 `Button` 객체의 배열입니다:
|
||||||
|
|
||||||
|
* `Button` 객체
|
||||||
* `icon` [NativeImage](native-image.md) - 미리보기 툴바에 보여질 아이콘.
|
* `icon` [NativeImage](native-image.md) - 미리보기 툴바에 보여질 아이콘.
|
||||||
* `tooltip` String (optional) - 버튼의 툴팁 텍스트.
|
* `tooltip` String (optional) - 버튼의 툴팁 텍스트.
|
||||||
* `flags` Array (optional) - 버튼의 특정 동작 및 상태 제어. 기본적으로 `enabled`이
|
* `flags` Array (optional) - 버튼의 특정 동작 및 상태 제어. 기본적으로 `enabled`이
|
||||||
|
@ -808,15 +815,6 @@ Linux 플랫폼에선 Unity 데스크톱 환경만 지원합니다. 그리고
|
||||||
* `noninteractive` - 버튼은 활성화되어 있지만 반응이 제거되며 버튼을 눌러도
|
* `noninteractive` - 버튼은 활성화되어 있지만 반응이 제거되며 버튼을 눌러도
|
||||||
눌려지지 않은 상태를 유지합니다. 이 값은 버튼을 알림의 용도로 사용하기 위해
|
눌려지지 않은 상태를 유지합니다. 이 값은 버튼을 알림의 용도로 사용하기 위해
|
||||||
만들어졌습니다.
|
만들어졌습니다.
|
||||||
* `click` - Function
|
|
||||||
|
|
||||||
윈도우 작업표시줄 버튼 레이아웃의 미리보기 이미지 영역에 미리보기 툴바와 버튼 세트를
|
|
||||||
지정합니다. 반환되는 `Boolean` 값은 미리보기 툴바가 성공적으로 추가됬는지를 알려줍니다.
|
|
||||||
|
|
||||||
미리보기 이미지 영역의 제한된 크기로 인해 미리보기 툴바에 추가될 수 있는 최대 버튼의
|
|
||||||
개수는 7개이며 이 이상 추가될 수 없습니다. 플랫폼의 제약으로 인해 미리보기 툴바는 한 번
|
|
||||||
설정되면 삭제할 수 없습니다. 하지만 이 API에 빈 배열을 전달하여 버튼들을 제거할 수
|
|
||||||
있습니다.
|
|
||||||
|
|
||||||
### `win.showDefinitionForSelection()` _OS X_
|
### `win.showDefinitionForSelection()` _OS X_
|
||||||
|
|
||||||
|
|
|
@ -22,19 +22,15 @@ crashReporter.start({
|
||||||
|
|
||||||
### `crashReporter.start(options)`
|
### `crashReporter.start(options)`
|
||||||
|
|
||||||
* `options` Object, properties:
|
* `options` Object
|
||||||
|
* `companyName` String
|
||||||
* `productName` String, 기본값: Electron
|
* `submitURL` String - 크래시 리포트는 POST 방식으로 이 URL로 전송됩니다.
|
||||||
* `companyName` String (**필수항목**)
|
* `productName` String (optional) - 기본값은 `Electron` 입니다.
|
||||||
* `submitURL` String, (**필수항목**)
|
* `autoSubmit` Boolean - 유저의 승인 없이 자동으로 오류를 보고합니다. 기본값은
|
||||||
* 크래시 리포트는 POST 방식으로 이 URL로 전송됩니다.
|
`true` 입니다.
|
||||||
* `autoSubmit` Boolean, 기본값: true
|
* `ignoreSystemCrashHandler` Boolean - 기본값은 `false` 입니다.
|
||||||
* true로 지정할 경우 유저의 승인 없이 자동으로 오류를 보고합니다.
|
* `extra` Object - 크래시 리포트 시 같이 보낼 추가 정보를 지정하는 객체입니다.
|
||||||
* `ignoreSystemCrashHandler` Boolean, 기본값: false
|
문자열로 된 속성만 정상적으로 보내집니다. 중첩된 객체는 지원되지 않습니다.
|
||||||
* `extra` Object
|
|
||||||
* 크래시 리포트 시 같이 보낼 추가 정보를 지정하는 객체입니다.
|
|
||||||
* 문자열로 된 속성만 정상적으로 보내집니다.
|
|
||||||
* 중첩 객체는 지원되지 않습니다. (Nested objects are not supported)
|
|
||||||
|
|
||||||
다른 crashReporter API를 사용하기 전에 이 메서드를 먼저 호출해야 합니다.
|
다른 crashReporter API를 사용하기 전에 이 메서드를 먼저 호출해야 합니다.
|
||||||
|
|
||||||
|
|
|
@ -8,8 +8,7 @@
|
||||||
## 메시지 전송
|
## 메시지 전송
|
||||||
|
|
||||||
물론 메시지를 받는 것 말고도 메인 프로세스에서 랜더러 프로세스로 보내는 것도 가능합니다.
|
물론 메시지를 받는 것 말고도 메인 프로세스에서 랜더러 프로세스로 보내는 것도 가능합니다.
|
||||||
자세한 내용은 [webContents.send](web-contents.md#webcontentssendchannel-arg1-arg2-)를
|
자세한 내용은 [webContents.send][web-contents-send]를 참고하세요.
|
||||||
참고하세요.
|
|
||||||
|
|
||||||
* 메시지를 전송할 때 이벤트 이름은 `channel`이 됩니다.
|
* 메시지를 전송할 때 이벤트 이름은 `channel`이 됩니다.
|
||||||
* 메시지에 동기로 응답할 땐 반드시 `event.returnValue`를 설정해야 합니다.
|
* 메시지에 동기로 응답할 땐 반드시 `event.returnValue`를 설정해야 합니다.
|
||||||
|
@ -46,34 +45,40 @@ ipcRenderer.send('asynchronous-message', 'ping');
|
||||||
|
|
||||||
`ipcMain`은 다음과 같은 이벤트 리스닝 메서드를 가지고 있습니다:
|
`ipcMain`은 다음과 같은 이벤트 리스닝 메서드를 가지고 있습니다:
|
||||||
|
|
||||||
### `ipcMain.on(channel, callback)`
|
### `ipcMain.on(channel, listener)`
|
||||||
|
|
||||||
* `channel` String - 이벤트 이름
|
* `channel` String
|
||||||
* `callback` Function
|
* `listener` Function
|
||||||
|
|
||||||
이벤트가 발생하면 `event` 객체와 임의 메시지와 함께 `callback`이 호출됩니다.
|
`channel`에 대해 이벤트를 리스닝합니다. 새로운 메시지가 도착하면 `listener`가
|
||||||
|
`listener(event, args...)` 형식으로 호출됩니다.
|
||||||
|
|
||||||
### `ipcMain.removeListener(channel, callback)`
|
### `ipcMain.once(channel, listener)`
|
||||||
|
|
||||||
* `channel` String - 이벤트의 이름
|
* `channel` String
|
||||||
* `callback` Function - `ipcMain.on(channel, callback)`에서 사용한 함수의 레퍼런스
|
* `listener` Function
|
||||||
|
|
||||||
|
이벤트에 대해 한 번만 작동하는 `listener` 함수를 등록합니다. 이 `listener`는 등록된
|
||||||
|
후 `channel`에 보내지는 메시지에 한해 호출됩니다. 호출된 이후엔 리스너가 삭제됩니다.
|
||||||
|
|
||||||
|
### `ipcMain.removeListener(channel, listener)`
|
||||||
|
|
||||||
|
* `channel` String
|
||||||
|
* `listener` Function
|
||||||
|
|
||||||
메시지 수신을 완료한 후, 더 이상의 콜백이 필요하지 않을 때 또는 몇 가지 이유로 채널의
|
메시지 수신을 완료한 후, 더 이상의 콜백이 필요하지 않을 때 또는 몇 가지 이유로 채널의
|
||||||
메시지 전송을 멈출수 없을 때, 이 함수를 통해 지정한 채널에 대한 콜백을 삭제할 수
|
메시지 전송을 멈출수 없을 때, 이 함수를 통해 지정한 채널에 대한 콜백을 삭제할 수
|
||||||
있습니다.
|
있습니다.
|
||||||
|
|
||||||
|
지정한 `channel`에 대한 리스너를 저장하는 배열에서 지정한 `listener`를 삭제합니다.
|
||||||
|
|
||||||
### `ipcMain.removeAllListeners(channel)`
|
### `ipcMain.removeAllListeners(channel)`
|
||||||
|
|
||||||
* `channel` String - 이벤트의 이름
|
* `channel` String (optional)
|
||||||
|
|
||||||
이 ipc 채널에 등록된 *모든* 핸들러들을 삭제합니다.
|
이 ipc 채널에 등록된 모든 핸들러들을 삭제하거나 지정한 `channel`을 삭제합니다.
|
||||||
|
|
||||||
### `ipcMain.once(channel, callback)`
|
## Event 객체
|
||||||
|
|
||||||
`ipcMain.on()` 대신 이 함수를 사용할 경우 핸들러가 단 한 번만 호출됩니다.
|
|
||||||
`callback`이 한 번 호출된 이후 활성화되지 않습니다.
|
|
||||||
|
|
||||||
## IPC Event
|
|
||||||
|
|
||||||
`callback`에서 전달된 `event` 객체는 다음과 같은 메서드와 속성을 가지고 있습니다:
|
`callback`에서 전달된 `event` 객체는 다음과 같은 메서드와 속성을 가지고 있습니다:
|
||||||
|
|
||||||
|
@ -85,5 +90,6 @@ ipcRenderer.send('asynchronous-message', 'ping');
|
||||||
|
|
||||||
메시지를 보낸 `webContents` 객체를 반환합니다. `event.sender.send` 메서드를 통해
|
메시지를 보낸 `webContents` 객체를 반환합니다. `event.sender.send` 메서드를 통해
|
||||||
비동기로 메시지를 전달할 수 있습니다. 자세한 내용은
|
비동기로 메시지를 전달할 수 있습니다. 자세한 내용은
|
||||||
[webContents.send](web-contents.md#webcontentssendchannel-arg1-arg2-)를
|
[webContents.send][web-contents-send]를 참고하세요.
|
||||||
참고하세요.
|
|
||||||
|
[web-contents-send]: web-contents.md#webcontentssendchannel-arg1-arg2-
|
||||||
|
|
|
@ -10,32 +10,38 @@
|
||||||
|
|
||||||
`ipcRenderer`는 다음과 같은 이벤트 리스닝 메서드를 가지고 있습니다:
|
`ipcRenderer`는 다음과 같은 이벤트 리스닝 메서드를 가지고 있습니다:
|
||||||
|
|
||||||
### `ipcRenderer.on(channel, callback)`
|
### `ipcMain.on(channel, listener)`
|
||||||
|
|
||||||
* `channel` String - 이벤트 이름
|
* `channel` String
|
||||||
* `callback` Function
|
* `listener` Function
|
||||||
|
|
||||||
이벤트가 일어나면 `event` 객체와 임의의 인자와 함께 `callback` 함수가 호출됩니다.
|
`channel`에 대해 이벤트를 리스닝합니다. 새로운 메시지가 도착하면 `listener`가
|
||||||
|
`listener(event, args...)` 형식으로 호출됩니다.
|
||||||
|
|
||||||
### `ipcRenderer.removeListener(channel, callback)`
|
### `ipcMain.once(channel, listener)`
|
||||||
|
|
||||||
* `channel` String - 이벤트의 이름
|
* `channel` String
|
||||||
* `callback` Function - `ipcMain.on(channel, callback)`에서 사용한 함수의 레퍼런스
|
* `listener` Function
|
||||||
|
|
||||||
|
이벤트에 대해 한 번만 작동하는 `listener` 함수를 등록합니다. 이 `listener`는 등록된
|
||||||
|
후 `channel`에 보내지는 메시지에 한해 호출됩니다. 호출된 이후엔 리스너가 삭제됩니다.
|
||||||
|
|
||||||
|
### `ipcMain.removeListener(channel, listener)`
|
||||||
|
|
||||||
|
* `channel` String
|
||||||
|
* `listener` Function
|
||||||
|
|
||||||
메시지 수신을 완료한 후, 더 이상의 콜백이 필요하지 않을 때 또는 몇 가지 이유로 채널의
|
메시지 수신을 완료한 후, 더 이상의 콜백이 필요하지 않을 때 또는 몇 가지 이유로 채널의
|
||||||
메시지 전송을 멈출수 없을 때, 이 함수를 통해 지정한 채널에 대한 콜백을 삭제할 수
|
메시지 전송을 멈출수 없을 때, 이 함수를 통해 지정한 채널에 대한 콜백을 삭제할 수
|
||||||
있습니다.
|
있습니다.
|
||||||
|
|
||||||
### `ipcRenderer.removeAllListeners(channel)`
|
지정한 `channel`에 대한 리스너를 저장하는 배열에서 지정한 `listener`를 삭제합니다.
|
||||||
|
|
||||||
* `channel` String - 이벤트의 이름
|
### `ipcMain.removeAllListeners(channel)`
|
||||||
|
|
||||||
이 ipc 채널에 등록된 *모든* 핸들러들을 삭제합니다.
|
* `channel` String (optional)
|
||||||
|
|
||||||
### `ipcRenderer.once(channel, callback)`
|
이 ipc 채널에 등록된 모든 핸들러들을 삭제하거나 지정한 `channel`을 삭제합니다.
|
||||||
|
|
||||||
`ipcRenderer.on()` 대신 이 함수를 사용할 경우 핸들러가 단 한 번만 호출됩니다.
|
|
||||||
`callback`이 한 번 호출된 이후 활성화되지 않습니다.
|
|
||||||
|
|
||||||
## 메시지 보내기
|
## 메시지 보내기
|
||||||
|
|
||||||
|
@ -43,23 +49,26 @@
|
||||||
|
|
||||||
### `ipcRenderer.send(channel[, arg1][, arg2][, ...])`
|
### `ipcRenderer.send(channel[, arg1][, arg2][, ...])`
|
||||||
|
|
||||||
* `channel` String - 이벤트 이름
|
* `channel` String
|
||||||
* `arg` (optional)
|
* `arg` (optional)
|
||||||
|
|
||||||
`channel`을 통해 메인 프로세스에 비동기 메시지를 보냅니다. 그리고 필요에 따라 임의의
|
`channel`을 통해 메인 프로세스에 비동기 메시지를 보냅니다. 그리고 필요에 따라 임의의
|
||||||
인자를 사용할 수도 있습니다. 메인 프로세스는 `ipcMain` 모듈의 `channel` 이벤트를 통해
|
인수를 사용할 수도 있습니다. 인수들은 내부적으로 JSON 포맷으로 직렬화 되며, 이후 함수와
|
||||||
|
프로토타입 체인은 포함되지 않게 됩니다.
|
||||||
|
|
||||||
|
메인 프로세스는 `ipcMain` 모듈의 `channel` 이벤트를 통해
|
||||||
이벤트를 리스닝 할 수 있습니다.
|
이벤트를 리스닝 할 수 있습니다.
|
||||||
|
|
||||||
### `ipcRenderer.sendSync(channel[, arg1][, arg2][, ...])`
|
### `ipcRenderer.sendSync(channel[, arg1][, arg2][, ...])`
|
||||||
|
|
||||||
* `channel` String - 이벤트 이름
|
* `channel` String
|
||||||
* `arg` (optional)
|
* `arg` (optional)
|
||||||
|
|
||||||
`channel`을 통해 메인 프로세스에 동기 메시지를 보냅니다. 그리고 필요에 따라 임의의
|
`channel`을 통해 메인 프로세스에 동기 메시지를 보냅니다. 그리고 필요에 따라 임의의
|
||||||
인자를 사용할 수도 있습니다. 메인 프로세스는 `ipc`를 통해 `channel` 이벤트를 리스닝
|
인자를 사용할 수도 있습니다. 인수들은 내부적으로 JSON 포맷으로 직렬화 되며, 이후 함수와
|
||||||
할 수 있습니다.
|
프로토타입 체인은 포함되지 않게 됩니다.
|
||||||
|
|
||||||
메인 프로세스에선 `ipcMain` 모듈의 `channel` 이벤트를 통해 받은
|
메인 프로세스는 `ipcMain` 모듈을 통해 `channel` 이벤트를 리스닝 할 수 있고,
|
||||||
`event.returnValue`로 회신 할 수 있습니다.
|
`event.returnValue`로 회신 할 수 있습니다.
|
||||||
|
|
||||||
__참고:__ 동기 메서드는 모든 랜더러 프로세스의 작업을 일시 중단시킵니다. 사용 목적이
|
__참고:__ 동기 메서드는 모든 랜더러 프로세스의 작업을 일시 중단시킵니다. 사용 목적이
|
||||||
|
@ -67,7 +76,7 @@ __참고:__ 동기 메서드는 모든 랜더러 프로세스의 작업을 일
|
||||||
|
|
||||||
### `ipcRenderer.sendToHost(channel[, arg1][, arg2][, ...])`
|
### `ipcRenderer.sendToHost(channel[, arg1][, arg2][, ...])`
|
||||||
|
|
||||||
* `channel` String - 이벤트 이름
|
* `channel` String
|
||||||
* `arg` (optional)
|
* `arg` (optional)
|
||||||
|
|
||||||
`ipcRenderer.send`와 비슷하지만 이벤트를 메인 프로세스 대신 호스트 페이지내의
|
`ipcRenderer.send`와 비슷하지만 이벤트를 메인 프로세스 대신 호스트 페이지내의
|
||||||
|
|
|
@ -255,8 +255,8 @@ Returns:
|
||||||
* `result` Object
|
* `result` Object
|
||||||
* `requestId` Integer
|
* `requestId` Integer
|
||||||
* `finalUpdate` Boolean - 더 많은 응답이 따르는 경우를 표시합니다.
|
* `finalUpdate` Boolean - 더 많은 응답이 따르는 경우를 표시합니다.
|
||||||
* `matches` Integer (Optional) - 일치하는 개수.
|
* `matches` Integer (optional) - 일치하는 개수.
|
||||||
* `selectionArea` Object (Optional) - 첫 일치 부위의 좌표.
|
* `selectionArea` Object (optional) - 첫 일치 부위의 좌표.
|
||||||
|
|
||||||
[`webContents.findInPage`](web-contents.md#webcontentsfindinpage) 요청의 결과를
|
[`webContents.findInPage`](web-contents.md#webcontentsfindinpage) 요청의 결과를
|
||||||
사용할 수 있을 때 발생하는 이벤트입니다.
|
사용할 수 있을 때 발생하는 이벤트입니다.
|
||||||
|
@ -307,7 +307,7 @@ Returns:
|
||||||
### `webContents.loadURL(url[, options])`
|
### `webContents.loadURL(url[, options])`
|
||||||
|
|
||||||
* `url` URL
|
* `url` URL
|
||||||
* `options` Object (optional), 속성들:
|
* `options` Object (optional)
|
||||||
* `httpReferrer` String - HTTP 레퍼러 url.
|
* `httpReferrer` String - HTTP 레퍼러 url.
|
||||||
* `userAgent` String - 요청을 시작한 유저 에이전트.
|
* `userAgent` String - 요청을 시작한 유저 에이전트.
|
||||||
* `extraHeaders` String - "\n"로 구분된 Extra 헤더들.
|
* `extraHeaders` String - "\n"로 구분된 Extra 헤더들.
|
||||||
|
@ -493,7 +493,7 @@ CSS 코드를 현재 웹 페이지에 삽입합니다.
|
||||||
### `webContents.findInPage(text[, options])`
|
### `webContents.findInPage(text[, options])`
|
||||||
|
|
||||||
* `text` String - 찾을 컨텐츠, 반드시 공백이 아니여야 합니다.
|
* `text` String - 찾을 컨텐츠, 반드시 공백이 아니여야 합니다.
|
||||||
* `options` Object (Optional)
|
* `options` Object (optional)
|
||||||
* `forward` Boolean - 앞에서부터 검색할지 뒤에서부터 검색할지 여부입니다. 기본값은
|
* `forward` Boolean - 앞에서부터 검색할지 뒤에서부터 검색할지 여부입니다. 기본값은
|
||||||
`true`입니다.
|
`true`입니다.
|
||||||
* `findNext` Boolean - 작업을 계속 처리할지 첫 요청만 처리할지 여부입니다. 기본값은
|
* `findNext` Boolean - 작업을 계속 처리할지 첫 요청만 처리할지 여부입니다. 기본값은
|
||||||
|
@ -546,8 +546,7 @@ ServiceWorker가 존재하면 모두 등록을 해제하고 JS Promise가 만족
|
||||||
|
|
||||||
### `webContents.print([options])`
|
### `webContents.print([options])`
|
||||||
|
|
||||||
`options` Object (optional), properties:
|
`options` Object (optional)
|
||||||
|
|
||||||
* `silent` Boolean - 사용자에게 프린트 설정을 묻지 않습니다. 기본값을 `false`입니다.
|
* `silent` Boolean - 사용자에게 프린트 설정을 묻지 않습니다. 기본값을 `false`입니다.
|
||||||
* `printBackground` Boolean - 웹 페이지의 배경 색과 이미지를 출력합니다. 기본값은
|
* `printBackground` Boolean - 웹 페이지의 배경 색과 이미지를 출력합니다. 기본값은
|
||||||
`false`입니다.
|
`false`입니다.
|
||||||
|
@ -565,32 +564,23 @@ print기능을 사용하지 않는 경우 전체 바이너리 크기를 줄이
|
||||||
|
|
||||||
### `webContents.printToPDF(options, callback)`
|
### `webContents.printToPDF(options, callback)`
|
||||||
|
|
||||||
`options` Object, properties:
|
* `options` Object
|
||||||
|
* `marginsType` Integer - 사용할 마진의 종류를 지정합니다. 0 부터 2 사이 값을 사용할
|
||||||
* `marginsType` Integer - 사용할 마진의 종류를 지정합니다.
|
수 있고 각각 기본 마진, 마진 없음, 최소 마진입니다.
|
||||||
* 0 - default
|
* `pageSize` String - 생성되는 PDF의 페이지 크기를 지정합니다. 값은 `A3`, `A4`,
|
||||||
* 1 - none
|
`A5`, `Legal`, `Letter` 와 `Tabloid`가 사용될 수 있습니다.
|
||||||
* 2 - minimum
|
|
||||||
* `pageSize` String - 생성되는 PDF의 페이지 크기를 지정합니다.
|
|
||||||
* `A5`
|
|
||||||
* `A4`
|
|
||||||
* `A3`
|
|
||||||
* `Legal`
|
|
||||||
* `Letter`
|
|
||||||
* `Tabloid`
|
|
||||||
* `printBackground` Boolean - CSS 배경을 프린트할지 여부를 정합니다.
|
* `printBackground` Boolean - CSS 배경을 프린트할지 여부를 정합니다.
|
||||||
* `printSelectionOnly` Boolean - 선택된 영역만 프린트할지 여부를 정합니다.
|
* `printSelectionOnly` Boolean - 선택된 영역만 프린트할지 여부를 정합니다.
|
||||||
* `landscape` Boolean - landscape을 위해선 `true`를, portrait를 위해선 `false`를
|
* `landscape` Boolean - landscape을 위해선 `true`를, portrait를 위해선 `false`를
|
||||||
사용합니다.
|
사용합니다.
|
||||||
|
* `callback` Function - `function(error, data) {}`
|
||||||
`callback` Function - `function(error, data) {}`
|
|
||||||
|
|
||||||
* `error` Error
|
|
||||||
* `data` Buffer - PDF 파일 내용.
|
|
||||||
|
|
||||||
Chromium의 미리보기 프린팅 커스텀 설정을 이용하여 윈도우의 웹 페이지를 PDF로
|
Chromium의 미리보기 프린팅 커스텀 설정을 이용하여 윈도우의 웹 페이지를 PDF로
|
||||||
프린트합니다.
|
프린트합니다.
|
||||||
|
|
||||||
|
`callback`은 작업이 완료되면 `callback(error, data)` 형식으로 호출됩니다. `data`는
|
||||||
|
생성된 PDF 데이터를 담고있는 `Buffer`입니다.
|
||||||
|
|
||||||
기본으로 비어있는 `options`은 다음과 같이 여겨지게 됩니다:
|
기본으로 비어있는 `options`은 다음과 같이 여겨지게 됩니다:
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
|
@ -643,7 +633,7 @@ mainWindow.webContents.on('devtools-opened', function() {
|
||||||
|
|
||||||
### `webContents.openDevTools([options])`
|
### `webContents.openDevTools([options])`
|
||||||
|
|
||||||
* `options` Object (optional). Properties:
|
* `options` Object (optional)
|
||||||
* `detach` Boolean - 새 창에서 개발자 도구를 엽니다.
|
* `detach` Boolean - 새 창에서 개발자 도구를 엽니다.
|
||||||
|
|
||||||
개발자 도구를 엽니다.
|
개발자 도구를 엽니다.
|
||||||
|
@ -681,8 +671,11 @@ mainWindow.webContents.on('devtools-opened', function() {
|
||||||
* `arg` (optional)
|
* `arg` (optional)
|
||||||
|
|
||||||
`channel`을 통하여 렌더러 프로세스에 비동기 메시지를 보냅니다. 임의의 인수를 보낼수도
|
`channel`을 통하여 렌더러 프로세스에 비동기 메시지를 보냅니다. 임의의 인수를 보낼수도
|
||||||
있습니다. 렌더러 프로세스는 `ipcRenderer` 모듈을 통하여 `channel`를 리슨하여 메시지를
|
있습니다. 인수들은 내부적으로 JSON 포맷으로 직렬화 되며, 이후 함수와 프로토타입 체인은
|
||||||
처리할 수 있습니다.
|
포함되지 않게 됩니다.
|
||||||
|
|
||||||
|
렌더러 프로세스는 `ipcRenderer` 모듈을 통하여 `channel`를 리스닝하여 메시지를 처리할
|
||||||
|
수 있습니다.
|
||||||
|
|
||||||
메인 프로세스에서 렌더러 프로세스로 메시지를 보내는 예시 입니다:
|
메인 프로세스에서 렌더러 프로세스로 메시지를 보내는 예시 입니다:
|
||||||
|
|
||||||
|
|
|
@ -178,7 +178,7 @@ webview.addEventListener("dom-ready", function() {
|
||||||
### `<webview>.loadURL(url[, options])`
|
### `<webview>.loadURL(url[, options])`
|
||||||
|
|
||||||
* `url` URL
|
* `url` URL
|
||||||
* `options` Object (optional), 속성들:
|
* `options` Object (optional)
|
||||||
* `httpReferrer` String - HTTP 레퍼러 url.
|
* `httpReferrer` String - HTTP 레퍼러 url.
|
||||||
* `userAgent` String - 요청을 시작한 유저 에이전트.
|
* `userAgent` String - 요청을 시작한 유저 에이전트.
|
||||||
* `extraHeaders` String - "\n"로 구분된 Extra 헤더들.
|
* `extraHeaders` String - "\n"로 구분된 Extra 헤더들.
|
||||||
|
@ -370,7 +370,7 @@ Service worker에 대한 개발자 도구를 엽니다.
|
||||||
### `webContents.findInPage(text[, options])`
|
### `webContents.findInPage(text[, options])`
|
||||||
|
|
||||||
* `text` String - 찾을 컨텐츠, 반드시 공백이 아니여야 합니다.
|
* `text` String - 찾을 컨텐츠, 반드시 공백이 아니여야 합니다.
|
||||||
* `options` Object (Optional)
|
* `options` Object (optional)
|
||||||
* `forward` Boolean - 앞에서부터 검색할지 뒤에서부터 검색할지 여부입니다. 기본값은
|
* `forward` Boolean - 앞에서부터 검색할지 뒤에서부터 검색할지 여부입니다. 기본값은
|
||||||
`true`입니다.
|
`true`입니다.
|
||||||
* `findNext` Boolean - 작업을 계속 처리할지 첫 요청만 처리할지 여부입니다. 기본값은
|
* `findNext` Boolean - 작업을 계속 처리할지 첫 요청만 처리할지 여부입니다. 기본값은
|
||||||
|
@ -557,8 +557,8 @@ Returns:
|
||||||
* `result` Object
|
* `result` Object
|
||||||
* `requestId` Integer
|
* `requestId` Integer
|
||||||
* `finalUpdate` Boolean - 더 많은 응답이 따르는 경우를 표시합니다.
|
* `finalUpdate` Boolean - 더 많은 응답이 따르는 경우를 표시합니다.
|
||||||
* `matches` Integer (Optional) - 일치하는 개수.
|
* `matches` Integer (optional) - 일치하는 개수.
|
||||||
* `selectionArea` Object (Optional) - 첫 일치 부위의 좌표.
|
* `selectionArea` Object (optional) - 첫 일치 부위의 좌표.
|
||||||
|
|
||||||
[`webContents.findInPage`](web-contents.md#webcontentsfindinpage) 요청의 결과를
|
[`webContents.findInPage`](web-contents.md#webcontentsfindinpage) 요청의 결과를
|
||||||
사용할 수 있을 때 발생하는 이벤트입니다.
|
사용할 수 있을 때 발생하는 이벤트입니다.
|
||||||
|
|
|
@ -18,6 +18,34 @@ Node.js의 새로운 기능은 보통 V8 업그레이드에서 가져옵니다.
|
||||||
브라우저에 탑재된 V8을 사용하고 있습니다. 눈부신 새로운 Node.js 버전의 자바스크립트
|
브라우저에 탑재된 V8을 사용하고 있습니다. 눈부신 새로운 Node.js 버전의 자바스크립트
|
||||||
기능은 보통 이미 Electron에 있습니다.
|
기능은 보통 이미 Electron에 있습니다.
|
||||||
|
|
||||||
|
## 어떻게 웹 페이지 간에 데이터를 공유할 수 있나요?
|
||||||
|
|
||||||
|
두 웹페이지 간에 (랜더러 프로세스) 데이터를 공유하려면 간단히 이미 모든 브라우저에서
|
||||||
|
사용할 수 있는 HTML5 API들을 사용하면 됩니다. 가장 좋은 후보는
|
||||||
|
[Storage API][storage], [`localStorage`][local-storage],
|
||||||
|
[`sessionStorage`][session-storage], 그리고 [IndexedDB][indexed-db]가 있습니다.
|
||||||
|
|
||||||
|
또는 Electron에서만 사용할 수 있는 IPC 시스템을 사용하여 메인 프로세스의 global
|
||||||
|
변수에 데이터를 저장한 후 다음과 같이 랜더러 프로세스에서 `remote` 모듈을 사용하여
|
||||||
|
접근할 수 있습니다:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
// 메인 프로세스에서
|
||||||
|
global.sharedObject = {
|
||||||
|
someProperty: 'default value'
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
// 첫 번째 페이지에서
|
||||||
|
require('remote').getGlobal('sharedObject').someProperty = 'new value';
|
||||||
|
```
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
// 두 번째 페이지에서
|
||||||
|
console.log(require('remote').getGlobal('sharedObject').someProperty);
|
||||||
|
```
|
||||||
|
|
||||||
## 제작한 어플리케이션의 윈도우/트레이가 몇 분 후에나 나타납니다.
|
## 제작한 어플리케이션의 윈도우/트레이가 몇 분 후에나 나타납니다.
|
||||||
|
|
||||||
이러한 문제가 발생하는 이유는 보통 윈도우/트레이를 담은 변수에 가비지 컬렉션이 작동해서
|
이러한 문제가 발생하는 이유는 보통 윈도우/트레이를 담은 변수에 가비지 컬렉션이 작동해서
|
||||||
|
@ -119,3 +147,7 @@ npm uninstall -g electron
|
||||||
[memory-management]: https://developer.mozilla.org/ko/docs/Web/JavaScript/Memory_Management
|
[memory-management]: https://developer.mozilla.org/ko/docs/Web/JavaScript/Memory_Management
|
||||||
[variable-scope]: https://msdn.microsoft.com/library/bzt2dkta(v=vs.94).aspx
|
[variable-scope]: https://msdn.microsoft.com/library/bzt2dkta(v=vs.94).aspx
|
||||||
[electron-module]: https://www.npmjs.com/package/electron
|
[electron-module]: https://www.npmjs.com/package/electron
|
||||||
|
[storage]: https://developer.mozilla.org/en-US/docs/Web/API/Storage
|
||||||
|
[local-storage]: https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage
|
||||||
|
[session-storage]: https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage
|
||||||
|
[indexed-db]: https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API
|
||||||
|
|
|
@ -263,6 +263,33 @@ var window = new BrowserWindow({...});
|
||||||
window.setProgressBar(0.5);
|
window.setProgressBar(0.5);
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## 작업 표시줄의 아이콘 오버레이 (Windows)
|
||||||
|
|
||||||
|
Windows에선 작업 표시줄 버튼에 어플리케이션의 상태를 표시하는 작은 오버레이를 사용할
|
||||||
|
수 있습니다. MSDN에서 인용하자면 (영문):
|
||||||
|
|
||||||
|
> Icon overlays serve as a contextual notification of status, and are intended
|
||||||
|
> to negate the need for a separate notification area status icon to communicate
|
||||||
|
> that information to the user. For instance, the new mail status in Microsoft
|
||||||
|
> Outlook, currently shown in the notification area, can now be indicated
|
||||||
|
> through an overlay on the taskbar button. Again, you must decide during your
|
||||||
|
> development cycle which method is best for your application. Overlay icons are
|
||||||
|
> intended to supply important, long-standing status or notifications such as
|
||||||
|
> network status, messenger status, or new mail. The user should not be
|
||||||
|
> presented with constantly changing overlays or animations.
|
||||||
|
|
||||||
|
__작업 표시줄 버튼 위의 오버레이:__
|
||||||
|
|
||||||
|
![작업 표시줄 버튼 위의 오버레이](https://i-msdn.sec.s-msft.com/dynimg/IC420441.png)
|
||||||
|
|
||||||
|
윈도우에 오버레이 아이콘을 설정하려면 [BrowserWindow.setOverlayIcon][setoverlayicon]
|
||||||
|
API를 사용할 수 있습니다:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
var window = new BrowserWindow({...});
|
||||||
|
window.setOverlayIcon('path/to/overlay.png', 'Description for overlay');
|
||||||
|
```
|
||||||
|
|
||||||
## 대표 파일 제시 (OS X)
|
## 대표 파일 제시 (OS X)
|
||||||
|
|
||||||
OS X는 창에서 대표 파일을 설정할 수 있습니다. 타이틀바에서 파일 아이콘이 있고, 사용자가
|
OS X는 창에서 대표 파일을 설정할 수 있습니다. 타이틀바에서 파일 아이콘이 있고, 사용자가
|
||||||
|
@ -287,6 +314,7 @@ window.setDocumentEdited(true);
|
||||||
[clearrecentdocuments]: ../api/app.md#appclearrecentdocuments-os-x-windows
|
[clearrecentdocuments]: ../api/app.md#appclearrecentdocuments-os-x-windows
|
||||||
[setusertaskstasks]: ../api/app.md#appsetusertaskstasks-windows
|
[setusertaskstasks]: ../api/app.md#appsetusertaskstasks-windows
|
||||||
[setprogressbar]: ../api/browser-window.md#winsetprogressbarprogress
|
[setprogressbar]: ../api/browser-window.md#winsetprogressbarprogress
|
||||||
|
[setoverlayicon]: ../api/browser-window.md#winsetoverlayiconoverlay-description-windows-7
|
||||||
[setrepresentedfilename]: ../api/browser-window.md#winsetrepresentedfilenamefilename-os-x
|
[setrepresentedfilename]: ../api/browser-window.md#winsetrepresentedfilenamefilename-os-x
|
||||||
[setdocumentedited]: ../api/browser-window.md#winsetdocumenteditededited-os-x
|
[setdocumentedited]: ../api/browser-window.md#winsetdocumenteditededited-os-x
|
||||||
[app-registration]: http://msdn.microsoft.com/en-us/library/windows/desktop/ee872121(v=vs.85).aspx
|
[app-registration]: http://msdn.microsoft.com/en-us/library/windows/desktop/ee872121(v=vs.85).aspx
|
||||||
|
|
|
@ -43,6 +43,7 @@ API를 사용하여 low-level 수준으로 운영체제와 상호작용할 수
|
||||||
Electron에는 메인 프로세스와 랜더러 프로세스 사이에 통신을 할 수 있도록
|
Electron에는 메인 프로세스와 랜더러 프로세스 사이에 통신을 할 수 있도록
|
||||||
[ipc](../api/ipc-renderer.md) 모듈을 제공하고 있습니다.
|
[ipc](../api/ipc-renderer.md) 모듈을 제공하고 있습니다.
|
||||||
또는 [remote](../api/remote.md) 모듈을 사용하여 RPC 스타일로 통신할 수도 있습니다.
|
또는 [remote](../api/remote.md) 모듈을 사용하여 RPC 스타일로 통신할 수도 있습니다.
|
||||||
|
또한 FAQ에서 [다양한 객체를 공유하는 방법](share-data)도 소개하고 있습니다.
|
||||||
|
|
||||||
## 첫번째 Electron 앱 만들기
|
## 첫번째 Electron 앱 만들기
|
||||||
|
|
||||||
|
@ -211,3 +212,5 @@ $ cd electron-quick-start
|
||||||
# 어플리케이션의 종속성 모듈을 설치한 후 실행합니다
|
# 어플리케이션의 종속성 모듈을 설치한 후 실행합니다
|
||||||
$ npm install && npm start
|
$ npm install && npm start
|
||||||
```
|
```
|
||||||
|
|
||||||
|
[share-data]: ../faq/electron-faq.md#어떻게-웹-페이지-간에-데이터를-공유할-수-있나요
|
||||||
|
|
Loading…
Reference in a new issue