chrome.browsingData
Description
使用 chrome.browsingData
API 从用户的本地配置文件中删除浏览数据。
Permissions
browsingData
# Manifest
您必须在扩展清单中声明“browsingData”权限才能使用此 API。
{
"name": "My extension",
...
"permissions": [
"browsingData",
],
...
}
# Usage
此 API 的最简单用例是一种用于清除用户浏览数据的基于时间的机制。您的代码应提供一个时间戳,指示应删除用户浏览数据的历史日期。这个时间戳被格式化为自 Unix 纪元以来的毫秒数(可以通过 getTime
方法从 JavaScript 日期对象中检索)。
例如,要清除用户上周的所有浏览数据,您可以编写如下代码:
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
方法允许您通过一次调用删除各种类型的浏览数据,并且比调用多个更具体的方法要快得多。但是,如果您只想清除一种特定类型的浏览数据(例如 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。这是为了确保 Sync 可以继续工作,以便最终可以删除服务器上的数据。然而,更具体的 chrome.browsingData.removeCookies 可用于清除同步帐户的 cookie,在这种情况下同步将暂停。
警告
重要提示:删除浏览数据需要在后台进行大量繁重的工作,可能需要数十秒才能完成,具体取决于用户的个人资料。您应该使用回调机制让您的用户了解最新的删除状态。
# Specific Origins(具体起源)
要删除特定来源的数据或从删除中排除一组来源,您可以使用 RemovalOptions.origins
和 RemovalOptions.excludeOrigins
参数。它们只能应用于 cookie、cache和storage(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);
警告
重要提示:由于 cookie 的范围比其他类型的存储更广泛,删除源的 cookie 将删除可注册域的所有 cookie。例如,删除
https://www.example.com
的数据也会删除域为.example.com
的 cookie。
# Origin Types
将 originTypes
属性添加到 API 的选项对象允许您指定应该影响哪些类型的来源。目前,起源分为三类:
unprotectedWeb
涵盖用户不采取任何特殊操作就访问的网站的一般情况。如果您未指定originTypes
,则 API 默认从不受保护的 Web 源中删除数据。protectedWeb
涵盖那些作为托管应用程序安装的 Web 源。例如,安装 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);
警告
严肃地说:小心受
protectedWeb
和extension
。这些是破坏性操作,如果您的用户不了解当您的扩展程序代表他们删除数据时会发生什么,他们就会写愤怒的电子邮件。
# Examples(实例)
示例页面上提供了用于 browseData
API 的示例。
Summary
Types
Methods
Types
DataTypeSet
一组数据类型。缺少的数据类型被解释为 false
。
PROPERTIES
appcache
boolean optional
网站的应用程序缓存。
cache
boolean optional
浏览器的缓存。
cacheStorage
boolean optional
Chrome 72+
缓存存储
cookies
boolean optional
浏览器的 cookie。
downloads
boolean optional
浏览器的下载列表。
fileSystems
boolean optional
网站的文件系统。
formData
boolean optional
浏览器存储的表单数据。
history
boolean optional
浏览器的历史记录。
indexedDB
boolean optional
网站的 IndexedDB 数据。
localStorage
boolean optional
网站的本地存储数据。
passwords
boolean optional
存储的密码。
pluginData
boolean optional
自 Chrome 88 起已弃用
已删除对 Flash 的支持。此数据类型将被忽略。
插件的数据。
serverBoundCertificates
boolean optional
自 Chrome 76 起已弃用
已删除对服务器绑定证书的支持。此数据类型将被忽略。
服务器绑定证书。
serviceWorkers
boolean optional
服务工作者。
webSQL
boolean optional
网站的 WebSQL 数据。
RemovalOptions
确定将删除哪些数据的选项。
PROPERTIES
excludeOrigins
string[] optional
Chrome 74+
如果存在,此列表中的来源数据将被排除在删除之外。不能与
origins
一起使用。仅支持 cookie、存储和缓存。整个可注册域都排除了 Cookie。originTypes
object optional
一个对象,其属性指定应清除哪些源类型。如果未指定此对象,则默认仅清除“未受保护”的来源。在添加“protectedWeb”或“extensions”之前,请确保您确实要删除应用程序数据。
extension
boolean optional
用户已安装的扩展和打包应用程序(真的要小心!)。
protectedWeb
boolean optional
已安装为托管应用程序的网站(小心!)。
unprotectedWeb
boolean optional
普通网站。
origins
string[] optional
Chrome 74+
当存在时,仅删除此列表中来源的数据。仅支持 cookie、存储和缓存。清除整个可注册域的 Cookie。
since
number optional
删除在此日期或之后累积的数据,以自纪元以来的毫秒数表示(可通过 JavaScript
Date
对象的getTime
方法访问)。如果不存在,则默认为 0(这将删除所有浏览数据)。
Methods
remove
chrome.browsingData.remove( options: RemovalOptions, dataToRemove: DataTypeSet, callback?: function, )
Promise
清除存储在用户配置文件中的各种类型的浏览数据。
PARAMETERS
options
dataToRemove
要删除的数据类型集。
callback
function optional
The
callback
parameter looks like:() => void
RETURNS
Promise<void>
Pending
这仅在未指定
callback
参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback
的第一个参数相同。
removeAppcache
chrome.browsingData.removeAppcache( options: RemovalOptions, callback?: function, )
Promise
清除网站的应用缓存数据。
PARAMETERS
options
callback
function optional
The
callback
parameter looks like:() => void
RETURNS
Promise<void>
Pending
这仅在未指定
callback
参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback
的第一个参数相同。
removeCache
chrome.browsingData.removeCache( options: RemovalOptions, callback?: function, )
Promise
清除浏览器的缓存。
PARAMETERS
options
callback
function optional
The
callback
parameter looks like:() => void
RETURNS
Promise<void>
Pending
这仅在未指定
callback
参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback
的第一个参数相同。
removeCacheStorage
chrome.browsingData.removeCacheStorage( options: RemovalOptions, callback?: function, )
Promise
Chrome 72+
清除网站的缓存存储数据。
PARAMETERS
options
callback
function optional
The
callback
parameter looks like:() => void
RETURNS
Promise<void>
Pending
这仅在未指定
callback
参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback
的第一个参数相同。
removeCookies
chrome.browsingData.removeCookies( options: RemovalOptions, callback?: function, )
Promise
清除在特定时间范围内修改的浏览器 cookie 和服务器绑定证书。
PARAMETERS
options
callback
function optional
The
callback
parameter looks like:() => void
RETURNS
Promise<void>
Pending
这仅在未指定
callback
参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback
的第一个参数相同。
removeDownloads
chrome.browsingData.removeDownloads( options: RemovalOptions, callback?: function, )
Promise
清除浏览器的下载文件列表(不是下载的文件本身)。
PARAMETERS
options
callback
function optional
The
callback
parameter looks like:() => void
RETURNS
Promise<void>
Pending
这仅在未指定
callback
参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback
的第一个参数相同。
removeFileSystems
chrome.browsingData.removeFileSystems( options: RemovalOptions, callback?: function, )
Promise
清除网站的文件系统数据。
PARAMETERS
options
callback
function optional
The
callback
parameter looks like:() => void
RETURNS
Promise<void>
Pending
这仅在未指定
callback
参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback
的第一个参数相同。
removeFormData
chrome.browsingData.removeFormData( options: RemovalOptions, callback?: function, )
Promise
清除浏览器存储的表单数据(自动填充)。
PARAMETERS
options
callback
function optional
The
callback
parameter looks like:() => void
RETURNS
Promise<void>
Pending
这仅在未指定
callback
参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback
的第一个参数相同。
removeHistory
chrome.browsingData.removeHistory( options: RemovalOptions, callback?: function, )
Promise
清除浏览器的历史记录。
PARAMETERS
options
callback
function optional
The
callback
parameter looks like:() => void
RETURNS
Promise<void>
Pending
这仅在未指定
callback
参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback
的第一个参数相同。
removeIndexedDB
chrome.browsingData.removeIndexedDB( options: RemovalOptions, callback?: function, )
Promise
清除网站的 IndexedDB 数据。
PARAMETERS
options
callback
function optional
The
callback
parameter looks like:() => void
RETURNS
Promise<void>
Pending
这仅在未指定
callback
参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback
的第一个参数相同。
removeLocalStorage
chrome.browsingData.removeLocalStorage( options: RemovalOptions, callback?: function, )
Promise
清除网站的本地存储数据。
PARAMETERS
options
callback
function optional
The
callback
parameter looks like:() => void
RETURNS
Promise<void>
Pending
这仅在未指定
callback
参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback
的第一个参数相同。
removePasswords
chrome.browsingData.removePasswords( options: RemovalOptions, callback?: function, )
Promise
清除浏览器存储的密码。
PARAMETERS
options
callback
function optional
The
callback
parameter looks like:() => void
RETURNS
Promise<void>
Pending
这仅在未指定
callback
参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback
的第一个参数相同。
removePluginData
chrome.browsingData.removePluginData( options: RemovalOptions, callback?: function, )
Promise
自 Chrome 88 起已弃用
已删除对 Flash 的支持。此功能无效。
清除插件的数据。
PARAMETERS
options
callback
function optional
The
callback
parameter looks like:() => void
RETURNS
Promise<void>
Pending
这仅在未指定
callback
参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback
的第一个参数相同。
removeServiceWorkers
chrome.browsingData.removeServiceWorkers( options: RemovalOptions, callback?: function, )
Promise
Chrome 72+
清除网站的服务工作者。
PARAMETERS
options
callback
function optional
The
callback
parameter looks like:() => void
RETURNS
Promise<void>
Pending
这仅在未指定
callback
参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback
的第一个参数相同。
removeWebSQL
chrome.browsingData.removeWebSQL( options: RemovalOptions, callback?: function, )
Promise
清除网站的 WebSQL 数据。
PARAMETERS
options
callback
function optional
The
callback
parameter looks like:() => void
RETURNS
Promise<void>
Pending
这仅在未指定
callback
参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback
的第一个参数相同。
settings
chrome.browsingData.settings(
callback?: function,
)
Promise
报告当前在“清除浏览数据”设置 UI 中选择了哪些类型的数据。注意:此 API 中包含的某些数据类型在设置 UI 中不可用,并且某些 UI 设置控制此处列出的不止一种数据类型。
PARAMETERS
callback
function optional
The
callback
parameter looks like:(result: object) => void
result
object
dataRemovalPermitted
所有类型都将出现在结果中,如果允许删除(例如,通过企业策略),则值为
true
,否则为false
。dataToRemove
所有类型都将出现在结果中,如果它们都被选择删除并允许删除,则值为
true
,否则为false
。options
RETURNS
Promise<void>
Pending
这仅在未指定
callback
参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback
的第一个参数相同。
By.一粒技术服务