javascript - 如何使用chrome浏览数据javascript api?

标签 javascript google-chrome

在 chrome 浏览器中,我想要一个 javascript 方法来删​​除索引数据库缓存和资源缓存(像 js/css/cookies 一样存储)。我找到了这个页面 https://developer.chrome.com/extensions/browsingData

此外,如果可能的话,我想删除来自某个域的文件,例如 http://myserver

但是有人知道如何使用正确的设置编写代码来执行此操作吗?

谢谢

最佳答案

Chrome JavaScript APIs可用于 Chrome 扩展。您将无法从普通网页范围访问 API 函数。

在线有各种指南 Getting started with Chrome Extensions .这里需要三个基本的东西:

  1. 应用的 list 文件。您需要指定 browsingData 权限才能使用 chrome.browsingData您找到的 API。

  2. 一个popup.html 页面,它加载了一个popup.js 脚本文件。这应该被引用为 list 文件中的默认弹出窗口(请参阅上面的指南链接)。

  3. popup.js 文件中,使用您需要的删除选项调用 chrome.browsingData.remove,作为 options对象和回调函数,它可以只是一个 console.log 来确认数据已被删除(不是即时的)。

除了上面的指南和 API 文档,还有一个 Extension Samples提供小示例扩展下载的页面。您可以将它们直接解压到 Chrome 中以开始使用。

要回答您的第二个问题,目前似乎没有删除与特定域或架构相关的浏览数据的选项。

根据评论更新

由于您没有使用 Chrome 扩展程序,因此您将不得不使用 native API 和其他技术来处理缓存资源。

对于 IndexedDB,您可以删除/清除您特定域的数据库。查看IndexedDB API了解如何做到这一点。

对于图像、css 和 JS 等资源,使用缓存清除技术。您可以在此处将时间戳或哈希附加到您所服务的资源的末尾。这将防止浏览器重复使用缓存中的相同资源。它不会清除缓存,但不会重新使用旧资源。

您也可以使用 Cache-Control header :

<meta http-equiv="cache-control" content="no-cache" />

通过将 cookie 设置为过去的日期来使 cookie 过期。

关于javascript - 如何使用chrome浏览数据javascript api?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41967600/

相关文章:

javascript - 在 javascript 中正确使用 "for...in"循环?

javascript - 单击透明图像像素

css - background-cover 在 Chrome 中添加了一个空白的 1px 行

javascript - 为什么我无法使用 Chrome 查看/调试加载了 jquery.html() 的 javascript

Javascript css下划线对应于切换的div

javascript - 如何向 cal-heatmap 中的子域添加标签?

javascript - Backbone.js 全局错误处理

android - 使用来自 Web 的 Intent 打开 Android 日历 (Chrome)

html - li 元素在 Chrome 中移动(显示 : inline-block)

javascript - Chrome 坚持保留陈旧/旧的 javascript 代码,不会重新加载最新版本