説明
chrome.browsingData
API を使用して、ユーザーのローカル プロファイルから閲覧データを削除します。
権限
browsingData
マニフェスト
この API を使用するには、拡張機能のマニフェストで「browsingData」権限を宣言する必要があります。
{
"name": "My extension",
...
"permissions": [
"browsingData",
],
...
}
用途
この API の最もシンプルなユースケースは、時間ベースのメカニズムでユーザーの閲覧データを消去することです。コードには、ユーザーの閲覧データが削除されるまでの過去の日付を示すタイムスタンプを指定する必要があります。このタイムスタンプは、Unix エポックからのミリ秒数で示されます(getTime
メソッドを使用して JavaScript Date
オブジェクトから取得できます)。
たとえば、先週のユーザーの閲覧データをすべて削除するには、次のようにコードを記述します。
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 回の呼び出しで削除できます。より具体的な複数のメソッドを呼び出すよりもはるかに高速です。ただし、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 を消去した後に、その Cookie を自動的に再構築する場合があります。これは、同期が引き続き機能し、最終的にサーバー上のデータを削除できるようにするためです。ただし、より具体的な chrome.browsingData.removeCookies
を使用して同期アカウントの Cookie を消去すると、同期は一時停止されます。
特定のオリジン
特定のオリジンのデータを削除したり、オリジンのセットを削除対象から除外したりするには、RemovalOptions.origins
パラメータと RemovalOptions.excludeOrigins
パラメータを使用します。Cookie、キャッシュ、ストレージ(CacheStorage、FileSystems、IndexedDB、LocalStorage、ServiceWorker、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
ブール値(省略可)
ウェブサイトのアプリ キャッシュ。
-
cache
ブール値(省略可)
ブラウザのキャッシュ。
-
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
ブール値(省略可)
通常のウェブサイト。
-
-
オリジン
string[] 省略可
Chrome 74 以降存在する場合、このリストにあるオリジンのデータのみが削除されます。Cookie、ストレージ、キャッシュについてのみサポートされています。登録可能なドメイン全体の Cookie が消去されます。
-
開始:
number(省略可)
この日付以降に蓄積されたデータ(エポックからのミリ秒数で表されます)を削除します(JavaScript の
Date
オブジェクトのgetTime
メソッドでアクセスできます)。指定されていない場合のデフォルトは 0 です(すべての閲覧データが削除されます)。
Methods
remove()
chrome.browsingData.remove(
options: RemovalOptions,
dataToRemove: DataTypeSet,
callback?: function,
)
ユーザーのプロフィールに保存されているさまざまな種類の閲覧データを消去します。
パラメータ
-
オプション
-
dataToRemove
削除するデータ型のセット。
-
callback
関数(省略可)
callback
パラメータは次のようになります。()=>void
戻り値
-
Promise<void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
removeAppcache()
chrome.browsingData.removeAppcache(
options: RemovalOptions,
callback?: function,
)
ウェブサイトのアプリ キャッシュ データを消去します。
パラメータ
-
オプション
-
callback
関数(省略可)
callback
パラメータは次のようになります。()=>void
戻り値
-
Promise<void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
removeCache()
chrome.browsingData.removeCache(
options: RemovalOptions,
callback?: function,
)
ブラウザのキャッシュをクリアします。
パラメータ
-
オプション
-
callback
関数(省略可)
callback
パラメータは次のようになります。()=>void
戻り値
-
Promise<void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
removeCacheStorage()
chrome.browsingData.removeCacheStorage(
options: RemovalOptions,
callback?: function,
)
ウェブサイトのキャッシュ ストレージ データを削除します。
パラメータ
-
オプション
-
callback
関数(省略可)
callback
パラメータは次のようになります。()=>void
戻り値
-
Promise<void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
removeCookies()
chrome.browsingData.removeCookies(
options: RemovalOptions,
callback?: function,
)
特定の期間内に変更されたブラウザの Cookie とサーバーにバインドされた証明書を消去します。
パラメータ
-
オプション
-
callback
関数(省略可)
callback
パラメータは次のようになります。()=>void
戻り値
-
Promise<void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
removeDownloads()
chrome.browsingData.removeDownloads(
options: RemovalOptions,
callback?: function,
)
ブラウザがダウンロードしたファイルのリストを消去します(ダウンロードしたファイル自体は消去しません)。
パラメータ
-
オプション
-
callback
関数(省略可)
callback
パラメータは次のようになります。()=>void
戻り値
-
Promise<void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
removeFileSystems()
chrome.browsingData.removeFileSystems(
options: RemovalOptions,
callback?: function,
)
ウェブサイトのファイル システム データを消去します。
パラメータ
-
オプション
-
callback
関数(省略可)
callback
パラメータは次のようになります。()=>void
戻り値
-
Promise<void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
removeFormData()
chrome.browsingData.removeFormData(
options: RemovalOptions,
callback?: function,
)
ブラウザに保存されているフォームデータを消去(自動入力)します。
パラメータ
-
オプション
-
callback
関数(省略可)
callback
パラメータは次のようになります。()=>void
戻り値
-
Promise<void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
removeHistory()
chrome.browsingData.removeHistory(
options: RemovalOptions,
callback?: function,
)
ブラウザの履歴を消去します。
パラメータ
-
オプション
-
callback
関数(省略可)
callback
パラメータは次のようになります。()=>void
戻り値
-
Promise<void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
removeIndexedDB()
chrome.browsingData.removeIndexedDB(
options: RemovalOptions,
callback?: function,
)
ウェブサイトの IndexedDB データを削除します。
パラメータ
-
オプション
-
callback
関数(省略可)
callback
パラメータは次のようになります。()=>void
戻り値
-
Promise<void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
removeLocalStorage()
chrome.browsingData.removeLocalStorage(
options: RemovalOptions,
callback?: function,
)
ウェブサイトのローカル ストレージ データを消去します。
パラメータ
-
オプション
-
callback
関数(省略可)
callback
パラメータは次のようになります。()=>void
戻り値
-
Promise<void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
removePasswords()
chrome.browsingData.removePasswords(
options: RemovalOptions,
callback?: function,
)
ブラウザに保存されているパスワードを消去します。
パラメータ
-
オプション
-
callback
関数(省略可)
callback
パラメータは次のようになります。()=>void
戻り値
-
Promise<void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
removePluginData()
chrome.browsingData.removePluginData(
options: RemovalOptions,
callback?: function,
)
Flash のサポートは終了しました。この関数は効果がありません。
プラグインのデータを削除します。
パラメータ
-
オプション
-
callback
関数(省略可)
callback
パラメータは次のようになります。()=>void
戻り値
-
Promise<void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
removeServiceWorkers()
chrome.browsingData.removeServiceWorkers(
options: RemovalOptions,
callback?: function,
)
ウェブサイトの Service Worker を消去します。
パラメータ
-
オプション
-
callback
関数(省略可)
callback
パラメータは次のようになります。()=>void
戻り値
-
Promise<void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
removeWebSQL()
chrome.browsingData.removeWebSQL(
options: RemovalOptions,
callback?: function,
)
ウェブサイトの WebSQL データを消去します。
パラメータ
-
オプション
-
callback
関数(省略可)
callback
パラメータは次のようになります。()=>void
戻り値
-
Promise<void>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。
settings()
chrome.browsingData.settings(
callback?: function,
)
[閲覧履歴データの消去] 設定 UI で現在選択されているデータの種類をレポートします。注: この API に含まれるデータタイプの一部は、設定 UI では使用できません。また、一部の UI 設定では、ここにリストされている複数のデータタイプを制御できます。
パラメータ
-
callback
関数(省略可)
callback
パラメータは次のようになります。(result: object)=>void
-
件の結果
オブジェクト
-
dataRemovalPermitted
結果にはすべてのタイプが含まれ、削除が(企業ポリシーなどで)許可されている場合は
true
、許可されていない場合はfalse
の値を持ちます。 -
dataToRemove
結果にはすべてのタイプが含まれ、削除と許可の両方が選択されている場合は
true
になり、それ以外の場合はfalse
になります。 -
オプション
-
-
戻り値
-
Promise<object>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされます。他のプラットフォームではコールバックを使用する必要があります。