설명
네트워크를 통해 웹에서 라이브 콘텐츠를 능동적으로 로드하고 Chrome 앱에 삽입하려면 webview
태그를 사용하세요. 앱은 webview
의 모양을 제어하고, 웹 콘텐츠와 상호작용하고, 삽입된 웹페이지에서 탐색을 시작하고, 페이지 내에서 발생하는 오류 이벤트에 대응하는 등의 작업을 할 수 있습니다 (사용 참고).
권한
webview
유형
ClearDataOptions
clearData
에서 지워야 하는 데이터를 결정하는 옵션입니다.
속성
-
이후
숫자 선택사항
에포크 이후 밀리초로 표시되는 이 날짜 또는 그 이후에 누적된 데이터를 삭제합니다 (JavaScript
Date
객체의 getTime 메서드를 통해 액세스 가능). 없는 경우 기본값은0
(모든 인터넷 사용 기록 삭제)입니다.
ClearDataTypeSet
데이터 유형 집합입니다. 누락된 속성은 false
로 해석됩니다.
속성
-
앱 캐시
불리언 선택사항
웹사이트 합니다.
-
캐시
불리언 선택사항
Chrome 44 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.Chrome 43부터 브라우저의 캐시입니다. 참고: 데이터를 삭제하면 전체 캐시가 삭제됩니다. 지정한 범위로 제한되지 않습니다.
-
쿠키
불리언 선택사항
파티션의 쿠키입니다.
-
fileSystems
불리언 선택사항
웹사이트 파일 시스템입니다.
-
indexedDB
불리언 선택사항
웹사이트 IndexedDB 데이터.
-
localStorage
불리언 선택사항
웹사이트 저장할 수 있습니다
-
persistentCookies
불리언 선택사항
Chrome 58 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.파티션의 영구 쿠키입니다.
-
sessionCookies
불리언 선택사항
Chrome 58 이상 를 통해 개인정보처리방침을 정의할 수 있습니다.파티션의 세션 쿠키입니다.
-
webSQL
불리언 선택사항
웹사이트 WebSQL 데이터
ContentScriptDetails
삽입할 콘텐츠 스크립트의 세부정보입니다. 자세한 내용은 콘텐츠 스크립트 문서를 참조하세요.
속성
-
all_frames
불리언 선택사항
all_frames
가true
이면 JavaScript 또는 CSS가 현재 페이지의 모든 프레임에 삽입되어야 합니다. 기본적으로all_frames
는false
이며 JavaScript 또는 CSS는 상단 프레임에만 삽입됩니다. -
css
InjectionItems 선택사항
일치하는 페이지에 삽입할 CSS 코드 또는 CSS 파일의 목록입니다. 페이지에 DOM이 구성되거나 표시되기 전에 표시된 순서대로 삽입됩니다.
-
exclude_globs
string[] 선택사항
이 glob과 일치하는 URL을 제외하기 위해 일치 후에 적용됩니다. @excluded Greasemonkey 키워드를 에뮬레이션하기 위한 것입니다.
-
exclude_matches
string[] 선택사항
이 콘텐츠 스크립트가 삽입될 수 있는 페이지는 제외됩니다.
-
include_globs
string[] 선택사항
이 glob과 일치하는 URL만 포함하도록 일치 후에 적용됩니다. @include Greasemonkey 키워드를 에뮬레이션하기 위한 것입니다.
-
js
InjectionItems 선택사항
일치하는 페이지에 삽입할 JavaScript 코드 또는 JavaScript 파일의 목록입니다. 표시된 순서대로 삽입됩니다.
-
match_about_blank
불리언 선택사항
about:blank 및 about:srcdoc에 콘텐츠 스크립트를 삽입할지 여부입니다. 콘텐츠 스크립트는 상속 URL이 일치 필드에 선언된 패턴 중 하나와 일치하는 경우에만 페이지에 삽입됩니다. 상속 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
string | 숫자 선택사항
상위 메뉴 항목의 ID입니다. 그러면 항목이 이전에 추가된 항목의 하위 요소가 됩니다.
-
targetUrlPatterns
string[] 선택사항
documentUrlPatterns와 비슷하지만 img/audio/video 태그의
src
속성과 앵커 태그의href
를 기반으로 필터링할 수 있습니다. -
제목
문자열(선택사항)
항목에 표시될 텍스트입니다.
type
가 '구분자'가 아니면 필수입니다. 컨텍스트가 'selection'인 경우 문자열 내에서%s
를 사용하여 선택된 텍스트를 표시할 수 있습니다. 예를 들어 이 매개변수의 값이 'Translate '%s' Pig Latin" 사용자가 'cool'이라는 단어를 선택하면 컨텍스트 메뉴 항목은 'Translate 'cool'이 됩니다. Pig Latin"이라고 말합니다. -
유형
ItemType: 선택사항
메뉴 항목의 유형입니다. 기본값은 'normal'입니다. 지정하지 않을 경우
-
클릭
void 선택사항
메뉴 항목을 클릭하면 다시 호출되는 함수입니다.
onclick
함수는 다음과 같습니다.(info: OnClickData) => {...}
-
정보
클릭한 항목에 관한 정보와 클릭이 발생한 컨텍스트입니다.
-
ContextMenus
속성
-
onShow
이벤트<functionvoid>
이
webview
에 컨텍스트 메뉴를 표시하기 전에 실행됩니다.event.preventDefault()
를 호출하여 이 컨텍스트 메뉴를 사용 중지할 수 있습니다.onShow.addListener
함수는 다음과 같습니다.(callback: function) => {...}
-
콜백
함수
callback
매개변수는 다음과 같습니다.(event: object) => void
-
event
객체
-
preventDefault
void
컨텍스트 메뉴가 표시되지 않도록 하려면 이 메서드를 호출합니다.
preventDefault
함수는 다음과 같습니다.() => {...}
-
-
-
-
create
void
새 컨텍스트 메뉴 항목을 만듭니다. 생성 중에 오류가 발생하면 생성 콜백이 실행될 때까지 알지 못할 수 있습니다 (자세한 내용은
runtime.lastError
에서 확인).create
함수는 다음과 같습니다.(createProperties: object, callback?: function) => {...}
-
createProperties
객체
항목을 만드는 데 사용되는 속성
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
-
returns
string | 숫자
새로 생성된 항목의 ID입니다.
-
-
삭제
void
컨텍스트 메뉴 항목을 삭제합니다.
remove
함수는 다음과 같습니다.(menuItemId: string | number, callback?: function) => {...}
-
string | 숫자
삭제할 컨텍스트 메뉴 항목의 ID입니다.
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
-
-
모두 삭제
void
이
webview
에 추가된 모든 컨텍스트 메뉴 항목을 삭제합니다.removeAll
함수는 다음과 같습니다.(callback?: function) => {...}
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
-
-
update
void
이전에 만든 컨텍스트 메뉴 항목을 업데이트합니다.
update
함수는 다음과 같습니다.(id: string | number, updateProperties: object, callback?: function) => {...}
-
id
string | 숫자
업데이트할 상품의 ID입니다.
-
updateProperties
객체
업데이트할 속성입니다. create 함수와 동일한 값을 사용합니다.
-
콜백
함수 선택사항
callback
매개변수는 다음과 같습니다.() => void
-
ContextMenuUpdateProperties
속성
-
선택됨
불리언 선택사항
체크박스 또는 라디오 항목의 상태입니다. 선택된 경우 true, 선택 해제된 경우 false입니다. 지정된 라디오 항목 그룹에서 한 번에 하나의 라디오 항목만 선택할 수 있습니다.
-
contexts
[ContextType, ...ContextType[]] 선택사항
이 메뉴 항목이 표시될 컨텍스트 목록입니다.
-
documentUrlPatterns
string[] 선택사항
URL이 지정된 패턴 중 하나와 일치하는 문서에만 적용되도록 항목을 제한할 수 있습니다. (이는 프레임에도 적용됩니다.) 패턴 형식에 관한 자세한 내용은 패턴 일치를 참고하세요.
-
사용 설정됨
불리언 선택사항
이 컨텍스트 메뉴 항목의 사용 설정 여부입니다.
-
parentId
string | 숫자 선택사항
상위 메뉴 항목의 ID입니다. 그러면 항목이 이전에 추가된 항목의 하위 요소가 됩니다. 참고: 항목을 그 자체 하위 항목의 하위 요소로 변경할 수는 없습니다.
-
targetUrlPatterns
string[] 선택사항
documentUrlPatterns와 비슷하지만 img/audio/video 태그의
src
속성과 앵커 태그의href
를 기반으로 필터링할 수 있습니다. -
제목
문자열(선택사항)
항목에 표시될 텍스트입니다.
-
유형
ItemType: 선택사항
메뉴 항목의 유형입니다.
-
클릭
void 선택사항
메뉴 항목을 클릭하면 다시 호출되는 함수입니다.
onclick
함수는 다음과 같습니다.(info: OnClickData) => {...}
-
정보
클릭한 항목에 관한 정보와 클릭이 발생한 컨텍스트입니다.
-
ContextType
메뉴가 표시될 수 있는 다양한 컨텍스트 'all' 지정 다른 모든 컨텍스트의 조합과 동일합니다.
열거형
'모두'
'페이지'
"프레임"
"선택"
"링크"
"수정 가능"
"이미지"
"동영상"
"오디오"
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
함수는 다음과 같습니다.() => {...}
HidPermissionRequest
hid
permissionrequest
DOM 이벤트와 함께 제공되는 request
객체의 유형입니다.
속성
-
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 webRequest의 조건과 작업은 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
에서 확대/축소가 처리되는 방식을 정의합니다.
열거형
"per-origin"
확대/축소 변경사항은 확대/축소된 페이지의 원점에서 유지됩니다. 즉, 동일한 파티션에 있는 동일한 출처로 이동하는 다른 모든 WebView도 확대/축소됩니다. 또한 per-origin
확대/축소 변경사항은 원점과 함께 저장됩니다. 즉, 동일한 출처의 다른 페이지로 이동할 때 모두 동일한 확대/축소 배율로 확대됩니다.
'조회당'
확대/축소 변경사항은 이 WebView에만 적용되며 다른 WebView의 확대/축소 변경사항은 이 WebView의 확대/축소에 영향을 주지 않습니다. 또한 탐색 시 확대/축소 per-view
변경사항이 재설정됩니다. WebView를 탐색하면 항상 원본별 확대/축소 배율이 포함된 페이지가 로드됩니다 (파티션 범위 내).
"Disabled"
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입니다. 'src'에 할당할 수 있습니다. 표시할 HTML 이미지 요소의 속성입니다.
-
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
자체에서 스크립트 출력 함수를 호출하는 것과 동일합니다.
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
에서 게스트 페이지 요청에 사용하는 사용자 에이전트 문자열을 재정의합니다. 재정의하면 이 재정의가 적용되는 게스트 페이지 요청에서 사용자 에이전트 클라이언트 힌트 헤더 값과 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
는 활성 매치를 강조 표시하고 해당 일치에 대한 사용자 클릭을 시뮬레이션합니다. 기본 작업은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
"알림"
| "확인"
| "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"
| '비정상'
| "비정상 종료"
| "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
이벤트가 이어집니다.
참고: 정보 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
이벤트 (있는 경우) 이후 커밋된 모든 로드가 중단된 경우에도 loadstop
이벤트가 결국 loadabort
이벤트를 따릅니다.
매개변수
-
콜백
함수
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
'무시'
| 'save_to_disk'
| '현재_탭'
| "new_background_tab"
| 'new_foreground_tab'
| "새_창"
| '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-
권한
'미디어'
| '위치정보'
| 'pointerLock'
| "다운로드"
| 'loadplugin'
| '파일 시스템'
| '전체화면'
| "숨김"
-
요청
객체
-
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
숫자
-