chrome.browsingData

説明

chrome.browsingData API を使用して、ユーザーのローカル プロファイルから閲覧データを削除します。

権限

browsingData

この API を使用するには、拡張機能のマニフェスト"browsingData" 権限を宣言する必要があります。

{
  "name": "My extension",
  ...
  "permissions": [
    "browsingData",
  ],
  ...
}

コンセプトと使用方法

この API の最もシンプルなユースケースは、ユーザーの閲覧データをクリアするための時間ベースのメカニズムです。コードでは、ユーザーの閲覧データを削除する日付を示すタイムスタンプを指定する必要があります。このタイムスタンプは、Unix エポックからの経過ミリ秒数として書式設定されます(JavaScript の Date オブジェクトから getTime() メソッドを使用して取得できます)。

たとえば、過去 1 週間のユーザーの閲覧データをすべて消去するには、次のようなコードを記述します。

var callback = function () {
  // Do something clever here once data has been removed.
};

var millisecondsPerWeek = 1000 * 60 * 60 * 24 * 7;
var oneWeekAgo = (new Date()).getTime() - millisecondsPerWeek;
chrome.browsingData.remove({
  "since": oneWeekAgo
}, {
  "appcache": true,
  "cache": true,
  "cacheStorage": true,
  "cookies": true,
  "downloads": true,
  "fileSystems": true,
  "formData": true,
  "history": true,
  "indexedDB": true,
  "localStorage": true,
  "passwords": true,
  "serviceWorkers": true,
  "webSQL": true
}, callback);

chrome.browsingData.remove() メソッドを使用すると、さまざまな種類の閲覧データを 1 回の呼び出しで削除できます。このメソッドは、複数のより具体的なメソッドを呼び出すよりもはるかに高速です。ただし、特定の種類の閲覧データ(Cookie など)のみを消去する場合は、より詳細なメソッドを使用すると、JSON で埋め尽くされた呼び出しの代わりに、読みやすいコードを使用できます。

var callback = function () {
  // Do something clever here once data has been removed.
};

var millisecondsPerWeek = 1000 * 60 * 60 * 24 * 7;
var oneWeekAgo = (new Date()).getTime() - millisecondsPerWeek;
chrome.browsingData.removeCookies({
  "since": oneWeekAgo
}, callback);

ユーザーがデータを同期している場合、chrome.browsingData.remove() は同期アカウントの Cookie を削除した後に自動的に再構築することがあります。これは、同期が引き続き動作し、最終的にサーバー上のデータを削除できるようにするためです。ただし、より具体的な chrome.browsingData.removeCookies() を使用して同期アカウントの Cookie をクリアすることはできます。この場合、同期は一時停止されます。

特定のオリジン

特定のオリジンのデータを削除したり、削除から除外するオリジンのセットを指定したりするには、RemovalOptions.origins パラメータと RemovalOptions.excludeOrigins パラメータを使用します。Cookie、キャッシュ、ストレージ(CacheStorage、FileSystems、IndexedDB、LocalStorage、ServiceWorkers、WebSQL)にのみ適用できます。

chrome.browsingData.remove({
  "origins": ["https://www.example.com"]
}, {
  "cacheStorage": true,
  "cookies": true,
  "fileSystems": true,
  "indexedDB": true,
  "localStorage": true,
  "serviceWorkers": true,
  "webSQL": true
}, callback);

送信元の種類

API オプション オブジェクトに originTypes プロパティを追加すると、影響を受けるオリジンのタイプを指定できます。オリジンは次の 3 つのカテゴリに分類されます。

  • unprotectedWeb は、ユーザーが特別な操作を行わずにアクセスするウェブサイトの一般的なケースを対象としています。originTypes を指定しない場合、API はデフォルトで保護されていないウェブ オリジンからデータを削除します。
  • protectedWeb は、ホスト型アプリケーションとしてインストールされたウェブ オリジンを対象としています。たとえば、Angry Birds をインストールすると、オリジン https://chrome.angrybirds.com が保護され、unprotectedWeb カテゴリから削除されます。これらのオリジンでデータの削除をトリガーする際は注意してください。ゲームデータが取り消し不能な形で削除されるため、ユーザーが削除される内容を把握していることを確認してください。小さな豚の家を必要以上に倒したい人はいません。
  • extensionchrome-extensions: スキームのオリジンを対象としています。拡張機能のデータを削除する場合は、慎重に行う必要があります。

