--- title: tabs.captureVisibleTab() slug: Mozilla/Add-ons/WebExtensions/API/tabs/captureVisibleTab tags: - API - Add-ons - Extensions - Method - Non-standard - Reference - WebExtensions - captureVisibleTab - tabs translation_of: Mozilla/Add-ons/WebExtensions/API/tabs/captureVisibleTab ---
{{AddonSidebar()}}

指定ウィンドウの選択タブの表示領域の画像をエンコードしたデータ URI を作成します。このメソッドを使うには <all_urls> パーミッション が必要です (Chrome の場合、activeTab パーミッション があり、ユーザーが許可の操作を行えば、このメソッドを使うことができます)。

これは、Promise を返す非同期関数です。

構文

var capturing = browser.tabs.captureVisibleTab(
  windowId,               // optional integer
  options                 // optional extensionTypes.ImageDetails
)

引数

windowId{{optional_inline}}
integer 型。対象となるウィンドウ。デフォルトは現在のウィンドウ。
options{{optional_inline}}
{{WebExtAPIRef('extensionTypes.ImageDetails')}} 型。

戻り値

Promise であり、キャプチャーされたタブの表示領域の画像をエンコードしたデータ URL で fulfilled 状態にされる。このデータ URL は、HTML イメージ要素の 'src' 属性に設定することで、画像を表示できる。もし何らかのエラーが発生した場合、Promise はエラーメッセージによって rejected 状態にされる。

使用例

現在のウィンドウの選択されたタブの画像を、デフォルト設定でキャプチャーする。

function onCaptured(imageUri) {
  console.log(imageUri);
}

function onError(error) {
  console.log(`Error: ${error}`);
}

browser.browserAction.onClicked.addListener(function() {
  var capturing = browser.tabs.captureVisibleTab();
  capturing.then(onCaptured, onError);
});

{{WebExtExamples}}

ブラウザー実装状況

{{Compat("webextensions.api.tabs.captureVisibleTab")}}

謝辞

この API は Chromium の chrome.tabs API に基づいています。このドキュメントは tabs.json における Chromium のコードに基づいています。

Microsoft Edge での実装状況は Microsoft Corporation から提供されたものであり、ここでは Creative Commons Attribution 3.0 United States License に従っています。