2012-11-22 16 views
5

Help! Io uso GeckoFx-Windows-10.0-0.6 per il browser e xulrunner-10.0.en-US.win32. (Visual Studio 2010 C#) tutto funziona bene. Ma ho bisogno di cancellare tutta la storia come in Firefox: Strumenti >> Opzioni >> Informativa sullagecko cancella cronologia cache e cookie

trovo biscotto come trasparente sopra Gecko.CookieManager.RemoveAll();

Come Cancella cache, file temporanei e la storia?!

E quando si inizializza Gecko.Xpcom non riesco a pulire la cartella "Gecko.Xpcom.ProfileDirectory" (dove cache e cookie) per ovvi motivi. Gecko.Xpcom.Shutdown() non aiuta


Ho trovato un modo per pulire i cookie tramite JavaScript:

var cookieManager = Components.classes["@mozilla.org/cookiemanager;1"].getService(Components.interfa‌​ces.nsICookieManager); cookieManager.removeAll();

Come destra chiamano questo JS in C#?

risposta

4

Per cancellare i cookie che sarà necessario interrogare l'interfaccia come questo:

if (MessageBox.Show("Do you want to delete cookies?", "About to delete all cookies", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes) 
    { 
     nsICookieManager CookieMan; 
     CookieMan = Xpcom.GetService<nsICookieManager>("@mozilla.org/cookiemanager;1"); 
     CookieMan = Xpcom.QueryInterface<nsICookieManager>(CookieMan); 
     CookieMan.RemoveAll(); 
    } 

Un accesso alla cache viene negato durante il runtime brobably causa della sicurezza o tali. Significato dovrai trovare un modo per cancellare queste cartelle dopo che il tuo programma si chiude ecc. crea un'altra app per gestirla.

1

Per quello che il suo valore e dal momento che ho guardato un po 'per questo, su GeckoFX 29, almeno la storia segue lo stesso schema:

nsIBrowserHistory historyMan = Xpcom.GetService<nsIBrowserHistory>(Gecko.Contracts.NavHistoryService); 
historyMan = Xpcom.QueryInterface<nsIBrowserHistory>(historyMan); 
historyMan.RemoveAllPages(); 

Per cache senza essere sicuro è il modo corretto:

// https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/imgICache 
Gecko.Cache.ImageCache.ClearCache(true); 
Gecko.Cache.ImageCache.ClearCache(false); 
// Defaults to all devices(0) - https://bitbucket.org/geckofx/geckofx-9.0/issue/7/idl-translation-bug-for-enums 
Gecko.Cache.CacheService.Clear(new CacheStoragePolicy());