gpt4 book ai didi

javascript - 删除特定域的本地存储

转载 作者:行者123 更新时间:2023-11-29 16:12:09 26 4
gpt4 key购买 nike

我正在做一个扩展,虽然我可以删除指定域的所有 cookie,但我不能删除它的本地存储。

例如,如果我访问了 The Telegraph 的网站,它会在我的机器上保留一个本地存储:

Origin: http://www.telegraph.co.uk/

Size on disk: 6.0 KB

我尝试使用存储 api 中的 remove() 方法:

StorageArea.remove("http://www.telegraph.co.uk/");

我收到以下错误:

Error in event handler for browserAction.onClicked: StorageArea is not defined
Stack trace: ReferenceError: StorageArea is not defined

我怎样才能以编程方式完成这项工作?

最佳答案

chrome.storagelocalStorage 相比是完全不同的 API .前者仅适用于扩展程序,而后者特定于网站的域。

如果要修改或清除特定域的 localStorage 中的数据,则只需插入 content script在调用 localStorage.clear() 的页面中。

chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(tab.id, {code: 'localStorage.clear()'});
});

如果要清除不同来源的 localStorage,则必须从选项卡或框架中的来源加载页面,并在其中插入内容脚本。例如:

// background.js
var f = document.createElement('iframe');
f.sandbox = ''; // Sandboxed = disable scripts, etc.
f.src = 'http://example.com/#someuniqueid';
f.onloadend = function() {
f.remove();
};

// content script, declared in manifest file (read the documentation)
if (location.hash === '#someuniqueid') {
localStorage.clear();
}

关于javascript - 删除特定域的本地存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24990128/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com