説明
webview タグを使用すると、ネットワーク経由でウェブからライブ コンテンツを積極的に読み込み、Chrome アプリに埋め込むことができます。アプリは、webview の外観を制御し、ウェブ コンテンツを操作したり、埋め込みウェブページでナビゲーションを開始したり、その中で発生したエラー イベントに対応したりできます(使用方法をご覧ください)。
権限
webview対象
型
ClearDataOptions
clearData で消去するデータを決定するオプション。
プロパティ
-
開始:
number 省略可
この日付以降に蓄積されたデータを消去します。エポックからのミリ秒数で表されます(JavaScript の
Dateオブジェクトの getTime メソッドでアクセスできます)。指定しない場合、デフォルトの0になります(すべての閲覧データが削除されます)。
ClearDataTypeSet
データ型のセット。欠落しているプロパティは false として解釈されます。
プロパティ
-
appcache
boolean 省略可
ウェブサイトの appcache。
-
キャッシュ
boolean 省略可
Chrome 44 以降Chrome 43 以降。 ブラウザのキャッシュ。注: データを削除すると、キャッシュ全体がクリアされます。指定した範囲に限定されるわけではありません。
-
Cookie
boolean 省略可
パーティションの Cookie。
-
fileSystems
boolean 省略可
ウェブサイトのファイル システム。
-
indexedDB
boolean 省略可
ウェブサイトの IndexedDB データ。
-
localStorage
boolean 省略可
ウェブサイトのローカル ストレージ データ。
-
persistentCookies
boolean 省略可
Chrome 58 以降パーティションの永続 Cookie。
-
sessionCookies
boolean 省略可
Chrome 58 以降パーティションのセッション Cookie。
-
webSQL
boolean 省略可
ウェブサイトの WebSQL データ。
プロパティ
-
all_frames
boolean 省略可
all_framesがtrueの場合、JavaScript または CSS を現在のページのすべてのフレームに挿入する必要があることを意味します。デフォルトでは、all_framesはfalseで、JavaScript または CSS はトップフレームにのみ挿入されます。 -
css
InjectionItems 省略可
一致するページに挿入される CSS コードまたは CSS ファイルのリスト。これらは、ページの DOM が構築または表示される前に、表示される順序で挿入されます。
-
exclude_globs
string[] 省略可
一致した後に適用され、この glob に一致する URL を除外します。@exclude Greasemonkey キーワードをエミュレートすることを目的としています。
-
exclude_matches
string[] 省略可
このコンテンツ スクリプトが挿入されるページを除外します。
-
include_globs
string[] 省略可
一致後に適用され、この glob にも一致する URL のみが含まれます。@include Greasemonkey キーワードをエミュレートすることを目的としています。
-
js
InjectionItems 省略可
一致するページに挿入する JavaScript コードまたは JavaScript ファイルのリスト。これらは表示される順に挿入されます。
-
match_about_blank
boolean 省略可
about:blank と about:srcdoc にコンテンツ スクリプトを挿入するかどうか。コンテンツ スクリプトは、継承 URL が matches フィールドで宣言されたパターンのいずれかに一致する場合にのみ、ページに挿入されます。継承 URL は、フレームまたはウィンドウを作成したドキュメントの URL です。コンテンツ スクリプトをサンドボックス化されたフレームに挿入することはできません。
-
一致
string[]
このコンテンツ スクリプトを挿入するページを指定します。
-
name
文字列
挿入するコンテンツ スクリプトの名前。
-
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
プロパティ
-
ON
boolean 省略可
チェックボックスまたはラジオボタンの初期状態。選択されている場合は true、選択されていない場合は false。特定のラジオアイテムのグループで一度に選択できるラジオアイテムは 1 つだけです。
-
コンテキスト
[ContextType, ...ContextType[]] 省略可
このメニュー項目が表示されるコンテキストのリスト。指定しない場合のデフォルトは ['page'] です。
-
documentUrlPatterns
string[] 省略可
URL が指定されたパターンのいずれかに一致するドキュメントにのみ適用されるように、項目を制限できます。(フレームにも適用されます)。パターンの形式の詳細については、一致パターンをご覧ください。
-
有効
boolean 省略可
このコンテキスト メニュー項目が有効か無効か。デフォルトは
trueです。 -
id
文字列 省略可
このアイテムに割り当てる一意の ID。イベントページでは必須です。この拡張機能の別の ID と同じにすることはできません。
-
parentId
文字列 | 数値 省略可
親メニュー項目の ID。これにより、この項目は以前に追加された項目の子になります。
-
targetUrlPatterns
string[] 省略可
documentUrlPatterns と同様ですが、img / audio / video タグの
src属性とアンカータグのhrefに基づいてフィルタできます。 -
title
文字列 省略可
アイテムに表示されるテキスト。
typeが「separator」でない限り、これは必須です。コンテキストが「selection」の場合、文字列内で%sを使用して、選択したテキストを表示できます。たとえば、このパラメータの値が「Translate '%s' to Pig Latin」で、ユーザーが「cool」という単語を選択した場合、選択したコンテキスト メニュー項目は「Translate 'cool' to Pig Latin」になります。 -
type
ItemType 省略可
メニュー項目の種類。指定しない場合のデフォルトは「normal」です。
-
onclick
void optional
メニュー項目がクリックされたときにコールバックされる関数。
onclick関数は次のようになります。(info: OnClickData) => {...}
-
情報
クリックされたアイテムと、クリックが発生したコンテキストに関する情報。
-
ContextMenus
プロパティ
-
onShow
イベント<functionvoidvoid>
この
webviewでコンテキスト メニューが表示される前に呼び出されます。event.preventDefault()を呼び出すことで、このコンテキスト メニューを無効にできます。onShow.addListener関数は次のようになります。(callback: function) => {...}
-
callback
関数
callbackパラメータは次のようになります。(event: object) => void
-
イベント
オブジェクト
-
preventDefault
void
コンテキスト メニューが表示されないようにするには、これを呼び出します。
preventDefault関数は次のようになります。() => {...}
-
-
-
-
create
void
新しいコンテキスト メニュー項目を作成します。作成中にエラーが発生した場合、作成コールバックが呼び出されるまでエラーが検出されないことがあります(詳細は
runtime.lastErrorにあります)。create関数は次のようになります。(createProperties: object, callback?: function) => {...}
-
createProperties
オブジェクト
アイテムの作成に使用されるプロパティ
-
callback
function 省略可
callbackパラメータは次のようになります。() => void
-
戻り値
文字列 | 数値
新しく作成されたアイテムの ID。
-
-
削除
void
コンテキスト メニュー項目を削除します。
remove関数は次のようになります。(menuItemId: string | number, callback?: function) => {...}
-
文字列 | 数値
削除するコンテキスト メニュー項目の ID。
-
callback
function 省略可
callbackパラメータは次のようになります。() => void
-
-
removeAll
void
この
webviewに追加されたすべてのコンテキスト メニュー項目を削除します。removeAll関数は次のようになります。(callback?: function) => {...}
-
callback
function 省略可
callbackパラメータは次のようになります。() => void
-
-
update
void
以前に作成したコンテキスト メニュー項目を更新します。
update関数は次のようになります。(id: string | number, updateProperties: object, callback?: function) => {...}
-
id
文字列 | 数値
更新するアイテムの ID。
-
updateProperties
オブジェクト
更新するプロパティ。create 関数と同じ値を受け入れます。
-
callback
function 省略可
callbackパラメータは次のようになります。() => void
-
ContextMenuUpdateProperties
プロパティ
-
ON
boolean 省略可
チェックボックスまたはラジオボタンの状態。選択されている場合は true、選択されていない場合は false。特定のラジオアイテムのグループで一度に選択できるラジオアイテムは 1 つだけです。
-
コンテキスト
[ContextType, ...ContextType[]] 省略可
このメニュー項目が表示されるコンテキストのリスト。
-
documentUrlPatterns
string[] 省略可
URL が指定されたパターンのいずれかに一致するドキュメントにのみ適用されるように、項目を制限できます。(フレームにも適用されます)。パターンの形式の詳細については、一致パターンをご覧ください。
-
有効
boolean 省略可
このコンテキスト メニュー項目が有効か無効か。
-
parentId
文字列 | 数値 省略可
親メニュー項目の ID。これにより、この項目は以前に追加された項目の子になります。注: 項目をその子孫のいずれかの子に変更することはできません。
-
targetUrlPatterns
string[] 省略可
documentUrlPatterns と同様ですが、img / audio / video タグの
src属性とアンカータグのhrefに基づいてフィルタできます。 -
title
文字列 省略可
アイテムに表示されるテキスト
-
type
ItemType 省略可
メニュー項目の種類。
-
onclick
void optional
メニュー項目がクリックされたときにコールバックされる関数。
onclick関数は次のようになります。(info: OnClickData) => {...}
-
情報
クリックされたアイテムと、クリックが発生したコンテキストに関する情報。
-
ContextType
メニューが表示されるさまざまなコンテキスト。「all」を指定することは、他のすべてのコンテキストを組み合わせることと同じです。
列挙型
"all"
"page"
"frame"
"selection"
"link"
"editable"
"image"
"video"
"audio"
DialogController
dialog DOM イベントにアタッチされたインターフェース。
プロパティ
-
キャンセル
void
ダイアログを拒否します。
confirmダイアログまたはpromptダイアログで [キャンセル] をクリックするのと同じです。cancel関数は次のようになります。() => {...} -
OK
void
ダイアログを承認します。
alert、confirm、promptダイアログで [OK] をクリックするのと同じです。ok関数は次のようになります。(response?: string) => {...}
-
レスポンス
文字列 省略可
promptダイアログを受け入れるときにゲストに提供するレスポンス文字列。
-
DialogMessageType
ゲストがリクエストしたモーダル ダイアログのタイプ。
列挙型
"alert"
"confirm"
"prompt"
DownloadPermissionRequest
download permissionrequest DOM イベントに付随する request オブジェクトのタイプ。
プロパティ
-
requestMethod
文字列
ダウンロード リクエストに関連付けられている HTTP リクエスト タイプ(
GETなど)。 -
URL
文字列
リクエストされたダウンロード URL。
-
allow
void
権限のリクエストを許可します。
allow関数は次のようになります。() => {...} -
拒否
void
権限のリクエストを拒否します。
allowが呼び出されない場合、これがデフォルトの動作です。deny関数は次のようになります。() => {...}
ExitReason
終了の理由を示す文字列。
列挙型
"normal"
「異常」
"crashed"
"killed"
"oom killed"
"oom"
「起動に失敗しました」
「整合性エラー」
FileSystemPermissionRequest
filesystem permissionrequest DOM イベントに付随する request オブジェクトのタイプ。
プロパティ
-
URL
文字列
ローカル ファイル システムへのアクセスをリクエストしているフレームの URL。
-
allow
void
権限のリクエストを許可します。
allow関数は次のようになります。() => {...} -
拒否
void
権限のリクエストを拒否します。
deny関数は次のようになります。() => {...}
FindCallbackResults
検索リクエストの結果がすべて含まれます。
プロパティ
-
activeMatchOrdinal
数値
現在の一致の序数。
-
キャンセル済み
ブール値
この検索リクエストがキャンセルされたかどうかを示します。
-
numberOfMatches
数値
ページで
searchTextが一致した回数。 -
selectionRect
画面座標でアクティブな一致を囲む長方形を記述します。
FindOptions
検索リクエストのオプション。
プロパティ
-
backward
boolean 省略可
逆順で一致を検索するためのフラグ。デフォルト値は
falseです。 -
matchCase
boolean 省略可
大文字と小文字を区別して一致させるフラグ。デフォルト値は
falseです。
FullscreenPermissionRequest
fullscreen permissionrequest DOM イベントに付随する request オブジェクトのタイプ。
プロパティ
-
origin
文字列
全画面表示リクエストを開始した
webview内のフレームのオリジン。 -
allow
void
権限のリクエストを許可します。
allow関数は次のようになります。() => {...} -
拒否
void
権限のリクエストを拒否します。
deny関数は次のようになります。() => {...}
GeolocationPermissionRequest
geolocation permissionrequest DOM イベントに付随する request オブジェクトのタイプ。
プロパティ
-
URL
文字列
位置情報データへのアクセスをリクエストしているフレームの URL。
-
allow
void
権限のリクエストを許可します。
allow関数は次のようになります。() => {...} -
拒否
void
権限のリクエストを拒否します。
allowが呼び出されない場合、これがデフォルトの動作です。deny関数は次のようになります。() => {...}
プロパティ
-
URL
文字列
HID API へのアクセスをリクエストしているフレームの URL。
-
allow
void
権限のリクエストを許可します。
allow関数は次のようになります。() => {...} -
拒否
void
権限のリクエストを拒否します。
allowが呼び出されない場合、これがデフォルトの動作です。deny関数は次のようになります。() => {...}
InjectDetails
挿入するスクリプトまたは CSS の詳細。code プロパティまたは file プロパティのいずれかを設定する必要がありますが、両方を同時に設定することはできません。
プロパティ
-
コード
文字列 省略可
挿入する JavaScript または CSS コード。
警告:
codeパラメータは慎重に使用してください。誤って使用すると、アプリがクロスサイト スクリプティング攻撃にさらされる可能性があります。 -
ファイル
文字列 省略可
挿入する JavaScript または CSS ファイル。
InjectionItems
挿入アイテムのタイプ(コードまたはファイルのセット)。
プロパティ
-
コード
文字列 省略可
一致するページに挿入される JavaScript コードまたは CSS。
-
ファイル
string[] 省略可
一致するページに挿入される JavaScript ファイルまたは CSS ファイルのリスト。これらは、この配列に表示される順序で挿入されます。
LoadAbortReason
発生した中止のタイプを示す文字列。この文字列は、リリース間で下位互換性が維持されるとは限りません。その内容に基づいて解析や処理を行わないでください。また、ここに記載されていないエラーが報告されることもあります。
列挙型
"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"
LoadPluginPermissionRequest
loadplugin permissionrequest DOM イベントに付随する request オブジェクトのタイプ。
プロパティ
-
identifier
文字列
プラグインの識別子文字列。
-
name
文字列
プラグインの表示名。
-
allow
void
権限のリクエストを許可します。
denyが呼び出されない場合、これがデフォルトの動作です。allow関数は次のようになります。() => {...} -
拒否
void
権限のリクエストを拒否します。
deny関数は次のようになります。() => {...}
MediaPermissionRequest
media permissionrequest DOM イベントに付随する request オブジェクトのタイプ。
プロパティ
-
URL
文字列
ユーザー メディアへのアクセスをリクエストしているフレームの URL。
-
allow
void
権限のリクエストを許可します。
allow関数は次のようになります。() => {...} -
拒否
void
権限のリクエストを拒否します。
allowが呼び出されない場合、これがデフォルトの動作です。deny関数は次のようになります。() => {...}
NewWindow
newwindow DOM イベントにアタッチされたインターフェース。
プロパティ
-
アタッチする
void
リクエストされたターゲット ページを既存の
webview要素にアタッチします。attach関数は次のようになります。(webview: object) => {...}
-
ウェブビュー
オブジェクト
ターゲット ページをアタッチする
webview要素。
-
-
破棄
void
新しいウィンドウのリクエストをキャンセルします。
discard関数は次のようになります。() => {...}
PermissionType
リクエストされている権限のタイプ。
列挙型
"media"
"geolocation"
"pointerLock"
「ダウンロード」
"loadplugin"
"filesystem"
"fullscreen"
"hid"
PointerLockPermissionRequest
pointerLock permissionrequest DOM イベントに付随する request オブジェクトのタイプ。
プロパティ
-
lastUnlockedBySelf
ブール値
リクエスト元のフレームが、ポインタロックを保持する最新のクライアントであったかどうか。
-
URL
文字列
ポインタロックをリクエストしているフレームの URL。
-
userGesture
ブール値
ユーザー入力ジェスチャーの結果としてポインタロックがリクエストされたかどうか。
-
allow
void
権限のリクエストを許可します。
allow関数は次のようになります。() => {...} -
拒否
void
権限のリクエストを拒否します。
allowが呼び出されない場合、これがデフォルトの動作です。deny関数は次のようになります。() => {...}
SelectionRect
画面座標の長方形を記述します。
包含セマンティクスは配列に似ています。つまり、座標 (left, top) は長方形に含まれると見なされますが、座標 (left + width, top) は含まれません。
プロパティ
-
height
数値
長方形の高さ。
-
左
数値
画面の左端から長方形の左端までの距離。
-
上
数値
画面の上端から長方形の上端までの距離。
-
width
数値
長方形の幅。
StopFindingAction
検索セッションの終了後に、アクティブな一致をどうするかを決定します。clear は、アクティブな一致のハイライト表示をクリアします。keep は、アクティブな一致をハイライト表示したままにします。activate は、アクティブな一致をハイライト表示したままにし、ユーザーがその一致をクリックしたことをシミュレートします。デフォルトのアクションは keep です。
列挙型
"clear"
"keep"
"activate"
WebRequestEventInterface
ゲストページで webRequest イベントにアクセスできるようにするインターフェース。webRequest のライフサイクルと関連するコンセプトの詳細については、chrome.webRequest 拡張機能 API をご覧ください。注: chrome.webRequest.onActionIgnored イベントは、ウェブビューではサポートされていません。
拡張機能の 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.* からインスタンス化する必要があります。次のサンプルコードは、ウェブビュー myWebview で "example.com" へのすべてのリクエストを宣言的にブロックします。
var rule = {
conditions: [
new chrome.webViewRequest.RequestMatcher({ url: { hostSuffix: 'example.com' } })
],
actions: [ new chrome.webViewRequest.CancelRequest() ]
};
myWebview.request.onRequest.addRules([rule]);
WindowOpenDisposition
新しいウィンドウのリクエストされた配置。
列挙型
"ignore"
"save_to_disk"
"current_tab"
"new_background_tab"
"new_foreground_tab"
"new_window"
"new_popup"
ZoomMode
webview でのズームの処理方法を定義します。
列挙型
"per-origin"
ズームの変更は、ズームされたページのオリジンで保持されます。つまり、同じオリジンに移動した同じパーティション内の他のすべてのウェブビューもズームされます。さらに、per-origin ズームの変更はオリジンとともに保存されます。つまり、同じオリジンの他のページに移動すると、すべて同じズーム係数でズームされます。
"per-view"
ズームの変更はこの WebView でのみ有効になり、他の WebView でのズームの変更はこの WebView のズームに影響しません。また、per-view のズーム変更はナビゲーション時にリセットされます。ウェブビューをナビゲートすると、常にオリジンごとのズーム係数(パーティションのスコープ内)でページが読み込まれます。
"disabled"
WebView でのすべてのズームを無効にします。コンテンツはデフォルトのズームレベルに戻り、ズームの変更はすべて無視されます。
プロパティ
contentWindow
ゲストページにメッセージを投稿するために使用できるオブジェクト参照。
タイプ
contextMenus
Chrome の ContextMenus API に似ていますが、ブラウザではなく webview に適用されます。webview.contextMenus API を使用して、webview のコンテキスト メニューに項目を追加します。コンテキスト メニューの追加項目を適用するオブジェクトの種類(画像、ハイパーリンク、ページなど)を選択できます。
タイプ
request
ゲストページで webRequest イベントへのアクセスを提供するインターフェース。
メソッド
addContentScripts()
chrome.webviewTag.addContentScripts(
contentScriptList: [ContentScriptDetails, ...ContentScriptDetails[]],
): void
コンテンツ スクリプト挿入ルールを webview に追加します。webview が 1 つ以上のルールに一致するページに移動すると、関連するスクリプトが挿入されます。ルールをプログラムで追加したり、既存のルールを更新したりできます。
次の例では、webview に 2 つのルール(「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,
): void
可能であれば、履歴エントリを 1 つ戻ります。go(-1) と同じです。
パラメータ
-
callback
function 省略可
Chrome 44 以降callbackパラメータは次のようになります。(success: boolean) => void
-
成功
ブール値
ナビゲーションが成功したかどうかを示します。
-
canGoBack()
chrome.webviewTag.canGoBack(): boolean
履歴をさかのぼって移動できるかどうかを示します。この関数の状態はキャッシュに保存され、各 loadcommit の前に更新されるため、loadcommit で呼び出すのが最適です。
戻り値
-
ブール値
canGoForward()
chrome.webviewTag.canGoForward(): boolean
履歴を前方に移動できるかどうかを示します。この関数の状態はキャッシュに保存され、各 loadcommit の前に更新されるため、loadcommit で呼び出すのが最適です。
戻り値
-
ブール値
captureVisibleRegion()
chrome.webviewTag.captureVisibleRegion(
options?: ImageDetails,
callback: function,
): void
ウェブビューの表示領域をキャプチャします。
パラメータ
-
オプション
ImageDetails 省略可
-
callback
関数
callbackパラメータは次のようになります。(dataUrl: string) => void
-
dataUrl
文字列
キャプチャされたタブの表示領域の画像をエンコードするデータ URL。表示用に HTML Image 要素の「src」プロパティに割り当てることができます。
-
clearData()
chrome.webviewTag.clearData(
options: ClearDataOptions,
types: ClearDataTypeSet,
callback?: function,
): void
webview パーティションの閲覧データを消去します。
パラメータ
-
オプション
消去するデータを指定するオプション。
-
タイプ
消去するデータの種類。
-
callback
function 省略可
callbackパラメータは次のようになります。() => void
executeScript()
chrome.webviewTag.executeScript(
details: InjectDetails,
callback?: function,
): void
JavaScript コードをゲストページに挿入します。
次のサンプルコードでは、スクリプト インジェクションを使用して、ゲストページの背景色を赤に設定しています。
webview.executeScript({ code: "document.body.style.backgroundColor = 'red'" });
パラメータ
-
実行するスクリプトの詳細。
-
callback
function 省略可
callbackパラメータは次のようになります。(result?: any[]) => void
-
件の結果
any[] 省略可
挿入されたすべてのフレームでのスクリプトの結果。
-
find()
chrome.webviewTag.find(
searchText: string,
options?: FindOptions,
callback?: function,
): void
ページ内検索リクエストを開始します。
パラメータ
-
searchText
文字列
ページ内で検索する文字列。
-
オプション
FindOptions 省略可
検索リクエストのオプション。
-
callback
function 省略可
callbackパラメータは次のようになります。(results?: FindCallbackResults) => void
-
結果
検索リクエストの結果がすべて含まれます。
resultsは、コールバック関数の本文で使用されていない場合は省略できます。たとえば、コールバックが検索リクエストの完了を識別するためにのみ使用されている場合です。
-
forward()
chrome.webviewTag.forward(
callback?: function,
): void
可能であれば、履歴エントリを 1 つ進めます。go(1) と同じです。
パラメータ
-
callback
function 省略可
Chrome 44 以降callbackパラメータは次のようになります。(success: boolean) => void
-
成功
ブール値
ナビゲーションが成功したかどうかを示します。
-
getAudioState()
chrome.webviewTag.getAudioState(
callback: function,
): void
音声の状態をクエリします。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。(audible: boolean) => void
-
Audible
ブール値
-
getProcessId()
chrome.webviewTag.getProcessId(): number
ゲスト ウェブページの現在のプロセスに対応する Chrome の内部プロセス ID を返します。これにより、エンベッダーは、プロセスを終了した場合に影響を受けるゲストの数を把握できます。2 つのゲストがプロセスを共有するのは、同じアプリに属し、同じストレージ パーティション ID を持つ場合のみです。この呼び出しは同期的であり、現在のプロセス ID のエンベッダーのキャッシュに保存された概念を返します。プロセス ID は、オペレーティング システムのプロセス ID とは異なります。
戻り値
-
数値
getUserAgent()
chrome.webviewTag.getUserAgent(): string
ゲストページのリクエストに webview が使用するユーザー エージェント文字列を返します。
戻り値
-
文字列
getZoom()
chrome.webviewTag.getZoom(
callback: function,
): void
現在のズーム倍率を取得します。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。(zoomFactor: number) => void
-
zoomFactor
数値
現在のズーム係数。
-
getZoomMode()
chrome.webviewTag.getZoomMode(
callback: function,
): void
現在のズームモードを取得します。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。(ZoomMode: ZoomMode) => void
-
ZoomMode
webviewの現在のズームモード。
-
go()
chrome.webviewTag.go(
relativeIndex: number,
callback?: function,
): void
現在のナビゲーションを基準とする履歴インデックスを使用して、履歴エントリに移動します。リクエストされたナビゲーションが不可能な場合、このメソッドは効果がありません。
パラメータ
-
relativeIndex
数値
webviewの移動先となる相対履歴インデックス。たとえば、値が2の場合は、可能であれば履歴エントリを 2 つ進みます。値が-3の場合は、3 つ戻ります。 -
callback
function 省略可
callbackパラメータは次のようになります。(success: boolean) => void
-
成功
ブール値
ナビゲーションが成功したかどうかを示します。
-
insertCSS()
chrome.webviewTag.insertCSS(
details: InjectDetails,
callback?: function,
): void
CSS をゲストページに挿入します。
パラメータ
-
挿入する CSS の詳細。
-
callback
function 省略可
callbackパラメータは次のようになります。() => void
isAudioMuted()
chrome.webviewTag.isAudioMuted(
callback: function,
): void
音声がミュートされているかどうかをクエリします。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。(muted: boolean) => void
-
ミュート中
ブール値
-
isSpatialNavigationEnabled()
chrome.webviewTag.isSpatialNavigationEnabled(
callback: function,
): void
WebView で空間ナビゲーションが有効になっているかどうかをクエリします。
パラメータ
-
関数
callbackパラメータは次のようになります。(enabled: boolean) => void
-
ブール値
-
isUserAgentOverridden()
chrome.webviewTag.isUserAgentOverridden(): void
webview のユーザー エージェント文字列が webviewTag.setUserAgentOverride によってオーバーライドされているかどうかを示します。
loadDataWithBaseUrl()
chrome.webviewTag.loadDataWithBaseUrl(
dataUrl: string,
baseUrl: string,
virtualUrl?: string,
): void
相対リンクに使用される指定されたベース URL を使用して、データ URL を読み込みます。必要に応じて、データ URL の代わりにユーザーに表示される仮想 URL を指定できます。
パラメータ
-
dataUrl
文字列
読み込むデータ URL。
-
baseUrl
文字列
相対リンクに使用されるベース URL。
-
virtualUrl
文字列 省略可
ユーザーに(アドレスバーに)表示される URL。
print()
chrome.webviewTag.print(): void
webview の内容を出力します。これは、webview 自体からスクリプト化された print 関数を呼び出すのと同じです。
reload()
chrome.webviewTag.reload(): void
現在の最上位ページを再読み込みします。
removeContentScripts()
chrome.webviewTag.removeContentScripts(
scriptNameList?: string[],
): void
webview からコンテンツ スクリプトを削除します。
次の例では、以前に追加された「myRule」を削除します。
webview.removeContentScripts(['myRule']);
すべてのルールを削除するには、次のコマンドを呼び出します。
webview.removeContentScripts();
パラメータ
-
scriptNameList
string[] 省略可
削除するコンテンツ スクリプトの名前のリスト。リストが空の場合、
webviewに追加されたすべてのコンテンツ スクリプトが削除されます。
setAudioMuted()
chrome.webviewTag.setAudioMuted(
mute: boolean,
): void
ウェブビューの音声ミュート状態を設定します。
パラメータ
-
ミュート
ブール値
音声をミュートする値
setSpatialNavigationEnabled()
chrome.webviewTag.setSpatialNavigationEnabled(
enabled: boolean,
): void
WebView の空間ナビゲーションの状態を設定します。
パラメータ
-
ブール値
空間ナビゲーションの状態値。
setUserAgentOverride()
chrome.webviewTag.setUserAgentOverride(
userAgent: string,
): void
ゲストページのリクエストに webview が使用するユーザー エージェント文字列をオーバーライドします。オーバーライドすると、このオーバーライドが適用されるゲストページのリクエストで、User-Agent Client Hint ヘッダーの値と navigator.userAgentData から返される値が空になります。
パラメータ
-
userAgent
文字列
使用するユーザー エージェント文字列。
setZoom()
chrome.webviewTag.setZoom(
zoomFactor: number,
callback?: function,
): void
ページのズーム倍率を変更します。この変更の範囲と永続性は、WebView の現在のズームモードによって決まります(webviewTag.ZoomMode を参照)。
パラメータ
-
zoomFactor
数値
新しいズーム倍率。
-
callback
function 省略可
callbackパラメータは次のようになります。() => void
setZoomMode()
chrome.webviewTag.setZoomMode(
ZoomMode: ZoomMode,
callback?: function,
): void
webview のズームモードを設定します。
パラメータ
-
ZoomMode
webviewでのズームの処理方法を定義します。 -
callback
function 省略可
callbackパラメータは次のようになります。() => void
stop()
chrome.webviewTag.stop(): void
現在の webview ナビゲーションが進行中の場合は、読み込みを停止します。
stopFinding()
chrome.webviewTag.stopFinding(
action?: StopFindingAction,
): void
現在の検索セッションを終了し(すべてのハイライト表示をクリア)、進行中のすべての検索リクエストをキャンセルします。
パラメータ
-
アクション
検索セッションの終了後に、アクティブな一致をどうするかを決定します。
clearは、アクティブな一致のハイライト表示をクリアします。keepは、アクティブな一致をハイライト表示したままにします。activateは、アクティブな一致をハイライト表示したままにし、ユーザーがその一致をクリックしたことをシミュレートします。デフォルトのアクションはkeepです。
terminate()
chrome.webviewTag.terminate(): void
ゲスト ウェブページのレンダラ プロセスを強制終了します。この設定は、現在のアプリ内の複数の webview タグが同じプロセスを共有している場合に、それらのタグに影響する可能性がありますが、他のアプリの webview タグには影響しません。
イベント
close
chrome.webviewTag.close.addListener(
callback: function,
)
ゲスト ウィンドウが自身を閉じようとしたときに呼び出されます。
次のサンプルコードでは、ゲストが自身を閉じようとしたときに、webview を about:blank に移動します。
webview.addEventListener('close', function() {
webview.src = 'about:blank';
});
パラメータ
-
callback
関数
callbackパラメータは次のようになります。() => void
consolemessage
chrome.webviewTag.consolemessage.addListener(
callback: function,
)
ゲスト ウィンドウがコンソール メッセージをログに記録したときに呼び出されます。
次のサンプルコードは、ログレベルやその他のプロパティに関係なく、すべてのログ メッセージを埋め込みツールのコンソールに転送します。
webview.addEventListener('consolemessage', function(e) {
console.log('Guest page logged a message: ', e.message);
});
パラメータ
-
callback
関数
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
関数
callbackパラメータは次のようになります。() => void
dialog
chrome.webviewTag.dialog.addListener(
callback: function,
)
ゲスト ウィンドウが window.alert、window.confirm、window.prompt を介してモーダル ダイアログを開こうとしたときに呼び出されます。
このイベントを処理すると、各イベント リスナーが戻るか、dialog オブジェクトに到達できなくなるまで(preventDefault() が呼び出された場合)、ゲストプロセスがブロックされます。
デフォルトの動作は、ダイアログをキャンセルすることです。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。(messageType: DialogMessageType, messageText: string, dialog: DialogController) => void
-
messageType
-
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
関数
callbackパラメータは次のようになります。(details: object) => void
-
詳細
オブジェクト
-
processID
数値
終了したプロセスの Chrome の内部 ID。
-
reason
終了の理由を示す文字列。
-
-
findupdate
chrome.webviewTag.findupdate.addListener(
callback: function,
)
アクティブな検索リクエストで新しい検索結果が利用可能になったときに呼び出されます。一致が見つかると、1 つの検索リクエストに対してこの処理が複数回行われることがあります。
パラメータ
-
callback
関数
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,
)
コミットせずに最上位の読み込みが中止されたときに発生します。イベントがデフォルトで防止されていない限り、エラー メッセージがコンソールに出力されます。
注: リソースの読み込みが中止されると、loadabort イベントの後に loadstop イベントが続きます。これは、最後の loadstop イベント(存在する場合)以降に commit されたすべての読み込みが中止された場合でも同様です。
注: about URL または JavaScript URL の読み込みが中止されると、loadabort が呼び出され、webview が「about:blank」に移動します。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。(url: string, isTopLevel: boolean, code: number, reason: LoadAbortReason) => void
-
URL
文字列
-
isTopLevel
ブール値
-
コード
数値
-
reason
-
loadcommit
chrome.webviewTag.loadcommit.addListener(
callback: function,
)
読み込みが commit されたときに発生します。これには、現在のドキュメント内のナビゲーションとサブフレームのドキュメント レベルの読み込みが含まれますが、非同期リソースの読み込みは含まれません。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。(url: string, isTopLevel: boolean) => void
-
URL
文字列
-
isTopLevel
ブール値
-
loadredirect
chrome.webviewTag.loadredirect.addListener(
callback: function,
)
トップレベルの読み込みリクエストが別の URL にリダイレクトされたときに呼び出されます。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。(oldUrl: string, newUrl: string, isTopLevel: boolean) => void
-
oldUrl
文字列
-
newUrl
文字列
-
isTopLevel
ブール値
-
loadstart
chrome.webviewTag.loadstart.addListener(
callback: function,
)
読み込みが開始されたときに発生します。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。(url: string, isTopLevel: boolean) => void
-
URL
文字列
-
isTopLevel
ブール値
-
loadstop
chrome.webviewTag.loadstop.addListener(
callback: function,
)
ゲストページ(すべてのサブフレームを含む)のすべてのフレームレベルの読み込みが完了したときに呼び出されます。これには、現在のドキュメント内のナビゲーションとサブフレームのドキュメント レベルの読み込みが含まれますが、非同期リソースの読み込みは含まれません。このイベントは、ドキュメント レベルの読み込み数が 1(またはそれ以上)から 0 に移行するたびに発生します。たとえば、すでに読み込みが完了しているページ(loadstop がすでに 1 回呼び出されている)が、ページを読み込む新しい iframe を作成し、iframe ページの読み込みが完了すると 2 回目の loadstop が呼び出されます。このパターンは、広告を読み込むページでよく見られます。
注: commit された読み込みが中止されると、最後の loadstop イベント(存在する場合)以降に commit されたすべての読み込みが中止された場合でも、loadabort イベントの後に loadstop イベントが続きます。
パラメータ
-
callback
関数
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
関数
callbackパラメータは次のようになります。(window: NewWindow, targetUrl: string, initialWidth: number, initialHeight: number, name: string, windowOpenDisposition: WindowOpenDisposition) => void
-
targetUrl
文字列
-
initialWidth
数値
-
initialHeight
数値
-
name
文字列
-
windowOpenDisposition
permissionrequest
chrome.webviewTag.permissionrequest.addListener(
callback: function,
)
ゲストページが埋め込み元に特別な権限をリクエストする必要がある場合に呼び出されます。
次のサンプルコードは、ゲストページに webkitGetUserMedia API へのアクセス権を付与します。このサンプルコードを使用するアプリは、audioCapture または videoCapture のマニフェスト権限を独自に指定する必要があります。
webview.addEventListener('permissionrequest', function(e) {
if (e.permission === 'media') {
e.request.allow();
}
});
パラメータ
-
callback
関数
callbackパラメータは次のようになります。(permission: PermissionType, request: object) => void
-
リクエスト
オブジェクト
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
関数
callbackパラメータは次のようになります。(processID: number) => void
-
processID
数値
-
sizechanged
chrome.webviewTag.sizechanged.addListener(
callback: function,
)
埋め込みウェブ コンテンツが autosize を介してサイズ変更されたときに呼び出されます。autosize が有効になっている場合にのみ呼び出されます。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。(oldWidth: number, oldHeight: number, newWidth: number, newHeight: number) => void
-
oldWidth
数値
-
oldHeight
数値
-
newWidth
数値
-
newHeight
数値
-
unresponsive
chrome.webviewTag.unresponsive.addListener(
callback: function,
)
ゲストのウェブ コンテンツをレンダリングするプロセスが応答しなくなったときに呼び出されます。ゲストが再び応答を開始すると、このイベントは、一致する応答イベントとともに 1 回生成されます。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。(processID: number) => void
-
processID
数値
-
zoomchange
chrome.webviewTag.zoomchange.addListener(
callback: function,
)
ページのズームが変更されたときに呼び出されます。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。(oldZoomFactor: number, newZoomFactor: number) => void
-
oldZoomFactor
数値
-
newZoomFactor
数値
-