Полезная информация

Общайтесь со знакомыми и друзьями в нашем сообществе в Facebook.

№215122-04-2019 21:54:26

func4ptch4
Участник
 
Группа: Members
Зарегистрирован: 03-05-2018
Сообщений: 134
UA: Firefox 66.0

Re: Обсуждение кнопок CB

kokoss попробуй спросить тута, там Dumby чаще появляется https://forum.mozilla-russia.org/viewto … 10#p768810

Отредактировано func4ptch4 (09-08-2019 03:41:20)

Отсутствует

 

№215207-05-2019 22:48:30

firepox
Участник
 
Группа: Members
Зарегистрирован: 17-11-2011
Сообщений: 336
UA: Firefox 56.0

Re: Обсуждение кнопок CB

Приветствую,
Пользуюсь этой кнопкой, все отлично работает, но хотелось бы улучшить.

скрытый текст

Выделить код

Код:

// Настройка функций кликов мыши для кнопки .............
this.onclick =e=> {
   
   if ( e.button == 0 ) {        // ЛКМ
         deleteCookiesFromHost();
        reloadAllTabsFromHost();
   
   

        }
      
   if ( e.button == 1 ) {        // СКМ 
   
           deleteCookiesFromHost();
        //BrowserReload();
   
  
        }
        
   if ( e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey && !e.metaKey ) {       // ПКМ
        e.preventDefault();  
        
        try { Services.wm.getMostRecentWindow("Browser:Cookies").close() } catch(e) {};
        var win = openDialog ("chrome://browser/content/preferences/cookies.xul", "_blank", "resizable,dialog=yes,centerscreen", null);
        addEventListener("load", ()=> {
           var host = content.location.host, arr = host.split('.');
           if ( arr.length > 2 ) host = arr[1] + "." + arr[2];
           var filter = win.document.getElementById("filter");
           filter.value = host; setTimeout(()=> filter.doCommand(), 0);
        }, false, win);
        }        
};


// Удалить куки базового домена .............
function deleteCookiesFromHost() {
   var host = Services.eTLD.getBaseDomain(gBrowser.currentURI);

   // удалить обычные куки домена
   for ( var en = Services.cookies.enumerator; en.hasMoreElements(); ) {
         var cookie = en.getNext().QueryInterface(Ci.nsICookie);
         ~cookie.host.indexOf(host.trim()) && Services.cookies.remove(cookie.host, cookie.name, cookie.path, false); 
         }
   
   // удалить куки домена из истории     
   var reversedDomain = host.split("").reverse().join("") + ".";
   Cu.import("resource://gre/modules/FileUtils.jsm");
   var file = FileUtils.getFile("ProfD", ["webappsstore.sqlite"]);
   var dbConn = Services.storage.openDatabase(file);
   dbConn.executeSimpleSQL("DELETE FROM webappsstore2 WHERE scope LIKE \"%" + reversedDomain +"%\"");
   dbConn.close();
   
   // удалить все Flash куки
   var dir = Services.dirsvc.get('Home', Ci.nsIFile);
   dir.append("Application Data");
   dir.append("Macromedia");
   dir.remove(true);
   dir.create(Ci.nsIFile.DIRECTORY_TYPE, 0777);
};


// Перезагрузить все вкладки текущего сайта .............
function reloadAllTabsFromHost() {
   var host = content.document.domain;
   
   for( var tab of gBrowser.tabs ) {  
        var tabHost = tab.linkedBrowser.contentDocument.location.host;
        if ( host == tabHost ) gBrowser.reloadTab(tab);
        }
};


this.tooltipText = "Л: Удалить куки текущего сайта\
                  \nС: Удалить куки текущего сайта + обновить все вкладки текущего сайта\
                  \nП: Управление куками для текущего сайта\
                  \nCtrl+П: CB Меню";


В папке storage\temporary и storage\default

есть папки https+++domen.ru
можно сделать, чтобы и папка домена удалялась при нажатии на кнопку.

Спасибо!

Отредактировано firepox (07-05-2019 22:52:48)

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2011 Mozilla Russia
Язык отображения форума: [Русский] [English]