前の例を調整して、保護されたウェブサイトのデータのみを削除するには、次のようにします。

var callback = function () {
  // Do something clever here once data has been removed.
};

var millisecondsPerWeek = 1000 * 60 * 60 * 24 * 7;
var oneWeekAgo = (new Date()).getTime() - millisecondsPerWeek;
chrome.browsingData.remove({
  "since": oneWeekAgo,
  "originTypes": {
    "protectedWeb": true
  }
}, {
  "appcache": true,
  "cache": true,
  "cacheStorage": true,
  "cookies": true,
  "downloads": true,
  "fileSystems": true,
  "formData": true,
  "history": true,
  "indexedDB": true,
  "localStorage": true,
  "passwords": true,
  "serviceWorkers": true,
  "webSQL": true
}, callback);

この API を試すには、chrome-extension-samples リポジトリから browsingData API のサンプルをインストールします。

DataTypeSet

データ型のセット。データ型が欠落している場合は false と解釈されます。

プロパティ

  • appcache

    ブール値(省略可)

    ウェブサイトの appcache。

  • キャッシュ

    ブール値(省略可)

    ブラウザのキャッシュ。

  • cacheStorage

    ブール値(省略可)

    Chrome 72 以降

    キャッシュ ストレージ

  • Cookie

    ブール値(省略可)

    ブラウザの Cookie。

  • ダウンロード

    ブール値(省略可)

    ブラウザのダウンロード リスト。

  • fileSystems

    ブール値(省略可)

    ウェブサイトのファイル システム。

  • formData

    ブール値(省略可)

    ブラウザに保存されているフォームデータ。

  • 履歴

    ブール値(省略可)

    ブラウザの履歴。

  • indexedDB

    ブール値(省略可)

    ウェブサイトの IndexedDB データ。

  • localStorage

    ブール値(省略可)

    ウェブサイトのローカル ストレージ データ。

  • 含まれていた

    ブール値(省略可)

    保存されているパスワード。

  • pluginData

    ブール値(省略可)

    Chrome 88 以降で非推奨

    Flash のサポートは終了しました。このデータ型は無視されます。

    プラグインのデータ。

  • serverBoundCertificates

    ブール値(省略可)

    Chrome 76 以降で非推奨

    サーバー バウンド証明書のサポートが削除されました。このデータ型は無視されます。

    サーバー バインド証明書。

  • serviceWorkers

    ブール値(省略可)

    Service Worker。

  • webSQL

    ブール値(省略可)

    ウェブサイトの WebSQL データ。

RemovalOptions

削除するデータを正確に指定するオプション。

プロパティ

  • excludeOrigins

    string[] 省略可

    Chrome 74 以降

    このリストにオリジンが存在する場合、そのオリジンのデータは削除対象から除外されます。origins と併用することはできません。Cookie、ストレージ、キャッシュでのみサポートされます。Cookie は登録可能なドメイン全体で除外されます。

  • originTypes

    オブジェクト 省略可

    プロパティでクリアすべきオリジン タイプを指定するオブジェクト。このオブジェクトが指定されていない場合、デフォルトでは「保護されていない」オリジンのみがクリアされます。'protectedWeb' または 'extensions' を追加する前に、アプリケーション データを削除しても本当によいことを確認してください。

    • 拡張機能

      ブール値(省略可)

      ユーザーがインストールした拡張機能とパッケージ アプリケーション(十分に注意してください)。

    • protectedWeb

      ブール値(省略可)

      ホスト型アプリケーションとしてインストールされたウェブサイト(注意が必要です)。

    • unprotectedWeb

      ブール値(省略可)

      通常のウェブサイト。

  • origins

    [string, ...string[]] 省略可

    Chrome 74 以降

    このリストにオリジンが存在する場合、そのオリジンのデータのみが削除されます。Cookie、ストレージ、キャッシュでのみサポートされます。Cookie は登録可能なドメイン全体でクリアされます。

  • 開始:

    number 省略可

    この日以降に蓄積されたデータ(エポックからのミリ秒単位で表されます。JavaScript の Date オブジェクトの getTime メソッドでアクセスできます)を削除します。指定しない場合、デフォルトは 0(すべての閲覧データが削除されます)です。

