Chrome加载扩展时打开vs我手动重新加载扩展
Chrome loading extension when opened vs I reloading manually an extension
我想清除我的历史记录和缓存自动只有当我打开我的浏览器,但不是当我从chrome重新加载扩展://扩展。我该怎么做呢?我说的是Chrome JavaScript API。我用的是最新版本的Google Chrome, Ubuntu 16.04。
LE:我做了一个扩展,在许多事情中清除了我的历史和缓存。在清单。我有:
"background": {"scripts": ["SessionManager.js"],"persistent":true},
在SessionManager.js,我有:
function init(){
setTimeout(clean,1);
}
function clean(){
chrome.browsingData.remove({},{'appcache':true,'cache':true,'cookies':true,'downloads':true,'fileSystems':true,'formData':true,'history':true,'indexedDB':true,'localStorage':true,'serverBoundCertificates':true,'passwords':true,'pluginData':true,'serviceWorkers':true,'webSQL':true});
}
init();
你需要chrome.runtime.onStartup
事件
当你更新/手动加载一个扩展,它的onInstalled
事件触发,而不是onStartup
。另一方面,在每次浏览器启动时,您都会得到onStartup
事件。
// background script
chrome.runtime.onStartup.addListener(function() {
// Nuke things here, probably with chrome.browsingData API
});
请注意,如果Chrome继续在后台运行时,最后一个窗口关闭(例如,一个Chrome应用程序仍在运行,或一些扩展请求"background"
权限),重新打开该窗口不会注册为onStartup
。一个解决方法是使用chrome.windows.onCreated
来查看新打开的窗口是否是唯一的:
chrome.windows.onCreated.addListener(function() {
chrome.windows.getAll(function(windows) {
if (windows.length == 1) {
// Chrome was running, but in background: it now "opened"
}
});
})
相关文章:
- Chrome扩展没有't在重新加载之前考虑期权价值
- 使用CSS在页面加载时从中心向外扩展线条
- Chrome扩展无法通过清单加载外部javascript
- Google Chrome扩展程序可以检测所有脚本何时加载完成吗
- 加载Chrome扩展中的脚本错误
- 从Chrome扩展加载Places API库
- Chrome扩展:加载窗口后执行脚本
- 内容安全策略:无法在Chrome扩展中加载Google API
- 在Chrome扩展中加载外部javascript
- Firefox for Android扩展:如何在每次页面加载时触发事件
- Firefox扩展开发:如何在内容脚本中创建一个全局函数,以便其他加载的脚本文件可以访问它
- 在扩展 jQuery 之前加载外部资源
- 在 Chrome 扩展程序中通过发布请求发送网址加载
- Chrome.storage.sync 在重新加载扩展程序时会被覆盖
- 开发 Firefox 扩展,在 Dom 启动时加载扩展
- 我可以通过单击重新加载扩展在本地模拟更新过程吗?
- 如何在页面加载扩展我的Div
- Chrome加载扩展时打开vs我手动重新加载扩展
- Autodesk视图和数据加载扩展材料错误
- Firefox插件SDK加载扩展仅在重启时重新加载