説明
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
カテゴリから削除されます。これらのオリジンでデータの削除をトリガーする際は注意してください。ゲームデータが取り消し不能な形で削除されるため、ユーザーが削除される内容を把握していることを確認してください。小さな豚の家を必要以上に倒したい人はいません。extension
はchrome-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>
ユーザーのプロファイルに保存されているさまざまな種類の閲覧データを消去します。
パラメータ
-
オプション
-
dataToRemove
削除するデータ型のセット。
戻り値
-
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.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.browsingData.removePluginData(
options: RemovalOptions,
): Promise<void>
Flash のサポートは終了しました。この関数は効果がありません。
プラグインのデータを消去します。
パラメータ
-
オプション
戻り値
-
Promise<void>
Chrome 96 以降
removeServiceWorkers()
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 以降