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.originsRemovalOptions.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);

警告

严肃地说:小心受protectedWebextension。这些是破坏性操作,如果您的用户不了解当您的扩展程序代表他们删除数据时会发生什么,他们就会写愤怒的电子邮件。

# Examples(实例)

示例页面上提供了用于 browseData API 的示例

Summary

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

    RemovalOptions

  • dataToRemove

    DataTypeSet

    要删除的数据类型集。

  • 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

    RemovalOptions

  • 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

    RemovalOptions

  • 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

    RemovalOptions

  • 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

    RemovalOptions

  • 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

    RemovalOptions

  • 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

    RemovalOptions

  • 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

    RemovalOptions

  • 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

    RemovalOptions

  • 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

    RemovalOptions

  • 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

    RemovalOptions

  • 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

    RemovalOptions

  • 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

    RemovalOptions

  • 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

    RemovalOptions

  • 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

    RemovalOptions

  • 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

        DataTypeSet

        所有类型都将出现在结果中,如果允许删除(例如,通过企业策略),则值为 true,否则为 false

      • dataToRemove

        DataTypeSet

        所有类型都将出现在结果中,如果它们都被选择删除并允许删除,则值为 true,否则为 false

      • options

        RemovalOptions

RETURNS

  • Promise<void>

    Pending

    这仅在未指定callback参数时返回 Promise,并且使用 MV3+。 Promise 中的类型与callback的第一个参数相同。

By.一粒技术服务

results matching ""

    No results matching ""