설명
webview
태그를 사용하여 네트워크를 통해 웹에서 실시간 콘텐츠를 적극적으로 로드하고 Chrome 앱에 삽입합니다. 앱은 webview
의 모양을 제어하고 웹 콘텐츠와 상호작용하고, 삽입된 웹페이지에서 탐색을 시작하고, 웹페이지 내에서 발생하는 오류 이벤트에 반응하는 등의 작업을 할 수 있습니다 (사용 참고).
권한
webview
유형
ClearDataOptions
clearData
에서 삭제할 데이터를 결정하는 옵션입니다.
속성
-
이후
번호 선택사항
이 날짜 이후에 누적된 데이터를 지웁니다. 이 날짜는 에포크 이후 경과 시간 (JavaScript
Date
객체의 getTime 메서드를 통해 액세스할 수 있음)으로 표시됩니다. 없으면 기본값은0
(모든 브라우징 데이터 삭제)입니다.
ClearDataTypeSet
데이터 유형 집합 누락된 속성은 false
로 해석됩니다.
속성
-
appcache
불리언 선택사항
웹사이트의 appcache
-
캐시
불리언 선택사항
Chrome 44 이상Chrome 43부터 브라우저의 캐시 참고: 데이터를 삭제하면 전체 캐시가 삭제되며 지정된 범위로 제한되지 않습니다.
-
쿠키
불리언 선택사항
파티션의 쿠키입니다.
-
fileSystems
불리언 선택사항
웹사이트의 파일 시스템
-
indexedDB
불리언 선택사항
웹사이트의 IndexedDB 데이터
-
localStorage
불리언 선택사항
웹사이트의 로컬 스토리지 데이터
-
persistentCookies
불리언 선택사항
Chrome 58 이상파티션의 영구 쿠키입니다.
-
sessionCookies
불리언 선택사항
Chrome 58 이상파티션의 세션 쿠키입니다.
-
webSQL
불리언 선택사항
웹사이트의 WebSQL 데이터
속성
-
all_frames
불리언 선택사항
all_frames
가true
이면 JavaScript 또는 CSS가 현재 페이지의 모든 프레임에 삽입되어야 함을 의미합니다. 기본적으로all_frames
는false
이며 JavaScript 또는 CSS는 최상위 프레임에만 삽입됩니다. -
css
InjectionItems 선택사항
일치하는 페이지에 삽입할 CSS 코드 또는 CSS 파일 목록입니다. 이러한 스크립트는 페이지의 DOM이 생성되거나 표시되기 전에 표시되는 순서대로 삽입됩니다.
-
exclude_globs
string[] 선택사항
일치 후 적용되어 이 글롭과 일치하는 URL을 제외합니다. @exclude Greasemonkey 키워드를 에뮬레이션하기 위한 용도입니다.
-
exclude_matches
string[] 선택사항
이 콘텐츠 스크립트가 삽입될 페이지를 제외합니다.
-
include_globs
string[] 선택사항
일치 후 적용되어 이 글롭과도 일치하는 URL만 포함합니다. @include Greasemonkey 키워드를 에뮬레이션하기 위한 용도입니다.
-
js
InjectionItems 선택사항
일치하는 페이지에 삽입할 JavaScript 코드 또는 JavaScript 파일 목록입니다. 이러한 값은 표시되는 순서대로 삽입됩니다.
-
match_about_blank
불리언 선택사항
about:blank 및 about:srcdoc에 콘텐츠 스크립트를 삽입할지 여부입니다. 콘텐츠 스크립트는 상속 URL이 matches 필드에 선언된 패턴 중 하나와 일치하는 경우에만 페이지에 삽입됩니다. 상속 URL은 프레임 또는 창을 만든 문서의 URL입니다. 콘텐츠 스크립트는 샌드박스 프레임에 삽입할 수 없습니다.
-
일치
문자열[]
이 콘텐츠 스크립트가 삽입될 페이지를 지정합니다.
-
이름
문자열
삽입할 콘텐츠 스크립트의 이름입니다.
-
run_at
RunAt 선택사항
JavaScript 또는 CSS가 탭에 가장 빨리 삽입되는 시점입니다. 기본값은 'document_idle'입니다.
ContentWindow
게스트 창에 대한 메시지 핸들
속성
-
postMessage
void
삽입된 콘텐츠가 대상 출처의 페이지를 표시하는 동안 삽입된 웹 콘텐츠에 메시지를 게시합니다. 이 메서드는 페이지 로드가 완료된 후에 사용할 수 있습니다.
contentload
이벤트를 수신 대기한 다음 메서드를 호출합니다.게스트는 수신한 메시지 이벤트에서
event.source
에 메시지를 게시하여 삽입자에게 답장을 보낼 수 있습니다.이 API는 웹페이지 간의 통신을 위한 HTML5 postMessage API와 동일합니다. 삽입자는 자체 프레임에
message
이벤트 리스너를 추가하여 답장을 수신 대기할 수 있습니다.postMessage
함수는 다음과 같습니다.(message: any, targetOrigin: string) => {...}
-
메시지
모두
참석자에게 전송할 메시지 객체입니다.
-
targetOrigin
문자열
이벤트가 전달되려면 게스트 창의 출처가 무엇이어야 하는지 지정합니다.
-
ContextMenuCreateProperties
속성
-
선택됨
불리언 선택사항
체크박스 또는 라디오 항목의 초기 상태입니다. 선택된 경우 true이고 선택되지 않은 경우 false입니다. 지정된 라디오 항목 그룹에서는 한 번에 하나의 라디오 항목만 선택할 수 있습니다.
-
contexts
[ContextType, ...ContextType[]] 선택사항
이 메뉴 항목이 표시되는 컨텍스트 목록입니다. 지정하지 않으면 기본값은 ['page'] 입니다.
-
documentUrlPatterns
string[] 선택사항
URL이 지정된 패턴 중 하나와 일치하는 문서에만 적용되도록 항목을 제한할 수 있습니다. 프레임에도 적용됩니다. 패턴 형식에 관한 자세한 내용은 일치 패턴을 참고하세요.
-
사용 설정됨
불리언 선택사항
이 컨텍스트 메뉴 항목의 사용 설정 여부입니다. 기본값은
true
입니다. -
id
문자열 선택사항
이 항목에 할당할 고유 ID입니다. 이벤트 페이지에 필수입니다. 이 확장 프로그램의 다른 ID와 동일할 수 없습니다.
-
parentId
문자열 | 숫자 선택사항
상위 메뉴 항목의 ID입니다. 이 ID를 사용하면 항목이 이전에 추가된 항목의 하위 항목이 됩니다.
-
targetUrlPatterns
string[] 선택사항
documentUrlPatterns와 유사하지만 img/audio/video 태그의
src
속성과 앵커 태그의href
를 기반으로 필터링할 수 있습니다. -
제목
문자열 선택사항
항목에 표시할 텍스트입니다.
type
이 'separator'가 아닌 한 필수입니다. 컨텍스트가 '선택'인 경우 문자열 내에서%s
를 사용하여 선택한 텍스트를 표시할 수 있습니다. 예를 들어 이 매개변수의 값이 ''%s'를 돼지 라틴어로 번역'이고 사용자가 'cool'이라는 단어를 선택하면 선택한 단어의 컨텍스트 메뉴 항목은 ''cool'을 돼지 라틴어로 번역'입니다. -
유형
ItemType 선택사항
메뉴 항목의 유형입니다. 지정하지 않을 경우 기본값은 'normal'입니다.
-
onclick
void 선택사항
메뉴 항목을 클릭할 때 콜백되는 함수입니다.
onclick
함수는 다음과 같습니다.(info: OnClickData) => {...}
-
정보
클릭된 항목 및 클릭이 발생한 컨텍스트에 관한 정보입니다.
-
ContextMenus
속성
-
onShow
Event<functionvoidvoid>
이
webview
에 컨텍스트 메뉴를 표시하기 전에 실행됩니다.event.preventDefault()
를 호출하여 이 컨텍스트 메뉴를 사용 중지하는 데 사용할 수 있습니다.onShow.addListener
함수는 다음과 같습니다.(callback: function) => {...}
-
콜백
함수
callback
매개변수는 다음과 같습니다.(event: object) => void
-
이벤트
객체
-
preventDefault
void
컨텍스트 메뉴가 표시되지 않도록 하려면 이 메서드를 호출합니다.
preventDefault
함수는 다음과 같습니다.() => {...}
-
-
-
-
create
void
새 컨텍스트 메뉴 항목을 만듭니다. 생성 중에 오류가 발생하면 생성 콜백이 실행될 때까지 알 수 없습니다 (세부정보는
runtime.lastError
에 있음).create
함수는 다음과 같습니다.(createProperties: object, callback?: function) => {...}
-
createProperties
객체
항목을 만드는 데 사용되는 속성
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
-
returns
문자열 | 숫자
새로 생성된 항목의 ID입니다.
-
-
삭제
void
컨텍스트 메뉴 항목을 삭제합니다.
remove
함수는 다음과 같습니다.(menuItemId: string | number, callback?: function) => {...}
-
문자열 | 숫자
삭제할 컨텍스트 메뉴 항목의 ID입니다.
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
-
-
removeAll
void
이
webview
에 추가된 모든 컨텍스트 메뉴 항목을 삭제합니다.removeAll
함수는 다음과 같습니다.(callback?: function) => {...}
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
-
-
update
void
이전에 만든 컨텍스트 메뉴 항목을 업데이트합니다.
update
함수는 다음과 같습니다.(id: string | number, updateProperties: object, callback?: function) => {...}
-
id
문자열 | 숫자
업데이트할 상품의 ID입니다.
-
updateProperties
객체
업데이트할 속성입니다. create 함수와 동일한 값을 허용합니다.
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
-
ContextMenuUpdateProperties
속성
-
선택됨
불리언 선택사항
체크박스 또는 라디오 항목의 상태입니다. 선택된 경우 true, 선택 해제된 경우 false입니다. 지정된 라디오 항목 그룹에서는 한 번에 하나의 라디오 항목만 선택할 수 있습니다.
-
contexts
[ContextType, ...ContextType[]] 선택사항
이 메뉴 항목이 표시되는 컨텍스트 목록입니다.
-
documentUrlPatterns
string[] 선택사항
URL이 지정된 패턴 중 하나와 일치하는 문서에만 적용되도록 항목을 제한할 수 있습니다. 프레임에도 적용됩니다. 패턴 형식에 관한 자세한 내용은 일치 패턴을 참고하세요.
-
사용 설정됨
불리언 선택사항
이 컨텍스트 메뉴 항목의 사용 설정 여부입니다.
-
parentId
문자열 | 숫자 선택사항
상위 메뉴 항목의 ID입니다. 이 ID를 사용하면 항목이 이전에 추가된 항목의 하위 항목이 됩니다. 참고: 항목을 자체 자손 중 하나의 하위 요소로 변경할 수는 없습니다.
-
targetUrlPatterns
string[] 선택사항
documentUrlPatterns와 유사하지만 img/audio/video 태그의
src
속성과 앵커 태그의href
를 기반으로 필터링할 수 있습니다. -
제목
문자열 선택사항
항목에 표시할 텍스트입니다.
-
유형
ItemType 선택사항
메뉴 항목의 유형입니다.
-
onclick
void 선택사항
메뉴 항목을 클릭할 때 콜백되는 함수입니다.
onclick
함수는 다음과 같습니다.(info: OnClickData) => {...}
-
정보
클릭된 항목 및 클릭이 발생한 컨텍스트에 관한 정보입니다.
-
ContextType
메뉴가 표시될 수 있는 다양한 컨텍스트입니다. 'all'을 지정하면 다른 모든 컨텍스트를 조합하는 것과 같습니다.
열거형
'all'
'페이지'
'프레임'
"선택"
'링크'
'수정 가능'
'image'
'video'
'audio'
DialogController
dialog
DOM 이벤트에 연결된 인터페이스입니다.
속성
-
취소
void
대화상자를 거부합니다.
confirm
또는prompt
대화상자에서 취소를 클릭하는 것과 같습니다.cancel
함수는 다음과 같습니다.() => {...}
-
확인
void
대화상자를 수락합니다.
alert
,confirm
또는prompt
대화상자에서 '확인'을 클릭하는 것과 같습니다.ok
함수는 다음과 같습니다.(response?: string) => {...}
-
응답
문자열 선택사항
prompt
대화상자를 수락할 때 게스트에게 제공할 응답 문자열입니다.
-
DownloadPermissionRequest
download
permissionrequest
DOM 이벤트와 함께 제공되는 request
객체의 유형입니다.
속성
-
requestMethod
문자열
다운로드 요청과 연결된 HTTP 요청 유형 (예:
GET
)입니다. -
URL
문자열
요청된 다운로드 URL입니다.
-
허용
void
권한 요청을 허용합니다.
allow
함수는 다음과 같습니다.() => {...}
-
deny
void
권한 요청을 거부합니다.
allow
이 호출되지 않은 경우의 기본 동작입니다.deny
함수는 다음과 같습니다.() => {...}
FileSystemPermissionRequest
filesystem
permissionrequest
DOM 이벤트와 함께 제공되는 request
객체의 유형입니다.
속성
-
URL
문자열
로컬 파일 시스템에 대한 액세스를 요청하는 프레임의 URL입니다.
-
허용
void
권한 요청을 허용합니다.
allow
함수는 다음과 같습니다.() => {...}
-
deny
void
권한 요청을 거부합니다.
deny
함수는 다음과 같습니다.() => {...}
FindCallbackResults
찾기 요청의 모든 결과를 포함합니다.
속성
-
activeMatchOrdinal
숫자
현재 일치 항목의 서수입니다.
-
취소됨
부울
이 찾기 요청이 취소되었는지 여부를 나타냅니다.
-
numberOfMatches
숫자
페이지에서
searchText
가 일치한 횟수입니다. -
selectionRect
화면 좌표에서 활성 검색 결과를 둘러싸는 직사각형을 설명합니다.
FindOptions
찾기 요청의 옵션입니다.
속성
-
뒤로
불리언 선택사항
역순으로 일치를 찾기 위한 플래그입니다. 기본값은
false
입니다. -
matchCase
불리언 선택사항
대소문자를 구분하여 일치시키는 플래그입니다. 기본값은
false
입니다.
FullscreenPermissionRequest
fullscreen
permissionrequest
DOM 이벤트와 함께 제공되는 request
객체의 유형입니다.
속성
-
출처
문자열
전체 화면 요청을 시작한
webview
내 프레임의 원점입니다. -
허용
void
권한 요청을 허용합니다.
allow
함수는 다음과 같습니다.() => {...}
-
deny
void
권한 요청을 거부합니다.
deny
함수는 다음과 같습니다.() => {...}
GeolocationPermissionRequest
geolocation
permissionrequest
DOM 이벤트와 함께 제공되는 request
객체의 유형입니다.
속성
-
URL
문자열
위치정보 데이터에 대한 액세스를 요청하는 프레임의 URL입니다.
-
허용
void
권한 요청을 허용합니다.
allow
함수는 다음과 같습니다.() => {...}
-
deny
void
권한 요청을 거부합니다.
allow
이 호출되지 않은 경우의 기본 동작입니다.deny
함수는 다음과 같습니다.() => {...}
속성
-
URL
문자열
HID API 액세스를 요청하는 프레임의 URL입니다.
-
허용
void
권한 요청을 허용합니다.
allow
함수는 다음과 같습니다.() => {...}
-
deny
void
권한 요청을 거부합니다.
allow
이 호출되지 않은 경우의 기본 동작입니다.deny
함수는 다음과 같습니다.() => {...}
InjectDetails
삽입할 스크립트 또는 CSS의 세부정보입니다. 코드 또는 파일 속성 중 하나를 설정해야 하지만 둘 다 동시에 설정할 수는 없습니다.
속성
-
코드
문자열 선택사항
삽입할 JavaScript 또는 CSS 코드입니다.
경고:
code
매개변수를 사용할 때는 주의하세요. 잘못 사용하면 앱이 교차 사이트 스크립팅 공격에 노출될 수 있습니다. -
파일
문자열 선택사항
삽입할 JavaScript 또는 CSS 파일입니다.
InjectionItems
삽입 항목의 유형: 코드 또는 파일 집합
속성
-
코드
문자열 선택사항
일치하는 페이지에 삽입할 JavaScript 코드 또는 CSS입니다.
-
파일
string[] 선택사항
일치하는 페이지에 삽입할 JavaScript 또는 CSS 파일 목록입니다. 이 배열에 표시된 순서대로 삽입됩니다.
LoadPluginPermissionRequest
loadplugin
permissionrequest
DOM 이벤트와 함께 제공되는 request
객체의 유형입니다.
속성
-
identifier
문자열
플러그인의 식별자 문자열입니다.
-
이름
문자열
플러그의 표시 이름입니다.
-
허용
void
권한 요청을 허용합니다.
deny
이 호출되지 않은 경우의 기본 동작입니다.allow
함수는 다음과 같습니다.() => {...}
-
deny
void
권한 요청을 거부합니다.
deny
함수는 다음과 같습니다.() => {...}
MediaPermissionRequest
media
permissionrequest
DOM 이벤트와 함께 제공되는 request
객체의 유형입니다.
속성
-
URL
문자열
사용자 미디어에 대한 액세스를 요청하는 프레임의 URL입니다.
-
허용
void
권한 요청을 허용합니다.
allow
함수는 다음과 같습니다.() => {...}
-
deny
void
권한 요청을 거부합니다.
allow
이 호출되지 않은 경우의 기본 동작입니다.deny
함수는 다음과 같습니다.() => {...}
NewWindow
newwindow
DOM 이벤트에 연결된 인터페이스입니다.
속성
-
첨부
void
요청된 대상 페이지를 기존
webview
요소에 연결합니다.attach
함수는 다음과 같습니다.(webview: object) => {...}
-
WebView
객체
대상 페이지를 연결해야 하는
webview
요소입니다.
-
-
삭제
void
새 창 요청을 취소합니다.
discard
함수는 다음과 같습니다.() => {...}
PointerLockPermissionRequest
pointerLock
permissionrequest
DOM 이벤트와 함께 제공되는 request
객체의 유형입니다.
속성
-
lastUnlockedBySelf
부울
요청 프레임이 포인터 잠금을 보유한 가장 최근 클라이언트인지 여부입니다.
-
URL
문자열
포인터 잠금을 요청하는 프레임의 URL입니다.
-
userGesture
부울
사용자 입력 동작의 결과로 포인터 잠금이 요청되었는지 여부입니다.
-
허용
void
권한 요청을 허용합니다.
allow
함수는 다음과 같습니다.() => {...}
-
deny
void
권한 요청을 거부합니다.
allow
이 호출되지 않은 경우의 기본 동작입니다.deny
함수는 다음과 같습니다.() => {...}
SelectionRect
화면 좌표에서 직사각형을 설명합니다.
포함 시맨틱은 배열과 유사합니다. 즉, 좌표 (left, top)
는 직사각형에 포함된 것으로 간주되지만 좌표 (left + width, top)
는 포함되지 않는 것으로 간주됩니다.
속성
-
높이
숫자
직사각형의 높이입니다.
-
왼쪽
숫자
화면 왼쪽 가장자리에서 직사각형 왼쪽 가장자리까지의 거리입니다.
-
상단
숫자
화면 상단 가장자리에서 직사각형 상단 가장자리까지의 거리입니다.
-
너비
숫자
직사각형의 너비입니다.
WebRequestEventInterface
게스트 페이지의 webRequest 이벤트에 대한 액세스를 제공하는 인터페이스입니다. webRequest 수명 주기 및 관련 개념에 관한 자세한 내용은 chrome.webRequest 확장 프로그램 API를 참고하세요. 참고: chrome.webRequest.onActionIgnored 이벤트는 WebView에 지원되지 않습니다.
사용량이 확장 프로그램 webRequest API와 어떻게 다른지 보여주기 위해 *://www.evil.com/*
와 일치하는 URL에 대한 모든 게스트 요청을 차단하는 다음 코드 예를 살펴보세요.
webview.request.onBeforeRequest.addListener(
function(details) { return {cancel: true}; },
{urls: ["*://www.evil.com/*"]},
["blocking"]);
또한 이 인터페이스는 onRequest
및 onMessage
이벤트를 통해 선언적 webRequest 규칙을 지원합니다. API 세부정보는 declarativeWebRequest
를 참고하세요.
선언적 WebView webRequests의 조건과 작업은 chrome.webViewRequest.*
대응 항목에서 인스턴스화해야 합니다. 다음 코드 예에서는 WebView myWebview
에서 "example.com"
에 대한 모든 요청을 선언적으로 차단합니다.
var rule = {
conditions: [
new chrome.webViewRequest.RequestMatcher({ url: { hostSuffix: 'example.com' } })
],
actions: [ new chrome.webViewRequest.CancelRequest() ]
};
myWebview.request.onRequest.addRules([rule]);
ZoomMode
webview
에서 확대/축소가 처리되는 방식을 정의합니다.
열거형
'출처별'
확대/축소 변경사항은 확대/축소된 페이지의 출처에 유지됩니다. 즉, 동일한 출처로 이동하는 동일한 파티션의 다른 모든 WebView도 확대/축소됩니다. 또한 per-origin
확대/축소 변경사항은 출처와 함께 저장됩니다. 즉, 동일한 출처의 다른 페이지로 이동하면 모두 동일한 확대/축소 계수로 확대/축소됩니다.
'뷰당'
확대/축소 변경사항은 이 WebView에서만 적용되며 다른 WebView의 확대/축소 변경사항은 이 WebView의 확대/축소에 영향을 미치지 않습니다. 또한 per-view
확대/축소 변경사항은 탐색 시 재설정됩니다. WebView를 탐색하면 항상 파티션 범위 내에서 출처별 확대/축소 계수를 사용하여 페이지가 로드됩니다.
'사용 중지됨'
WebView에서 모든 확대/축소를 사용 중지합니다. 콘텐츠가 기본 확대/축소 수준으로 되돌아갑니다. 시도한 모든 확대/축소 변경사항은 무시됩니다.
속성
contentWindow
게스트 페이지에 메시지를 게시하는 데 사용할 수 있는 객체 참조입니다.
contextMenus
Chrome의 ContextMenus API와 유사하지만 브라우저 대신 webview
에 적용됩니다. webview.contextMenus
API를 사용하여 webview
의 컨텍스트 메뉴에 항목을 추가합니다. 이미지, 하이퍼링크, 페이지와 같이 컨텍스트 메뉴 추가 항목이 적용되는 객체 유형을 선택할 수 있습니다.
유형
request
게스트 페이지의 webRequest 이벤트에 대한 액세스를 제공하는 인터페이스입니다.
메서드
addContentScripts()
chrome.webviewTag.addContentScripts(
contentScriptList: [ContentScriptDetails, ...ContentScriptDetails[]],
)
webview
에 콘텐츠 스크립트 삽입 규칙을 추가합니다. webview
가 하나 이상의 규칙과 일치하는 페이지로 이동하면 연결된 스크립트가 삽입됩니다. 프로그래매틱 방식으로 규칙을 추가하거나 기존 규칙을 업데이트할 수 있습니다.
다음 예에서는 webview
에 'myRule' 및 'anotherRule'이라는 두 가지 규칙을 추가합니다.
webview.addContentScripts([
{
name: 'myRule',
matches: ['http://www.foo.com/*'],
css: { files: ['mystyles.css'] },
js: { files: ['jquery.js', 'myscript.js'] },
run_at: 'document_start'
},
{
name: 'anotherRule',
matches: ['http://www.bar.com/*'],
js: { code: "document.body.style.backgroundColor = 'red';" },
run_at: 'document_end'
}]);
...
// Navigates webview.
webview.src = 'http://www.foo.com';
스크립트를 삽입해야 할 때까지 addContentScripts 호출을 연기할 수 있습니다.
다음 예는 기존 규칙을 덮어쓰는 방법을 보여줍니다.
webview.addContentScripts([{
name: 'rule',
matches: ['http://www.foo.com/*'],
js: { files: ['scriptA.js'] },
run_at: 'document_start'}]);
// Do something.
webview.src = 'http://www.foo.com/*';
...
// Overwrite 'rule' defined before.
webview.addContentScripts([{
name: 'rule',
matches: ['http://www.bar.com/*'],
js: { files: ['scriptB.js'] },
run_at: 'document_end'}]);
webview
가 출처 (예: foo.com)로 이동하고 webview.addContentScripts
를 호출하여 'myRule'을 추가하는 경우 다음 탐색이 이루어져 스크립트가 삽입될 때까지 기다려야 합니다. 즉시 삽입하려면 executeScript
를 사용하세요.
게스트 프로세스가 비정상 종료되거나 종료되거나 webview
의 상위 요소가 변경되더라도 규칙은 보존됩니다.
자세한 내용은 콘텐츠 스크립트 문서를 참고하세요.
매개변수
-
contentScriptList
추가할 콘텐츠 스크립트의 세부정보입니다.
back()
chrome.webviewTag.back(
callback?: function,
)
가능하면 기록 항목 하나 뒤로 이동합니다. go(-1)
와 같습니다.
매개변수
-
콜백
함수 선택사항
Chrome 44 이상callback
매개변수는 다음과 같습니다.(success: boolean) => void
-
성공
부울
탐색이 성공했는지 여부를 나타냅니다.
-
canGoBack()
chrome.webviewTag.canGoBack()
기록을 통해 뒤로 탐색할 수 있는지 여부를 나타냅니다. 이 함수의 상태는 캐시되고 각 loadcommit
전에 업데이트되므로 이 함수를 호출하는 가장 좋은 위치는 loadcommit
입니다.
반환 값
-
부울
canGoForward()
chrome.webviewTag.canGoForward()
방문 기록을 통해 앞으로 이동할 수 있는지 여부를 나타냅니다. 이 함수의 상태는 캐시되고 각 loadcommit
전에 업데이트되므로 이 함수를 호출하는 가장 좋은 위치는 loadcommit
입니다.
반환 값
-
부울
captureVisibleRegion()
chrome.webviewTag.captureVisibleRegion(
options?: ImageDetails,
callback: function,
)
WebView의 표시 영역을 캡처합니다.
매개변수
-
옵션
ImageDetails 선택사항
-
콜백
함수
callback
매개변수는 다음과 같습니다.(dataUrl: string) => void
-
dataUrl
문자열
캡처된 탭의 표시 영역 이미지를 인코딩하는 데이터 URL입니다. 디스플레이를 위해 HTML 이미지 요소의 'src' 속성에 할당될 수 있습니다.
-
clearData()
chrome.webviewTag.clearData(
options: ClearDataOptions,
types: ClearDataTypeSet,
callback?: function,
)
webview
파티션의 인터넷 사용 기록을 삭제합니다.
매개변수
-
삭제할 데이터를 결정하는 옵션입니다.
-
지울 데이터 유형입니다.
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
executeScript()
chrome.webviewTag.executeScript(
details: InjectDetails,
callback?: function,
)
게스트 페이지에 JavaScript 코드를 삽입합니다.
다음 샘플 코드는 스크립트 삽입을 사용하여 게스트 페이지의 배경 색상을 빨간색으로 설정합니다.
webview.executeScript({ code: "document.body.style.backgroundColor = 'red'" });
매개변수
-
세부정보
실행할 스크립트의 세부정보입니다.
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(result?: any[]) => void
-
결과
any[] 선택사항
삽입된 모든 프레임에서 스크립트의 결과입니다.
-
find()
chrome.webviewTag.find(
searchText: string,
options?: FindOptions,
callback?: function,
)
페이지 내 검색 요청을 시작합니다.
매개변수
-
searchText
문자열
페이지에서 찾을 문자열입니다.
-
옵션
FindOptions 선택사항
찾기 요청 옵션입니다.
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(results?: FindCallbackResults) => void
-
결과
FindCallbackResults 선택사항
찾기 요청의 모든 결과를 포함합니다.
results
는 콜백 함수 본문에서 활용되지 않는 경우 생략할 수 있습니다. 예를 들어 콜백이 검색 요청이 완료되었는지 확인하는 데만 사용되는 경우입니다.
-
forward()
chrome.webviewTag.forward(
callback?: function,
)
가능하면 기록 항목 하나를 앞으로 이동합니다. go(1)
와 같습니다.
매개변수
-
콜백
함수 선택사항
Chrome 44 이상callback
매개변수는 다음과 같습니다.(success: boolean) => void
-
성공
부울
탐색이 성공했는지 여부를 나타냅니다.
-
getAudioState()
chrome.webviewTag.getAudioState(
callback: function,
)
오디오 상태를 쿼리합니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(audible: boolean) => void
-
오더블
부울
-
getProcessId()
chrome.webviewTag.getProcessId()
게스트 웹페이지의 현재 프로세스에 대한 Chrome의 내부 프로세스 ID를 반환하여 삽입자가 프로세스 종료의 영향을 받는 게스트 수를 알 수 있도록 합니다. 두 게스트가 동일한 앱에 속해 있고 동일한 스토리지 파티션 ID를 보유한 경우에만 프로세스를 공유합니다. 이 호출은 동기식이며 삽입자의 현재 프로세스 ID에 관한 캐시된 개념을 반환합니다. 프로세스 ID는 운영체제의 프로세스 ID와 다릅니다.
반환 값
-
숫자
getUserAgent()
chrome.webviewTag.getUserAgent()
webview
에서 게스트 페이지 요청에 사용하는 사용자 에이전트 문자열을 반환합니다.
반환 값
-
문자열
getZoom()
chrome.webviewTag.getZoom(
callback: function,
)
현재 확대/축소 배율을 가져옵니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(zoomFactor: number) => void
-
zoomFactor
숫자
현재 확대/축소 배율입니다.
-
getZoomMode()
chrome.webviewTag.getZoomMode(
callback: function,
)
현재 확대/축소 모드를 가져옵니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(ZoomMode: ZoomMode) => void
-
ZoomMode
webview
의 현재 확대/축소 모드입니다.
-
go()
chrome.webviewTag.go(
relativeIndex: number,
callback?: function,
)
현재 탐색을 기준으로 기록 색인을 사용하여 기록 항목으로 이동합니다. 요청된 탐색이 불가능하면 이 메서드는 효과가 없습니다.
매개변수
-
relativeIndex
숫자
webview
를 탐색해야 하는 상대 기록 색인입니다. 예를 들어 값이2
이면 가능한 경우 기록 항목을 2개 앞으로 이동하고 값이-3
이면 3개 항목 뒤로 이동합니다. -
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.(success: boolean) => void
-
성공
부울
탐색이 성공했는지 여부를 나타냅니다.
-
insertCSS()
chrome.webviewTag.insertCSS(
details: InjectDetails,
callback?: function,
)
게스트 페이지에 CSS를 삽입합니다.
매개변수
-
세부정보
삽입할 CSS의 세부정보입니다.
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
isAudioMuted()
chrome.webviewTag.isAudioMuted(
callback: function,
)
오디오가 음소거되어 있는지 쿼리합니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(muted: boolean) => void
-
음소거
부울
-
isSpatialNavigationEnabled()
chrome.webviewTag.isSpatialNavigationEnabled(
callback: function,
)
WebView에 공간 탐색이 사용 설정되어 있는지 쿼리합니다.
매개변수
-
함수
callback
매개변수는 다음과 같습니다.(enabled: boolean) => void
-
부울
-
isUserAgentOverridden()
chrome.webviewTag.isUserAgentOverridden()
webview
의 사용자 에이전트 문자열이 webviewTag.setUserAgentOverride
에 의해 재정의되었는지 여부를 나타냅니다.
loadDataWithBaseUrl()
chrome.webviewTag.loadDataWithBaseUrl(
dataUrl: string,
baseUrl: string,
virtualUrl?: string,
)
상대 링크에 사용되는 지정된 기본 URL이 포함된 데이터 URL을 로드합니다. 원하는 경우 데이터 URL 대신 사용자에게 표시할 가상 URL을 제공할 수 있습니다.
매개변수
-
dataUrl
문자열
로드할 데이터 URL입니다.
-
baseUrl
문자열
상대 링크에 사용될 기본 URL입니다.
-
virtualUrl
문자열 선택사항
사용자에게 표시될 URL (주소 표시줄)입니다.
print()
chrome.webviewTag.print()
webview
의 콘텐츠를 출력합니다. 이는 webview
자체에서 스크립트된 print 함수를 호출하는 것과 같습니다.
reload()
chrome.webviewTag.reload()
현재 최상위 페이지를 새로고침합니다.
removeContentScripts()
chrome.webviewTag.removeContentScripts(
scriptNameList?: string[],
)
webview
에서 콘텐츠 스크립트를 삭제합니다.
다음 예에서는 이전에 추가된 'myRule'을 삭제합니다.
webview.removeContentScripts(['myRule']);
다음을 호출하여 모든 규칙을 삭제할 수 있습니다.
webview.removeContentScripts();
매개변수
-
scriptNameList
string[] 선택사항
삭제할 콘텐츠 스크립트 이름 목록입니다. 목록이 비어 있으면
webview
에 추가된 모든 콘텐츠 스크립트가 삭제됩니다.
setAudioMuted()
chrome.webviewTag.setAudioMuted(
mute: boolean,
)
WebView의 오디오 음소거 상태를 설정합니다.
매개변수
-
음소거
부울
오디오 음소거 값
setSpatialNavigationEnabled()
chrome.webviewTag.setSpatialNavigationEnabled(
enabled: boolean,
)
WebView의 공간 내비게이션 상태를 설정합니다.
매개변수
-
부울
공간 탐색 상태 값입니다.
setUserAgentOverride()
chrome.webviewTag.setUserAgentOverride(
userAgent: string,
)
게스트 페이지 요청에 webview
에서 사용하는 사용자 에이전트 문자열을 재정의합니다. 재정의하면 이 재정의가 적용되는 게스트 페이지 요청의 경우 User-Agent 클라이언트 힌트 헤더 값과 navigator.userAgentData
에서 반환된 값이 비워집니다.
매개변수
-
userAgent
문자열
사용할 사용자 에이전트 문자열입니다.
setZoom()
chrome.webviewTag.setZoom(
zoomFactor: number,
callback?: function,
)
페이지의 확대/축소 배율을 변경합니다. 이 변경사항의 범위와 지속성은 WebView의 현재 확대/축소 모드에 따라 결정됩니다 (webviewTag.ZoomMode
참고).
매개변수
-
zoomFactor
숫자
새 확대/축소 배율입니다.
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
setZoomMode()
chrome.webviewTag.setZoomMode(
ZoomMode: ZoomMode,
callback?: function,
)
webview
의 확대/축소 모드를 설정합니다.
매개변수
-
ZoomMode
webview
에서 확대/축소가 처리되는 방식을 정의합니다. -
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
stop()
chrome.webviewTag.stop()
진행 중인 경우 현재 webview
탐색 로드를 중지합니다.
stopFinding()
chrome.webviewTag.stopFinding(
action?: "clear"
| "keep"
| "activate"
,
)
현재 찾기 세션을 종료하고 (모든 강조 표시 지우기) 진행 중인 모든 찾기 요청을 취소합니다.
매개변수
-
action
"clear"
| "keep"
| "activate"
선택사항찾기 세션이 종료된 후 활성 일치 항목을 어떻게 처리할지 결정합니다.
clear
는 활성 검색어의 강조 표시를 지웁니다.keep
는 활성 검색어를 강조 표시된 상태로 유지합니다.activate
는 활성 검색어를 강조 표시된 상태로 유지하고 사용자가 해당 검색어를 클릭하는 것을 시뮬레이션합니다. 기본 작업은keep
입니다.
terminate()
chrome.webviewTag.terminate()
게스트 웹페이지의 렌더러 프로세스를 강제로 종료합니다. 이는 동일한 프로세스를 공유하는 경우 현재 앱의 여러 webview
태그에 영향을 줄 수 있지만 다른 앱의 webview
태그에는 영향을 미치지 않습니다.
이벤트
close
chrome.webviewTag.close.addListener(
callback: function,
)
게스트 창이 닫으려고 할 때 실행됩니다.
다음 코드 예는 게스트가 닫으려고 할 때 webview
를 about:blank
로 이동합니다.
webview.addEventListener('close', function() {
webview.src = 'about:blank';
});
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.() => void
consolemessage
chrome.webviewTag.consolemessage.addListener(
callback: function,
)
게스트 창에서 콘솔 메시지를 로깅할 때 실행됩니다.
다음 코드 예에서는 로그 수준이나 기타 속성을 고려하지 않고 모든 로그 메시지를 삽입자의 콘솔로 전달합니다.
webview.addEventListener('consolemessage', function(e) {
console.log('Guest page logged a message: ', e.message);
});
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(level: number, message: string, line: number, sourceId: string) => void
-
레벨
숫자
-
메시지
문자열
-
내용
숫자
-
sourceId
문자열
-
contentload
chrome.webviewTag.contentload.addListener(
callback: function,
)
게스트 창에서 load
이벤트를 실행할 때, 즉 새 문서가 로드될 때 실행됩니다. 여기에는 현재 문서 내 페이지 탐색이나 비동기 리소스 로드는 포함되지 않습니다.
다음 코드 예에서는 페이지가 로드된 후 게스트의 body
요소의 기본 글꼴 크기를 수정합니다.
webview.addEventListener('contentload', function() {
webview.executeScript({ code: 'document.body.style.fontSize = "42px"' });
});
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.() => void
dialog
chrome.webviewTag.dialog.addListener(
callback: function,
)
게스트 창이 window.alert
, window.confirm
또는 window.prompt
를 통해 모달 대화상자를 열려고 할 때 실행됩니다.
이 이벤트를 처리하면 각 이벤트 리스너가 반환되거나 dialog
객체에 연결할 수 없게 될 때까지 (preventDefault()
가 호출된 경우) 게스트 프로세스가 차단됩니다.
기본 동작은 대화상자를 취소하는 것입니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(messageType: "alert"
| "confirm"
| "prompt"
, messageText: string, dialog: DialogController) => void-
messageType
'alert'
| 'confirm'
| 'prompt'
-
messageText
문자열
-
대화상자
-
exit
chrome.webviewTag.exit.addListener(
callback: function,
)
게스트 웹 콘텐츠를 렌더링하는 프로세스가 종료될 때 실행됩니다.
다음 예시 코드는 게스트 페이지가 비정상 종료될 때마다 작별 메시지를 표시합니다.
webview.addEventListener('exit', function(e) {
if (e.reason === 'crash') {
webview.src = 'data:text/plain,Goodbye, world!';
}
});
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(processID: number, reason: "normal"
| "abnormal"
| "crash"
| "kill"
) => void-
processID
숫자
-
reason
'normal'
| 'abnormal'
| 'crash'
| 'kill'
-
findupdate
chrome.webviewTag.findupdate.addListener(
callback: function,
)
활성 검색 요청에 대해 새 검색 결과를 사용할 수 있을 때 실행됩니다. 일치 항목이 발견될 때 단일 검색 요청에 대해 여러 번 발생할 수 있습니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(searchText: string, numberOfMatches: number, activeMatchOrdinal: number, selectionRect: SelectionRect, canceled: boolean, finalUpdate: string) => void
-
searchText
문자열
-
numberOfMatches
숫자
-
activeMatchOrdinal
숫자
-
selectionRect
-
취소됨
부울
-
finalUpdate
문자열
-
loadabort
chrome.webviewTag.loadabort.addListener(
callback: function,
)
최상위 로드가 커밋되지 않고 중단될 때 실행됩니다. 이벤트가 기본적으로 방지되지 않는 한 오류 메시지가 콘솔에 출력됩니다.
참고: 리소스 로드가 중단되면 마지막 loadstop
이벤트 이후 커밋된 모든 로드 (있는 경우)가 중단되더라도 loadabort
이벤트 다음에 loadstop
이벤트가 발생합니다.
참고: about URL 또는 JavaScript URL의 로드가 중단되면 loadabort
가 실행되고 webview
가 'about:blank'로 이동합니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(url: string, isTopLevel: boolean, code: number, reason: "ERR_ABORTED"
| "ERR_INVALID_URL"
| "ERR_DISALLOWED_URL_SCHEME"
| "ERR_BLOCKED_BY_CLIENT"
| "ERR_ADDRESS_UNREACHABLE"
| "ERR_EMPTY_RESPONSE"
| "ERR_FILE_NOT_FOUND"
| "ERR_UNKNOWN_URL_SCHEME"
) => void-
URL
문자열
-
isTopLevel
부울
-
코드
숫자
-
reason
"ERR_ABORTED"
| "ERR_INVALID_URL"
| "ERR_DISALLOWED_URL_SCHEME"
| "ERR_BLOCKED_BY_CLIENT"
| "ERR_ADDRESS_UNREACHABLE"
| "ERR_EMPTY_RESPONSE"
| "ERR_FILE_NOT_FOUND"
| "ERR_UNKNOWN_URL_SCHEME"
-
loadcommit
chrome.webviewTag.loadcommit.addListener(
callback: function,
)
로드가 커밋되면 실행됩니다. 여기에는 현재 문서 내 탐색과 하위 프레임 문서 수준 로드가 포함되지만 비동기 리소스 로드는 포함되지 않습니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(url: string, isTopLevel: boolean) => void
-
URL
문자열
-
isTopLevel
부울
-
loadredirect
chrome.webviewTag.loadredirect.addListener(
callback: function,
)
최상위 로드 요청이 다른 URL로 리디렉션될 때 실행됩니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(oldUrl: string, newUrl: string, isTopLevel: boolean) => void
-
oldUrl
문자열
-
newUrl
문자열
-
isTopLevel
부울
-
loadstart
chrome.webviewTag.loadstart.addListener(
callback: function,
)
로드가 시작되면 실행됩니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(url: string, isTopLevel: boolean) => void
-
URL
문자열
-
isTopLevel
부울
-
loadstop
chrome.webviewTag.loadstop.addListener(
callback: function,
)
게스트 페이지의 모든 프레임 수준 로드 (모든 하위 프레임 포함)가 완료되면 실행됩니다. 여기에는 현재 문서 내 탐색과 하위 프레임 문서 수준 로드가 포함되지만 비동기 리소스 로드는 포함되지 않습니다. 이 이벤트는 문서 수준 로드 수가 1 이상에서 0으로 전환될 때마다 실행됩니다. 예를 들어 이미 로드가 완료된 페이지 (즉, loadstop
가 이미 한 번 실행된 경우) 페이지를 로드하는 새 iframe을 만들고 iframe 페이지 로드가 완료되면 두 번째 loadstop
가 실행됩니다. 이 패턴은 광고를 로드하는 페이지에서 흔히 관찰됩니다.
참고: 커밋된 로드가 중단되면 마지막 loadstop
이벤트 이후 커밋된 모든 로드 (있는 경우)가 중단되더라도 loadabort
이벤트 뒤에 loadstop
이벤트가 결국 발생합니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.() => void
newwindow
chrome.webviewTag.newwindow.addListener(
callback: function,
)
게스트 페이지에서 새 브라우저 창을 열려고 할 때 실행됩니다.
다음 코드 예에서는 요청된 새 창마다 삽입 도구에서 새 webview
를 만들고 탐색합니다.
webview.addEventListener('newwindow', function(e) {
var newWebview = document.createElement('webview');
document.body.appendChild(newWebview);
e.window.attach(newWebview);
});
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(window: NewWindow, targetUrl: string, initialWidth: number, initialHeight: number, name: string, windowOpenDisposition: "ignore"
| "save_to_disk"
| "current_tab"
| "new_background_tab"
| "new_foreground_tab"
| "new_window"
| "new_popup"
) => void-
targetUrl
문자열
-
initialWidth
숫자
-
initialHeight
숫자
-
이름
문자열
-
windowOpenDisposition
"ignore"
| "save_to_disk"
| "current_tab"
| "new_background_tab"
| "new_foreground_tab"
| "new_window"
| "new_popup"
permissionrequest
chrome.webviewTag.permissionrequest.addListener(
callback: function,
)
게스트 페이지에서 삽입자에게 특수 권한을 요청해야 할 때 실행됩니다.
다음 코드 예시에서는 게스트 페이지에 webkitGetUserMedia
API에 대한 액세스 권한을 부여합니다. 이 예시 코드를 사용하는 앱은 자체적으로 audioCapture
또는 videoCapture
매니페스트 권한을 지정해야 합니다.
webview.addEventListener('permissionrequest', function(e) {
if (e.permission === 'media') {
e.request.allow();
}
});
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(permission: "media"
| "geolocation"
| "pointerLock"
| "download"
| "loadplugin"
| "filesystem"
| "fullscreen"
| "hid"
, request: object) => void-
권한
"media"
| "geolocation"
| "pointerLock"
| "download"
| "loadplugin"
| "filesystem"
| "fullscreen"
| "hid"
-
요청
객체
-
responsive
chrome.webviewTag.responsive.addListener(
callback: function,
)
게스트 웹 콘텐츠를 렌더링하는 프로세스가 응답하지 않다가 다시 응답할 수 있게 되었을 때 실행됩니다.
다음 코드 예에서는 webview
요소가 반응하거나 반응하지 않게 되면 페이딩합니다.
webview.style.webkitTransition = 'opacity 250ms';
webview.addEventListener('unresponsive', function() {
webview.style.opacity = '0.5';
});
webview.addEventListener('responsive', function() {
webview.style.opacity = '1';
});
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(processID: number) => void
-
processID
숫자
-
sizechanged
chrome.webviewTag.sizechanged.addListener(
callback: function,
)
삽입된 웹 콘텐츠의 크기가 autosize
를 통해 조절될 때 실행됩니다. autosize
가 사용 설정된 경우에만 실행됩니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(oldWidth: number, oldHeight: number, newWidth: number, newHeight: number) => void
-
oldWidth
숫자
-
oldHeight
숫자
-
newWidth
숫자
-
newHeight
숫자
-
unresponsive
chrome.webviewTag.unresponsive.addListener(
callback: function,
)
게스트 웹 콘텐츠를 렌더링하는 프로세스가 응답하지 않게 되었을 때 실행됩니다. 이 이벤트는 게스트가 다시 응답하기 시작하면 일치하는 응답 이벤트와 함께 한 번 생성됩니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(processID: number) => void
-
processID
숫자
-
zoomchange
chrome.webviewTag.zoomchange.addListener(
callback: function,
)
페이지의 확대/축소가 변경될 때 실행됩니다.
매개변수
-
콜백
함수
callback
매개변수는 다음과 같습니다.(oldZoomFactor: number, newZoomFactor: number) => void
-
oldZoomFactor
숫자
-
newZoomFactor
숫자
-