# webContents
-`webContents`는
-[EventEmitter](http://nodejs.org/api/events.html#events_class_events_eventemitter)입니다.
+`webContents`는 [EventEmitter](http://nodejs.org/api/events.html#events_class_events_eventemitter)를 상속받았습니다.
-웹페이지의 렌더링과 관리를 책임지며 [`BrowserWindow`](browser-window.md)의 속성입니다. 다음은 `webContents` 객체를 접근하는 예입니다:
+웹 페이지의 렌더링과 관리를 책임지며 [`BrowserWindow`](browser-window.md)의 속성입니다. 다음은 `webContents` 객체에 접근하는 예제입니다:
```javascript
const BrowserWindow = require('electron').BrowserWindow;
### Event: 'did-finish-load'
-네비게이션이 끝났을 때 발생하는 이벤트입니다. 즉, 탭의 스피너가 멈추고 `onload` 이벤트가 발생했을 때를 얘기합니다.
+탐색 작업이 끝났을 때 발생하는 이벤트입니다. 브라우저의 탭의 스피너가 멈추고 `onload` 이벤트가 발생했을 때를 말합니다.
### Event: 'did-fail-load'
* `errorDescription` String
* `validatedURL` String
-이 이벤트는 `did-finish-load`와 비슷하나, 로드가 실패했거나 취소되었을 때도 발생합니다. 예를들면 `window.stop()`이 실행되었을 때 발생합니다.
-모ë\93 ì\97\90ë\9f¬ ì½\94ë\93\9cë\93¤ì\9d\98 목ë¡\9dê³¼ ì\84¤ëª\85ì\9d\80 [ì\97¬ê¸°](https://code.google.com/p/chromium/codesearch#chromium/src/net/base/net_error_list.h)ì\84\9c í\99\95ì\9d¸ ê°\80ë\8a¥í\95©니다.
+이 이벤트는 `did-finish-load`와 비슷하나, 로드가 실패했거나 취소되었을 때 발생합니다. 예를 들면 `window.stop()`이 실행되었을 때 발생합니다.
+ë°\9cì\83\9dí\95 ì\88\98 ì\9e\88ë\8a\94 ì \84ì²´ ì\97\90ë\9f¬ ì½\94ë\93\9cì\9d\98 목ë¡\9dê³¼ ì\84¤ëª\85ì\9d\80 [ì\97¬ê¸°](https://code.google.com/p/chromium/codesearch#chromium/src/net/base/net_error_list.h)ì\84\9c í\99\95ì\9d¸í\95 ì\88\98 ì\9e\88ì\8aµ니다.
### Event: 'did-frame-finish-load'
* `event` Event
* `isMainFrame` Boolean
-프레임(Frame)이 네비게이션을 끝냈을 때 발생하는 이벤트입니다.
+프레임(Frame)이 탐색을 끝냈을 때 발생하는 이벤트입니다.
### Event: 'did-start-loading'
-탭의 스피너가 회전을 시작한 시점과 같습니다.
+브라우저 탭의 스피너가 회전을 시작한 때와 같은 시점에 대응하는 이벤트입니다.
### Event: 'did-stop-loading'
-탭의 스피너가 회전을 멈추었을 떄의 시점과 같습니다.
+브라우저 탭의 스피너가 회전을 멈추었을 때와 같은 시점에 대응하는 이벤트입니다.
### Event: 'did-get-response-details'
* `referrer` String
* `headers` Object
-ì\9a\94ì²í\95\9c 리ì\86\8cì\8a¤ì\9d\98 ì \95ë³´ê°\80 ì¡´ì\9e¬í\95 때 발생하는 이벤트입니다.
+ì\9a\94ì²í\95\9c 리ì\86\8cì\8a¤ì\97\90 ê´\80ë ¨ë\90\9c ì\9e\90ì\84¸í\95\9c ì \95보를 ì\82¬ì\9a©í\95 ì\88\98 ì\9e\88ì\9d\84 때 발생하는 이벤트입니다.
`status`는 리소스를 다운로드하기 위한 소켓 연결을 나타냅니다.
### Event: 'did-get-redirect-request'
* `referrer` String
* `headers` Object
-리ì\86\8cì\8a¤ë¥¼ ì\9a\94ì²í\95 ë\95\8c 리다이렉트 응답을 받았을 때 발생하는 이벤트입니다.
+리ì\86\8cì\8a¤ë¥¼ ì\9a\94ì²í\95\98ë\8a\94 ë\8f\99ì\95\88ì\97\90 리다이렉트 응답을 받았을 때 발생하는 이벤트입니다.
### Event: 'dom-ready'
Returns:
* `event` Event
-* `favicons` Array - Array of URLs
+* `favicons` Array - URL 배열
-페이지가 favicon을 받았을 때 발생하는 이벤트입니다.
+페이지가 favicon(파비콘) URL을 받았을 때 발생하는 이벤트입니다.
### Event: 'new-window'
* `frameName` String
* `disposition` String - `default`, `foreground-tab`, `background-tab`,
`new-window`, `other`중 하나일 수 있습니다.
-* `options` Object - 새로운 `BrowserWindow`를 만들 때 사용되는 옵션들입니다.
+* `options` Object - 새로운 `BrowserWindow` 객체를 만들 때 사용되는 옵션 객체입니다.
페이지가 `url`에 대하여 새로운 윈도우를 열기위해 요청한 경우 발생하는 이벤트입니다.
-`window.open`이나 `<a target='_blank'>`과 같은 외부 링크 등에 의해 요청될 수 있습니다.
+`window.open`이나 `<a target='_blank'>`과 같은 외부 링크에 의해 요청될 수 있습니다.
-기본값으로 `BrowserWindow`는 `url`로 생성됩니다.
+기본값으로 `BrowserWindow`는 `url`을 기반으로 생성됩니다.
-`event.preventDefault()`를 í\98¸ì¶\9cí\95\98ë©´ ì\83\88ë¡\9cì\9a´ ì°½ì\9d\84 ë§\8cë\93\9c는 것을 방지할 수 있습니다.
+`event.preventDefault()`를 í\98¸ì¶\9cí\95\98ë©´ ì\83\88ë¡\9cì\9a´ ì°½ì\9d´ ì\83\9dì\84±ë\90\98는 것을 방지할 수 있습니다.
### Event: 'will-navigate'
* `event` Event
* `url` String
-사용자 또는 페이지가 새로운 네비게이션을 원할 때 발생하는 이벤트입니다.
+사용자 또는 페이지가 새로운 페이지로 이동할 때 발생하는 이벤트입니다.
`window.location` 객체가 변경되거나 사용자가 페이지의 링크를 클릭했을 때 발생합니다.
이 이벤트는 `webContents.loadURL`과 `webContents.back` 같은 API를 이용하여 프로그램적으로
-시작된 네비게이션에 대해서는 발생하지 않습니다.
+시작된 탐색에 대해서는 발생하지 않습니다.
-`event.preventDefault()`를 호출하면 네비게이션을 방지할 수 있습니다.
+`event.preventDefault()`를 호출하면 탐색을 방지할 수 있습니다.
### Event: 'crashed'
### Event: 'devtools-opened'
-DevTools가 열렸을 때 발생되는 이벤트입니다.
+개발자 도구가 열렸을 때 발생되는 이벤트입니다.
### Event: 'devtools-closed'
-DevTools가 닫혔을 때 발생되는 이벤트입니다.
+개발자 도구가 닫혔을 때 발생되는 이벤트입니다.
### Event: 'devtools-focused'
-DevTools에 포커스가 가거나 DevTools가 열렸을 때 발생되는 이벤트입니다.
+개발자 도구에 포커스가 가거나 개발자 도구가 열렸을 때 발생되는 이벤트입니다.
### Event: 'login'
## Instance Methods
-`webContents`ê°\9dì²´ë\8a\94 ë\8b¤ì\9d\8cê³¼ ê°\99ì\9d\80 ì\9d¸ì\8a¤í\84´ì\8a¤ ë©\94ì\86\8c드들을 가지고 있습니다.
+`webContents`ê°\9dì²´ë\8a\94 ë\8b¤ì\9d\8cê³¼ ê°\99ì\9d\80 ì\9d¸ì\8a¤í\84´ì\8a¤ ë©\94ì\84\9c드들을 가지고 있습니다.
### `webContents.session`
webContents에서 사용되는 `session`객체를 반환합니다.
-[session 문서](session.md)에서 이 객체의 메소드들을 확인할 수 있습니다.
+[session](session.md) 문서에서 이 객체의 메서드들을 확인할 수 있습니다.
### `webContents.loadURL(url[, options])`
### `webContents.stop()`
-대기중인 네비게이션들을 모두 멈춥니다.
+대기중인 탐색 작업을 모두 멈춥니다.
### `webContents.reload()`
### `webContents.reloadIgnoringCache()`
-현재 페이지를 캐시를 무시한채로 새로고침합니다.
+현재 웹 페이지의 캐시를 무시한 채로 새로고침합니다.
### `webContents.canGoBack()`
-브라우저가 이전의 웹 페이지로 돌아갈 수 있는지 여부를 반환합니다.
+브라우저가 이전 웹 페이지로 돌아갈 수 있는지 여부를 반환합니다.
### `webContents.canGoForward()`
### `webContents.clearHistory()`
-네비게이션 기록을 삭제합니다.
+탐색 기록을 삭제합니다.
### `webContents.goBack()`
* `index` Integer
-브라우저가 지정된 절대 웹 페이지 인덱스로 네비게이트하게 합니다.
+브라우저가 지정된 절대 웹 페이지 인덱스로 탐색하게 합니다.
### `webContents.goToOffset(offset)`
* `offset` Integer
-"current entry"에서 지정된 offset으로 네비게이트 합니다.
+"current entry"에서 지정된 offset으로 탐색합니다.
### `webContents.isCrashed()`
* `userAgent` String
-현재의 웹 페이지의 유저 에이전트를 오버라이드 합니다.
+현재 웹 페이지의 유저 에이전트를 덮어씌웁니다.
### `webContents.getUserAgent()`
-현재 웹 페이지의 유저 에이전트 `String`을 반환합니다.
+현재 웹 페이지의 유저 에이전트 문자열을 반환합니다.
### `webContents.insertCSS(css)`
* `css` String
-Injects CSS into the current web page.
+CSS 코드를 현재 웹 페이지에 삽입합니다.
### `webContents.executeJavaScript(code[, userGesture])`
* `code` String
* `userGesture` Boolean (optional)
-페이지에서 코드를 실행합니다.
+í\8e\98ì\9d´ì§\80ì\97\90ì\84\9c ì\9e\90ë°\94ì\8a¤í\81¬ë¦½í\8a¸ ì½\94ë\93\9c를 ì\8b¤í\96\89í\95©ë\8b\88ë\8b¤.
-브라우저 윈도우에서 `requestFullScreen`와 같은 몇몇 HTML API들은 사용자의 행동으로만 호출될 수
-있습니다. `userGesture`를 `true`로 설정하면 이런 제약을 무시할 수 있습니다.
+기본적으로 `requestFullScreen`와 같은 몇몇 HTML API들은 사용자의 조작에 의해서만 호출될 수 있습니다.
+`userGesture`를 `true`로 설정하면 이러한 제약을 무시할 수 있습니다.
### `webContents.setAudioMuted(muted)`
### `webContents.undo()`
-웹 페이지에서 `undo` 에디팅 커맨드를 실행합니다.
+웹 페이지에서 `undo` 편집 커맨드를 실행합니다.
### `webContents.redo()`
-웹 페이지에서 `redo` 에디팅 커맨드를 실행합니다.
+웹 페이지에서 `redo` 편집 커맨드를 실행합니다.
### `webContents.cut()`
-웹 페이지에서 `cut` 에디팅 커맨드를 실행합니다.
+웹 페이지에서 `cut` 편집 커맨드를 실행합니다.
### `webContents.copy()`
-웹 페이지에서 `copy` 에디팅 커맨드를 실행합니다.
+웹 페이지에서 `copy` 편집 커맨드를 실행합니다.
### `webContents.paste()`
-웹 페이지에서 `paste` 에디팅 커맨드를 실행합니다.
+웹 페이지에서 `paste` 편집 커맨드를 실행합니다.
### `webContents.pasteAndMatchStyle()`
-웹 페이지에서 `pasteAndMatchStyle` 에디팅 커맨드를 실행합니다.
+웹 페이지에서 `pasteAndMatchStyle` 편집 커맨드를 실행합니다.
### `webContents.delete()`
-웹 페이지에서 `delete` 에디팅 커맨드를 실행합니다.
+웹 페이지에서 `delete` 편집 커맨드를 실행합니다.
### `webContents.selectAll()`
-웹 페이지에서 `selectAll` 에디팅 커맨드를 실행합니다.
+웹 페이지에서 `selectAll` 편집 커맨드를 실행합니다.
### `webContents.unselect()`
-웹 페이지에서 `unselect` 에디팅 커맨드를 실행합니다.
+웹 페이지에서 `unselect` 편집 커맨드를 실행합니다.
### `webContents.replace(text)`
* `text` String
-웹 페이지에서 `replace` 에디팅 커맨드를 실행합니다.
+웹 페이지에서 `replace` 편집 커맨드를 실행합니다.
### `webContents.replaceMisspelling(text)`
* `text` String
-웹 페이지에서 `replaceMisspelling` 에디팅 커맨드를 실행합니다.
+웹 페이지에서 `replaceMisspelling` 편집 커맨드를 실행합니다.
### `webContents.hasServiceWorker(callback)`
* `callback` Function
-ServiceWorker가 등록되어있는지 확인하고 `callback`에 대한 응답으로 boolean을 반환합니다.
+ServiceWorker가 등록되어있는지 확인하고 `callback`에 대한 응답으로 boolean 값을 반환합니다.
### `webContents.unregisterServiceWorker(callback)`
* `callback` Function
-ServiceWorker가 존재하면 모두 등록을 해제하고 JS promise가 만족될 때 `callback`에 대한
-응답으로 boolean을 반환하거나 JS promise가 만족되지 않을 때 false를 반환합니다.
+ServiceWorker가 존재하면 모두 등록을 해제하고 JS Promise가 만족될 때 `callback`에 대한
+응답으로 boolean을 반환하거나 JS Promise가 만족되지 않을 때 `false`를 반환합니다.
### `webContents.print([options])`
웹 페이지에서 `window.print()`를 호출하는 것은
`webContents.print({silent: false, printBackground: false})`를 호출하는 것과 같습니다.
-**Note:** 윈도우즈에서 print API는 `pdf.dll`에 의존합니다. 당신의 어플리케이션이 print 기능을
-í\95\84ì\9a\94ë¡\9c í\95\98ì§\80 ì\95\8aë\8a\94ë\8b¤ë©´ ë°\94ì\9d´ë\84\88리 í\81¬ê¸°ë¥¼ ì¤\84ì\9d´ê¸° ì\9c\84í\95´ `pdf.dll`ì\9d\84 ì\82ì \9cí\95\98ì\85\94ë\8f\84 ì\95\88ì \84í\95©ë\8b\88ë\8b¤.
+**Note:** Windows에서의 프린터 API는 `pdf.dll`에 의존합니다.
+ì\96´í\94\8c리ì¼\80ì\9d´ì\85\98ì\9d´ print 기ë\8a¥ì\9d\84 ì\82¬ì\9a©í\95\98ì§\80 ì\95\8aë\8a\94 ê²½ì\9a° ì \84ì²´ ë°\94ì\9d´ë\84\88리 í\81¬ê¸°ë¥¼ ì¤\84ì\9d´ê¸° ì\9c\84í\95´ `pdf.dll`ì\9d\84 ì\82ì \9cí\95´ë\8f\84 ë\90©ë\8b\88ë\8b¤.
### `webContents.printToPDF(options, callback)`
* `path` String
-특정 경로를 DevTools의 워크스페이스에 추가합니다.
+특정 경로를 개발자 도구의 워크스페이스에 추가합니다.
### `webContents.removeWorkSpace(path)`
* `path` String
-특정 경로를 DevTools의 워크스페이스에서 제거합니다.
+특정 경로를 개발자 도구의 워크스페이스에서 제거합니다.
### `webContents.openDevTools([options])`
* `options` Object (optional). Properties:
- * `detach` Boolean - 새 창에서 DevTools를 엽니다.
+ * `detach` Boolean - 새 창에서 개발자 도구를 엽니다.
개발자 도구를 엽니다.
`parameters` Object, properties:
* `screenPosition` String - 에뮬레이트 할 화면 종료를 지정합니다
- (default: `desktop`)
+ (기본값: `desktop`)
* `desktop`
* `mobile`
* `screenSize` Object - 에뮬레이트 화면의 크기를 지정합니다 (screenPosition == mobile)
* `width` Integer - 에뮬레이트 화면의 너비를 지정합니다
* `height` Integer - 에뮬레이트 화면의 높이를 지정합니다
* `viewPosition` Object - 화면에서 뷰의 위치
- (screenPosition == mobile) (default: `{x: 0, y: 0}`)
+ (screenPosition == mobile) (기본값: `{x: 0, y: 0}`)
* `x` Integer - 좌상단 모서리로부터의 x 축의 오프셋
* `y` Integer - 좌상단 모서리로부터의 y 축의 오프셋
* `deviceScaleFactor` Integer - 디바이스의 스케일 팩터(scale factor)를 지정합니다.
- (0일 경우 기본 디바이스 스케일 팩터를 기본으로 사용합니다) (default: `0`)
+ (0일 경우 기본 디바이스 스케일 팩터를 기본으로 사용합니다) (기본값: `0`)
* `viewSize` Object - 에뮬레이트 된 뷰의 크기를 지정합니다 (빈 값은 오버라이드 하지 않는 다는
것을 의미합니다)
* `width` Integer - 에뮬레이트 된 뷰의 너비를 지정합니다
### `webContents.sendInputEvent(event)`
* `event` Object
- * `type` String (**required**) - ì\9d´ë²¤í\8a¸ì\9d\98 í\83\80ì\9e\85. ë\8b¤ì\9d\8c ê°\92ë\93¤ì\9d´ ê°\80ë\8a¥í\95©ë\8b\88ë\8b¤. `mouseDown`,
+ * `type` String (**required**) - ì\9d´ë²¤í\8a¸ì\9d\98 í\83\80ì\9e\85. ë\8b¤ì\9d\8c ê°\92ë\93¤ì\9d\84 ì\82¬ì\9a©í\95 ì\88\98 ì\9e\88ì\8aµë\8b\88ë\8b¤: `mouseDown`,
`mouseUp`, `mouseEnter`, `mouseLeave`, `contextMenu`, `mouseWheel`,
`keyDown`, `keyUp`, `char`.
* `modifiers` Array - 이벤트의 수정자(modifier)들에 대한 배열. 다음 값들을 포함 할 수
- 있습니다. `shift`, `control`, `alt`, `meta`, `isKeypad`, `isAutoRepeat`,
+ 있습니다: `shift`, `control`, `alt`, `meta`, `isKeypad`, `isAutoRepeat`,
`leftButtonDown`, `middleButtonDown`, `rightButtonDown`, `capsLock`,
`numLock`, `left`, `right`.
-input `event`를 페이지로 보냅니다.
+Input `event`를 웹 페이지로 전송합니다.
-키보드 이벤트들에 대해서는 `event` 객체는 다음 속성들을 추가적으로 가지고 있습니다:
+키보드 이벤트들에 대해서는 `event` 객체는 다음 속성들을 추가로 가지고 있습니다:
-* `keyCode` String (**required**) - 키보드 이벤트로 보낼 수 있는 단일 캐릭터. 모든 UTF-8가
- 사용 가능합니다.
+* `keyCode` String (**required**) - 키보드 이벤트로 보내지는 문자.
+ 단일 UTF-8 문자를 사용할 수 있고 이벤트를 발생시키는 다음 키 중 하나를 포함할 수 있습니다:
+ `enter`, `backspace`, `delete`, `tab`, `escape`, `control`, `alt`, `shift`, `end`,
+ `home`, `insert`, `left`, `up`, `right`, `down`, `pageUp`, `pageDown`, `printScreen`
마우스 이벤트들에 대해서는 `event` 객체는 다음 속성들을 추가적으로 가지고 있습니다:
### `webContents.devToolsWebContents`
-이 `WebContents`에 대한 DevTools의 `WebContents`를 가져옵니다.
+이 `WebContents`에 대한 개발자 도구의 `WebContents`를 가져옵니다.
-**Note:** 사용자가 절대로 이 객체를 저장해서는 안됩니다. 그럴경우 DevTools가 닫혔을 때, `null`이
-될 수도 있습니다.
+**Note:** 사용자가 절대로 이 객체를 저장해서는 안 됩니다. 개발자 도구가 닫혔을 때, `null`이 반환될 수 있습니다.
### `webContents.savePage(fullPath, saveType, callback)`