2016-09-08 2 views
0

Я хочу очистить свою историю и кеш автоматически только при открытии моего браузера, но не при перезагрузке расширения из chrome: // extensions. Как мне это сделать? Я говорю об JavaScript JavaScript JavaScript. Я использую последнюю версию Google Chrome на Ubuntu 16.04.Расширение загрузки Chrome при открытии vs Я перезагружаю вручную расширение

LE: Я сделал расширение, которое среди многих вещей очищает мою историю и кеш. В manifest.json, у меня есть:

"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(); 

ответ

2

Вам нужен chrome.runtime.onStartup event.

Когда вы обновляете/вручную перезагружаете расширение, его триггеры событий onInstalled, но не onStartup. С другой стороны, при каждом запуске браузера вы получаете событие onStartup.

// background script 
chrome.runtime.onStartup.addListener(function() { 
    // Nuke things here, probably with chrome.browsingData API 
}); 

Обратите внимание, что в случае Chrome продолжает работать в фоновом режиме, когда последнее окно закрыто (например, Chrome App все еще работает, или некоторое расширение просил "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" 
    } 
    }); 
}) 
+0

Я прочитал описание и он не будет делать то, что я хочу сделать. –

+1

Это нехорошее описание того, почему это не то, что вы хотите. – Xan

+1

Ну, теперь, когда вы отредактировали свой вопрос, я не понимаю, почему мое решение не работает для вас. – Xan

Смежные вопросы