メソッド

remove()

chrome.browsingData.remove(
  options: RemovalOptions,
  dataToRemove: DataTypeSet,
)
: Promise<void>

ユーザーのプロファイルに保存されているさまざまな種類の閲覧データを消去します。

パラメータ

戻り値

  • Promise<void>

    Chrome 96 以降

removeAppcache()

chrome.browsingData.removeAppcache(
  options: RemovalOptions,
)
: Promise<void>

ウェブサイトの appcache データを消去します。

パラメータ

戻り値

  • Promise<void>

    Chrome 96 以降

removeCache()

chrome.browsingData.removeCache(
  options: RemovalOptions,
)
: Promise<void>

ブラウザのキャッシュを削除します。

パラメータ

戻り値

  • Promise<void>

    Chrome 96 以降

removeCacheStorage()

Chrome 72 以降
chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
)
: Promise<void>

ウェブサイトのキャッシュ ストレージ データを消去します。

パラメータ

戻り値

  • Promise<void>

    Chrome 96 以降

removeCookies()

chrome.browsingData.removeCookies(
  options: RemovalOptions,
)
: Promise<void>

特定の期間内に変更されたブラウザの Cookie とサーバーバインド証明書を削除します。

パラメータ

戻り値

  • Promise<void>

    Chrome 96 以降

removeDownloads()

chrome.browsingData.removeDownloads(
  options: RemovalOptions,
)
: Promise<void>

ブラウザのダウンロード済みファイルのリストをクリアします(ダウンロード済みファイル自体はクリアされません)。

パラメータ

戻り値

  • Promise<void>

    Chrome 96 以降

removeFileSystems()

chrome.browsingData.removeFileSystems(
  options: RemovalOptions,
)
: Promise<void>

ウェブサイトのファイル システム データを消去します。

パラメータ

戻り値

  • Promise<void>

    Chrome 96 以降

removeFormData()

chrome.browsingData.removeFormData(
  options: RemovalOptions,
)
: Promise<void>

ブラウザに保存されているフォームデータ(自動入力)を削除します。

パラメータ

戻り値

  • Promise<void>

    Chrome 96 以降

removeHistory()

chrome.browsingData.removeHistory(
  options: RemovalOptions,
)
: Promise<void>

ブラウザの履歴を削除します。

パラメータ

戻り値

  • Promise<void>

    Chrome 96 以降

removeIndexedDB()

chrome.browsingData.removeIndexedDB(
  options: RemovalOptions,
)
: Promise<void>

ウェブサイトの IndexedDB データを消去します。

パラメータ

戻り値

  • Promise<void>

    Chrome 96 以降

removeLocalStorage()

chrome.browsingData.removeLocalStorage(
  options: RemovalOptions,
)
: Promise<void>

ウェブサイトのローカル ストレージ データを消去します。

パラメータ

戻り値

  • Promise<void>

    Chrome 96 以降

removePasswords()

chrome.browsingData.removePasswords(
  options: RemovalOptions,
)
: Promise<void>

ブラウザに保存されているパスワードを削除します。

パラメータ

戻り値

  • Promise<void>

    Chrome 96 以降

removePluginData()

Chrome 88 以降で非推奨
chrome.browsingData.removePluginData(
  options: RemovalOptions,
)
: Promise<void>

Flash のサポートは終了しました。この関数は効果がありません。

プラグインのデータを消去します。

パラメータ

戻り値

  • Promise<void>

    Chrome 96 以降

removeServiceWorkers()

Chrome 72 以降
chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
)
: Promise<void>

ウェブサイトのサービス ワーカーをクリアします。

パラメータ

戻り値

  • Promise<void>

    Chrome 96 以降

removeWebSQL()

chrome.browsingData.removeWebSQL(
  options: RemovalOptions,
)
: Promise<void>

ウェブサイトの WebSQL データを消去します。

パラメータ

戻り値

  • Promise<void>

    Chrome 96 以降

settings()

chrome.browsingData.settings(): Promise<object>

[閲覧履歴データの削除] 設定 UI で現在選択されているデータの種類をレポートします。注: この API に含まれるデータ型の一部は設定 UI で使用できません。また、UI の一部の設定では、ここに記載されている複数のデータ型が制御されます。

戻り値

  • Promise<object>

    Chrome 96 以降