Chrome 清除缓存扩展 - 当运行缓存未立即清除时
Chrome clear cache extension - when run cache is not cleared immediately
我写了一个非常具体的chrome扩展程序来清除浏览器缓存并重新加载页面。我这样做是因为我尝试了Google商店中几乎所有清除缓存扩展程序,但没有一个有效。
问题是我需要单击三次,直到清除缓存。知道为什么吗?
这是扩展:
manifest.json:
{
"manifest_version": 2,
"name": "Clear Cache",
"version": "1.0",
"description": "Clear Cache",
"browser_action": {
"default_title": "Clear Cache",
"default_icon": "icon.png"
},
"background": {
"scripts": ["background.js"]
},
"permissions": [ "browsingData" ]
}
背景.js:
function clearMe () {
// clears cache
var ms = (30 * 60) * 1000; // 30 minutes
var time = (new Date()).getTime() - ms;
chrome.browsingData.removeCache({"since": time});
// reloads page
chrome.tabs.getSelected(null, function(tab) {
chrome.tabs.reload(tab.id);
});
}
chrome.browserAction.onClicked.addListener(clearMe);
chrome.browsingData.removeCache
方法是异步的(即非阻塞)。这意味着,如果在调用 removeCache
后立即重新加载选项卡,则removeCache
调用仍在处理中,缓存可能还不为空。
要获得所需的行为,请等到缓存被清除,方法是将reload
调用放入回调中以removeCache
。顺便说一下,您无需调用 chrome.tabs.getSelected
即可获取当前选项卡,只需使用传入 chrome.browserAction.onClicked
事件的 tab
参数即可。
function clearMe(tab) {
var ms = (30 * 60) * 1000; // 30 minutes
var time = Date.now() - ms;
chrome.browsingData.removeCache({"since": time}, function() {
chrome.tabs.reload(tab.id);
});
}
chrome.browserAction.onClicked.addListener(clearMe);
相关文章:
- Javascript清除缓存以清除基本身份验证凭据
- 缓存JS而不更改文件名或在本地清除缓存
- GWT中带有清除缓存的硬重载
- Typeahead Bloodhoud没有't在TTL超时后清除缓存
- 使用jquery从DOM中清除缓存
- 关闭浏览器时清除缓存的代码
- 如何在启动Offline应用程序时使用javascript清除缓存
- NW.js未正确清除缓存
- 清除缓存后的 Javascript 参考 404
- Chrome 清除缓存扩展 - 当运行缓存未立即清除时
- 从Rails资源管道中清除缓存
- 为什么我的html img突然消失了,我需要清除缓存
- 从 Web 应用程序中的按钮清除缓存
- 这个jQuery代码是错误的,需要我不断清除缓存..为什么?
- 如何为JSON清除缓存
- 如何从客户端清除缓存的网站'个人电脑
- 清除缓存后,JQuery不工作
- 安全脚本清除缓存,并立即离开网站
- 如何在加载页面之前清除缓存
- 是否有一种方法来清除缓存和cookie使用javascript