📝 Update as upstream

[ci skip]
This commit is contained in:
Plusb Preco 2016-01-11 13:11:10 +09:00 committed by Cheng Zhao
parent 463bc8738a
commit 918825cb58
10 changed files with 91 additions and 60 deletions

View file

@ -64,7 +64,7 @@ win.show();
형태로 생성합니다. 기본값은 `true`입니다.
* `acceptFirstMouse` Boolean - 윈도우가 비활성화 상태일 때 내부 컨텐츠 클릭 시
활성화 되는 동시에 단일 mouse-down 이벤트를 발생시킬지 여부. 기본값은 `false`입니다.
* `disableAutoHideCursor` Boolean - 이핑중 자동으로 커서를 숨길지 여부. 기본값은
* `disableAutoHideCursor` Boolean - 이핑중 자동으로 커서를 숨길지 여부. 기본값은
`false`입니다.
* `autoHideMenuBar` Boolean - `Alt`를 누르지 않는 한 어플리케이션 메뉴바를 숨길지
여부. 기본값은 `false`입니다.
@ -115,12 +115,16 @@ win.show();
합니다. node 통합이 비활성화되어있을 경우, preload 스크립트는 node의 global
심볼들을 다시 global 스코프로 다시 포함 시킬 수 있습니다.
[여기](process.md#event-loaded)의 예제를 참고하세요.
* `partition` String - 페이지에서 사용할 세션을 지정합니다. 만약 `partition`
`persist:`로 시작하면 페이지는 지속성 세션을 사용하며 다른 모든 앱 내의
페이지에서 같은 `partition`을 사용할 수 있습니다. 만약 `persist:` 접두어로
시작하지 않으면 페이지는 인-메모리 세션을 사용합니다. 여러 페이지에서 같은
`partition`을 지정하면 같은 세션을 공유할 수 있습니다. `partition`을 지정하지
않으면 어플리케이션의 기본 세션이 사용됩니다.
* `session` [Session](session.md#class-session) - 페이지에서 사용할 세션을
지정합니다. Session 객체를 직접적으로 전달하는 대신, 파티션 문자열을 받는
`partition` 옵션을 사용할 수도 있습니다. `session``partition`이 같이
제공되었을 경우 `session`이 사용됩니다. 기본값은 기본 세션입니다.
* `partition` String - 페이지에서 사용할 세션을 지정합니다. 만약 `partition`
`persist:`로 시작하면 페이지는 지속성 세션을 사용하며 다른 모든 앱 내의
페이지에서 같은 `partition`을 사용할 수 있습니다. 만약 `persist:` 접두어로
시작하지 않으면 페이지는 인-메모리 세션을 사용합니다. 여러 페이지에서 같은
`partition`을 지정하면 같은 세션을 공유할 수 있습니다. `partition`을 지정하지
않으면 어플리케이션의 기본 세션이 사용됩니다.
* `zoomFactor` Number - 페이지의 기본 줌 값을 지정합니다. 예를 들어 `300%`
표현하려면 `3.0`으로 지정합니다. 기본값은 `1.0`입니다.
* `javascript` Boolean - 자바스크립트를 활성화합니다. 기본값은 `false`입니다.
@ -287,7 +291,8 @@ someWindow.on('app-command', function(e, cmd) {
### `BrowserWindow.getFocusedWindow()`
어플리케이션에서 포커스된 윈도우를 반환합니다.
어플리케이션에서 포커스된 윈도우를 반환합니다. 포커스된 윈도우가 없을 경우 `null`
반환합니다.
### `BrowserWindow.fromWebContents(webContents)`
@ -564,12 +569,20 @@ Kiosk(키오스크) 모드를 설정합니다.
현재 윈도우가 kiosk 모드인지 여부를 반환합니다.
### `win.getNativeWindowHandle()`
`Buffer` 상의 플랫폼에 따른 윈도우 핸들을 반환합니다.
핸들의 타입에 따라 적절히 캐스팅됩니다. Windows의 `HWND`, OS X의 `NSView*`, Linux의
`Window` (`unsigned long`)를 예로 들 수 있습니다.
### `win.hookWindowMessage(message, callback)` _Windows_
* `message` Integer
* `callback` Function
Windows 메시지 훅을 등록합니다. `callback`은 WndProc에서 메시지를 받았을 때 호출됩니다.
Windows 메시지 훅을 등록합니다. `callback`은 WndProc에서 메시지를 받았을 때
호출됩니다.
### `win.isWindowMessageHooked(message)` _Windows_

View file

@ -78,7 +78,8 @@ console.log(dialog.showOpenDialog({ properties: [ 'openFile', 'openDirectory', '
`filters`를 지정하면 유저가 저장 가능한 파일 형식을 지정할 수 있습니다. 사용 방법은
`dialog.showOpenDialog``filters` 속성과 같습니다.
`callback`이 전달되면 메서드가 비동기로 작동되며 결과는 `callback(filename)`을 통해 전달됩니다.
`callback`이 전달되면 메서드가 비동기로 작동되며 결과는 `callback(filename)`을 통해
전달됩니다.
### `dialog.showMessageBox([browserWindow, ]options[, callback])`
@ -88,6 +89,8 @@ console.log(dialog.showOpenDialog({ properties: [ 'openFile', 'openDirectory', '
하나를 사용할 수 있습니다. Windows에선 따로 `icon`을 설정하지 않은 이상
"question"과 "info"는 같은 아이콘으로 표시됩니다.
* `buttons` Array - 버튼들의 라벨을 포함한 배열입니다.
* `defaultId` Integer - 메시지 박스가 열렸을 때 기본적으로 선택될 버튼 배열의
버튼 인덱스입니다.
* `title` String - 대화 상자의 제목입니다. 몇몇 플랫폼에선 보이지 않을 수 있습니다.
* `message` String - 대화 상자의 본문 내용입니다.
* `detail` String - 메시지의 추가 정보입니다.

View file

@ -38,8 +38,8 @@ var win = new BrowserWindow({ transparent: true, frame: false });
### API의 한계
* 투명한 영역을 통과하여 클릭할 수 없습니다. 우리는 이 문제를 해결하기 위해 API를
제공할 예정이었지만 현재로써는 [upstream 버그](https://code.google.com/p/chromium/issues/detail?id=387234)로
인해 중단된 상태입니다.
제공할 예정이며 자세한 내용은
[이슈](https://github.com/atom/electron/issues/1335)를 참고하세요.
* 투명한 창은 크기를 조절할 수 없습니다. `resizable` 속성을 `true`로 할 경우 몇몇
플랫폼에선 크래시가 일어납니다.
* `blur` 필터는 웹 페이지에서만 적용됩니다. 윈도우 아래 컨텐츠에는 블러 효과를 적용할

View file

@ -195,7 +195,7 @@ if (process.platform == 'darwin') {
);
}
menu = Menu.buildFromTemplate(template);
var menu = Menu.buildFromTemplate(template);
Menu.setApplicationMenu(menu);
```

View file

@ -34,6 +34,9 @@ win.loadURL('https://github.com');
않습니다. 대신에 이 `BrowserWindow` 객체는 메인 프로세스에서 생성되며 랜더러
프로세스에 `win` 객체와 같이 이에 대응하는 remote 객체를 반환합니다.
참고로 remote를 통해선 [enumerable 속성](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Enumerability_and_ownership_of_properties)을
가진 프로퍼티에만 접근할 수 있습니다.
## Remote 객체의 생명 주기
Electron은 랜더러 프로세스의 remote 객체가 살아있는 한(다시 말해서 GC(garbage

View file

@ -178,47 +178,48 @@ session.defaultSession.cookies.set(cookie, function(error) {
웹 스토리지의 데이터를 비웁니다.
#### `ses.flushStorageData()`
디스크에 사용되지 않은 DOMStorage 데이터를 모두 덮어씌웁니다.
#### `ses.setProxy(config, callback)`
* `config` String
* `config` Object
* `pacScript` String - PAC 파일과 관련된 URL입니다.
* `proxyRules` String - 사용할 프록시의 규칙을 나타냅니다.
* `callback` Function - 작업이 완료되면 호출됩니다.
세션에 사용할 프록시 `config`를 분석하고 프록시를 적용합니다.
프록시 설정을 적용합니다.
세션에 사용할 프록시는 `config`가 PAC 주소일 경우 그대로 적용하고, 다른 형식일 경우
다음 규칙에 따라 적용합니다.
`pacScript``proxyRules`이 같이 제공되면 `proxyRules` 옵션은 무시되며 `pacScript`
컨픽만 적용됩니다.
`proxyRules`는 다음과 같은 규칙을 따릅니다:
```
config = scheme-proxies[";"<scheme-proxies>]
scheme-proxies = [<url-scheme>"="]<proxy-uri-list>
url-scheme = "http" | "https" | "ftp" | "socks"
proxy-uri-list = <proxy-uri>[","<proxy-uri-list>]
proxy-uri = [<proxy-scheme>"://"]<proxy-host>[":"<proxy-port>]
예시:
"http=foopy:80;ftp=foopy2" -- http:// URL에 "foopy:80" HTTP 프록시를
사용합니다. "foopy2:80" 는 ftp:// URL에
사용됩니다.
"foopy:80" -- 모든 URL에 "foopy:80" 프록시를 사용합니다.
"foopy:80,bar,direct://" -- 모든 URL에 "foopy:80" HTTP 프록시를
사용합니다. 문제가 발생하여 "foopy:80"를
사용할 수 없는 경우 "bar"를 대신 사용하여
장애를 복구하며 그 다음 문제가 생긴 경우
프록시를 사용하지 않습니다.
"socks4://foopy" -- 모든 URL에 "foopy:1000" SOCKS v4 프록시를
사용합니다.
"http=foopy,socks5://bar.com -- http:// URL에 "foopy" HTTP 프록시를
사용합니다. 문제가 발생하여 "foopy"를
사용할 수 없는 경우 SOCKS5 "bar.com"
프록시를 대신 사용합니다.
"http=foopy,direct:// -- http:// URL에 "foopy" HTTP 프록시를
사용합니다. 그리고 문제가 발생하여 "foopy"를
사용할 수 없는 경우 프록시를 사용하지 않습니다.
"http=foopy;socks=foopy2 -- http:// URL에 "foopy" HTTP 프록시를
사용합니다. 그리고 "socks4://foopy2"
프록시를 다른 모든 URL에 사용합니다.
proxyRules = schemeProxies[";"<schemeProxies>]
schemeProxies = [<urlScheme>"="]<proxyURIList>
urlScheme = "http" | "https" | "ftp" | "socks"
proxyURIList = <proxyURL>[","<proxyURIList>]
proxyURL = [<proxyScheme>"://"]<proxyHost>[":"<proxyPort>]
```
예시:
* `http=foopy:80;ftp=foopy2` - http:// URL에 `foopy:80` HTTP 프록시를 사용합니다.
`foopy2:80` 는 ftp:// URL에 사용됩니다.
* `foopy:80` - 모든 URL에 `foopy:80` 프록시를 사용합니다.
* `foopy:80,bar,direct://` - 모든 URL에 `foopy:80` HTTP 프록시를 사용합니다.
문제가 발생하여 `foopy:80`를 사용할 수 없는 경우 `bar`를 대신 사용하여 장애를
복구하며 그 다음 문제가 생긴 경우 프록시를 사용하지 않습니다.
* `socks4://foopy` - 모든 URL에 `foopy:1000` SOCKS v4 프록시를 사용합니다.
* `http=foopy,socks5://bar.com` - http:// URL에 `foopy` HTTP 프록시를 사용합니다.
문제가 발생하여 `foopy`를 사용할 수 없는 경우 SOCKS5 `bar.com` 프록시를 대신
사용합니다.
* `http=foopy,direct://` - http:// URL에 `foopy` HTTP 프록시를 사용합니다. 그리고
문제가 발생하여 `foopy`를 사용할 수 없는 경우 프록시를 사용하지 않습니다.
* `http=foopy;socks=foopy2` - http:// URL에 `foopy` HTTP 프록시를 사용합니다.
그리고 `socks4://foopy2` 프록시를 다른 모든 URL에 사용합니다.
### `app.resolveProxy(url, callback)`
* `url` URL

View file

@ -88,4 +88,20 @@ webFrame.setSpellCheckProvider("en-US", true, {
`scheme`를 보안된 스킴으로 등록합니다. 리소스에 대해 보안 정책을 우회하며,
ServiceWorker의 등록과 fetch API를 사용할 수 있도록 지원합니다.
### `webFrame.insertText(text)`
* `text` String
포커스된 요소에 `text`를 삽입합니다.
### `webFrame.executeJavaScript(code[, userGesture])`
* `code` String
* `userGesture` Boolean (optional) - 기본값은 `false` 입니다.
페이지에서 `code`를 실행합니다.
브라우저 윈도우에서 어떤 `requestFullScreen` 같은 HTML API는 사용자의 승인이
필요합니다. `userGesture``true`로 설정하면 이러한 제약을 제거할 수 있습니다.
[spellchecker]: https://github.com/atom/node-spellchecker

View file

@ -340,6 +340,12 @@ Service worker에 대한 개발자 도구를 엽니다.
페이지에서 `replaceMisspelling` 커맨드를 실행합니다.
### `<webview>.insertText(text)`
* `text` String
포커스된 요소에 `text`를 삽입합니다.
### `webContents.findInPage(text[, options])`
* `text` String - 찾을 컨텐츠, 반드시 공백이 아니여야 합니다.

View file

@ -5,7 +5,7 @@
## 빌드전 요구 사항
* Windows 7 / Server 2008 R2 또는 최신 버전
* Visual Studio 2013 Update 5 - [VS 2013 커뮤니티 에디션 무료 다운로드](http://www.visualstudio.com/products/visual-studio-community-vs)
* Visual Studio 2013 Update 4 - [VS 2013 커뮤니티 에디션 무료 다운로드](https://www.visualstudio.com/news/vs2013-community-vs)
* [Python 2.7](http://www.python.org/download/releases/2.7/)
* [Node.js](http://nodejs.org/download/)
* [Git](http://git-scm.com)

View file

@ -34,21 +34,10 @@ myNotification.onclick = function () {
만들어 놔야 합니다. 이 바로가기는 반드시 시작 화면에 설치되어 있어야 합니다. 참고로
반드시 시작 화면에 고정 할 필요는 없습니다.
* Windows 7과 그 이하 버전은 데스크톱 알림을 지원하지 않습니다.
혹시 "풍선 팝업 알림" 기능을 찾는다면 [Tray API](tray-balloon)를 사용하세요.
혹시 "풍선 팝업 알림" 기능을 찾는다면 [Tray API][tray-balloon]를 사용하세요.
이미지를 데스크톱 알림에 사용하려면 알림 옵션의 `icon` 속성에 로컬 이미지 파일
(`png` 권장)을 지정하면 됩니다. 데스크톱 알림은 잘못된 경로를 지정하거나 `http/https`
기반의 URL을 지정해도 이미지가 보이지 않을 뿐 정상 작동합니다.
```javascript
new Notification('Title', {
body: 'Notification with icon',
icon: 'file:///C:/Users/feriese/Desktop/icon.png'
});
```
또한 본문의 최대 길이는 250자 입니다. Windows 개발팀에선 알림 문자열을 200자 이하로
유지하는 것을 권장합니다.
또한 알림 본문의 최대 길이는 250자 입니다. Windows 개발팀에선 알림 문자열을 200자
이하로 유지하는 것을 권장합니다.
### Linux