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

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

№1147617-03-2017 14:10:11

dedfor
Участник
 
Группа: Members
Зарегистрирован: 22-12-2016
Сообщений: 62
UA: Chrome 56.0

Re: Custom Buttons

bunda1 пишет

dedfor пишет:

Подскажите, пожалуйста, почему не закрывается файл через 3 сек:
Выделить код
Код:

var file = Services.dirsvc.get("ProfD", Components.interfaces.nsIFile);
file.append("1.txt");
custombuttonsUtils.writeFile(file.path,convertFromUnicode("UTF-8","Слово"));                       
file.launch();
setTimeout(function(){file.close()},3000);
Потому что не такого метода file.close() для nsIFile, тут надо наверно надо закрывать текстовой редактор как процесс.

Я думал, что мой вопросик простенький (если умеем открыть файл, то сможем и закрыть), а оказался тоже нерешаемым. Жаль.
Кстати, а что, с помощью СВ можно и процессами управлять?

Отредактировано dedfor (17-03-2017 14:13:49)

Отсутствует

 

№1147717-03-2017 14:35:50

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Custom Buttons

Добрый день. Не открывает в новой вкладке из Гугл, поправьте пожалуйста. И возможно сделать так, чтобы при закрытии открытой вкладки , был переход на вкладку откуда была открыта вкладка, а не на ближайшую левую. Подскажите, где посмотреть или как , типы открываемых ссылок в строках с "case"

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

Выделить код

Код:

// Открывать всё в новых вкладках, от 16.12.2013. ......................................
(function () {
   // открывать всё из ниже перечисленного в новых вкладках, если пустая страница открывать в текущей ....
   const where = whereToOpenLink;
   eval("whereToOpenLink = " + where.toString()
   .replace('return "current";\n}', (function() {
      switch ( e.originalTarget.id ) {
        case "bookmarksMenuPopup":
        case "goPopup":
        case "appmenu_bookmarksPopup":
        case "appmenu_historyMenupopup":
        case "personal-bookmarks":
        case "bookmarks-menu-button":
        case "historymenu_history":
        case "home-button":
        case "page-proxy-stack":
        case "go-button":
        case "urlbar-go-button":
        case "PopupAutoCompleteRichResult":
        case "searchbar":
        case "PopupAutoComplete":
        return "tab";
        
        default: return "current";  
      }
   }).toString().replace(/^.*{|}$/g, "")+"}"));
     
   // открывать закладки и историю в новых вкладках, если букмарклети или пустая страница в текущей ....
   const openNode = PlacesUIUtils._openNodeIn;
   eval("PlacesUIUtils._openNodeIn = " + openNode.toString().replace(') {', '){\n if (["about:newtab", "about:blank"].indexOf(content.location.href)!= -1 ) aWhere = "current";\n aWhere = (aWhere == "tab" || aNode.uri.startsWith("javascript:") ) ? "current" : "tab";\n')
   );

   // если JavaScript ссылка или пустая страница открывать в текущей ....
   const linkIn = openLinkIn;
   eval("openLinkIn = " + linkIn.toString().replace(';', ';;\n if ( url.startsWith("javascript:") ) where = "current";\n if (["about:newtab", "about:blank"].indexOf(content.location.href)!= -1 ) where = "current";')
   );

   // команды адресной строки открывают всё связанное с адресной строкой в новых вкладках, если alt+ в текущей ....
   const handle = gURLBar.handleCommand;
   eval("gURLBar.handleCommand = " + handle.toString().replace('aTriggeringEvent.altKey;', 'aTriggeringEvent.altKey == false;'));
   
   // 'Вставить и перейти' из адресной строки  открывает в новых вкладках ....
   addEventListener("popupshowing", function(e) {
      var menupopup = e.originalTarget;
      var pasteAndGo = menupopup.getElementsByAttribute("anonid", "paste-and-go")[0];
      if ( !pasteAndGo ) return;
      pasteAndGo.setAttribute("oncommand", "event.preventDefault(); gURLBar.select(); goDoCommand('cmd_paste'); gURLBar.handleCommand(event);")
   }, false, document.getElementById("urlbar") );
   
   // удалять изменения из внутренних функций Firefox ....
   addDestructor(function() {
      eval("whereToOpenLink = " + where);
      eval("PlacesUIUtils._openNodeIn = " + openNode);
      eval("openLinkIn = " + linkIn);
      eval("gURLBar.handleCommand = " + handle);
   });

Отсутствует

 

№1147817-03-2017 16:13:08

yup
Участник
 
Группа: Members
Зарегистрирован: 15-04-2016
Сообщений: 1090
UA: Seamonkey 2.40

Re: Custom Buttons

dedfor пишет

Я думал, что мой вопросик простенький (если умеем открыть файл, то сможем и закрыть), а оказался тоже нерешаемым.

Во многих скриптовых языках работа с файлами идёт так: каждая команда чтения или записи открывает файл, делает своё дело и сразу после этого закрывает файл. Поэтому отдельная команда закрытия им не нужна. Признаком именно такого метода работы с файлами в языке является отсутствие команды open().

Отсутствует

 

№1147917-03-2017 19:02:08

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Custom Buttons

dedfor пишет

Кстати, а что, с помощью СВ можно и процессами управлять?

Насчёт управления процессами я не знаю. Но все процессы блокнота можно закрыть так:

Выделить код

Код:

var VBScript =
       'strComputer = "."\
       \nSet objWMIService = GetObject("winmgmts:" _\
       \n& "{impersonationLevel=impersonate}!\\\\" & strComputer & "\\root\\cimv2")\
       \nSet colProcessList = objWMIService.ExecQuery _\
       \n("Select * from Win32_Process Where Name = \x27notepad.exe\x27")\
       \nFor Each objProcess in colProcessList\
       \nobjProcess.Terminate()\
       \nNext';
   
var file = Services.dirsvc.get('ProfD', Ci.nsIFile);
file.append("processTerminate.vbs");
file.exists() || custombuttonsUtils.writeFile(file.path, VBScript);
file.launch();

Вместо notepad.exe в коде можно указать и другие процессы.

Отсутствует

 

№1148017-03-2017 19:35:40

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Custom Buttons

Duche пишет

Не открывает в новой вкладке из Гугл, поправьте пожалуйста.

А как ты открываешь ссылки из Гугла?

Duche пишет

Подскажите, где посмотреть или как , типы открываемых ссылок в строках с "case"

Не понял, что за типы ссылок?

Отсутствует

 

№1148117-03-2017 21:29:44

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Custom Buttons

bunda1 пишет

ссылки из Гугла

Из поисковика Гугл . Ответы на поисковый запрос.

bunda1 пишет

что за типы ссылок?

Я могу ошибается в терминологии , это то что находится в строках после "case".

Отсутствует

 

№1148218-03-2017 05:20:30

dedfor
Участник
 
Группа: Members
Зарегистрирован: 22-12-2016
Сообщений: 62
UA: Chrome 56.0

Re: Custom Buttons

bunda1 пишет

dedfor пишет: Кстати, а что, с помощью СВ можно и процессами управлять?Насчёт управления процессами я не знаю. Но все процессы блокнота можно закрыть так:Выделить кодКод:var VBScript =
       'strComputer = "."\
       \nSet objWMIService = GetObject("winmgmts:" _\
       \n& "{impersonationLevel=impersonate}!\\\\" & strComputer & "\\root\\cimv2")\
       \nSet colProcessList = objWMIService.ExecQuery _\
       \n("Select * from Win32_Process Where Name = \x27notepad.exe\x27")\
       \nFor Each objProcess in colProcessList\
       \nobjProcess.Terminate()\
       \nNext';
   
var file = Services.dirsvc.get('ProfD', Ci.nsIFile);
file.append("processTerminate.vbs");
file.exists() || custombuttonsUtils.writeFile(file.path, VBScript);
file.launch();Вместо notepad.exe в коде можно указать и другие процессы.

Отлично срабатывает. Огромное спасибо !!!!!!!!!!!!!!!!!!! Очень полезная вещь!!

Отредактировано dedfor (18-03-2017 07:15:34)

Отсутствует

 

№1148318-03-2017 10:26:57

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Custom Buttons

Duche пишет

Из поисковика Гугл . Ответы на поисковый запрос.

Нет, я про другое. Ты хочешь что бы ссылки из Гугла по ЛКМ открывались в новой вкладке?

Отсутствует

 

№1148418-03-2017 11:00:18

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Custom Buttons

bunda1 пишет

Нет, я про другое

Я хочу чтобы после поиска в Гугл нужной мне информации , кликнув ЛКМ  ответы открывались в новой вкладке. В Яндексе кликнув ЛКМ  ответы на поисковые запросы открываются в новых вкладках , а G открывает в этой же вкладке, где и поисковик.

Отсутствует

 

№1148518-03-2017 12:14:42

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 3157
UA: Firefox 52.0

Re: Custom Buttons

Duche
Попробуйте установить поиск google.ru.

Отсутствует

 

№1148618-03-2017 12:23:25

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Custom Buttons

oleg.sgh пишет

Попробуйте установить поиск google.ru.

Я просто хочу попросить поправить эту кнопку , в части ,открывать всё в новых вкладках. Работает везде , кроме Гугл. И чтобы при закрытии открытой вкладки , был переход на вкладку откуда была открыта вкладка, а не на ближайшую левую.

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

Выделить код

Код:

// Открывать всё в новых вкладках, от 16.12.2013. ......................................
(function () {
   // открывать всё из ниже перечисленного в новых вкладках, если пустая страница открывать в текущей ....
   const where = whereToOpenLink;
   eval("whereToOpenLink = " + where.toString()
   .replace('return "current";\n}', (function() {
      switch ( e.originalTarget.id ) {
        case "bookmarksMenuPopup":
        case "goPopup":
        case "appmenu_bookmarksPopup":
        case "appmenu_historyMenupopup":
        case "personal-bookmarks":
        case "bookmarks-menu-button":
        case "historymenu_history":
        case "home-button":
        case "page-proxy-stack":
        case "go-button":
        case "urlbar-go-button":
        case "PopupAutoCompleteRichResult":
        case "searchbar":
        case "PopupAutoComplete":
        return "tab";
        
        default: return "current";  
      }
   }).toString().replace(/^.*{|}$/g, "")+"}"));
     
   // открывать закладки и историю в новых вкладках, если букмарклети или пустая страница в текущей ....
   const openNode = PlacesUIUtils._openNodeIn;
   eval("PlacesUIUtils._openNodeIn = " + openNode.toString().replace(') {', '){\n if (["about:newtab", "about:blank"].indexOf(content.location.href)!= -1 ) aWhere = "current";\n aWhere = (aWhere == "tab" || aNode.uri.startsWith("javascript:") ) ? "current" : "tab";\n')
   );

   // если JavaScript ссылка или пустая страница открывать в текущей ....
   const linkIn = openLinkIn;
   eval("openLinkIn = " + linkIn.toString().replace(';', ';;\n if ( url.startsWith("javascript:") ) where = "current";\n if (["about:newtab", "about:blank"].indexOf(content.location.href)!= -1 ) where = "current";')
   );

   // команды адресной строки открывают всё связанное с адресной строкой в новых вкладках, если alt+ в текущей ....
   const handle = gURLBar.handleCommand;
   eval("gURLBar.handleCommand = " + handle.toString().replace('aTriggeringEvent.altKey;', 'aTriggeringEvent.altKey == false;'));
   
   // 'Вставить и перейти' из адресной строки  открывает в новых вкладках ....
   addEventListener("popupshowing", function(e) {
      var menupopup = e.originalTarget;
      var pasteAndGo = menupopup.getElementsByAttribute("anonid", "paste-and-go")[0];
      if ( !pasteAndGo ) return;
      pasteAndGo.setAttribute("oncommand", "event.preventDefault(); gURLBar.select(); goDoCommand('cmd_paste'); gURLBar.handleCommand(event);")
   }, false, document.getElementById("urlbar") );
   
   // удалять изменения из внутренних функций Firefox ....
   addDestructor(function() {
      eval("whereToOpenLink = " + where);
      eval("PlacesUIUtils._openNodeIn = " + openNode);
      eval("openLinkIn = " + linkIn);
      eval("gURLBar.handleCommand = " + handle);
   });

Отсутствует

 

№1148718-03-2017 12:27:12

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 3157
UA: Firefox 52.0

Re: Custom Buttons

Duche
Я встречал что гугл, с украинским доменом например, открывает ответы на вкладке выдачи результатов. В поиске с русским доменом, ответы открываются в новой вкладке вообще без кнопок.

Отсутствует

 

№1148818-03-2017 12:35:20

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Custom Buttons

oleg.sgh пишет

вообще без кнопок.

Я отключил TAB MIX PLUS и перевёл все действия с вкладками на кнопки. Работает всё , но Гугл кочевряжится.

Отсутствует

 

№1148918-03-2017 13:35:39

dedfor
Участник
 
Группа: Members
Зарегистрирован: 22-12-2016
Сообщений: 62
UA: Chrome 56.0

Re: Custom Buttons

Duche пишет

Я встречал что гугл, с украинским доменом например, открывает ответы на вкладке выдачи результатов. В поиске с русским доменом, ответы открываются в новой вкладке вообще без кнопок..

Всё зависит от настроек: надо в нужном Гугле посмотреть Настройки-- Настройки поиска.  Стоит ли нет галочка "Открывать результаты В новом окне". По-умолчанию стоит "Открывать в том же окне". Не забываем ещё, что после чистки куков всё возвращается на "по-умолчанию".
Ну а у Яндекса такой настройки нет, он всегда открывает в новой вкладке.

Отредактировано dedfor (18-03-2017 14:04:09)

Отсутствует

 

№1149018-03-2017 15:06:32

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Custom Buttons

dedfor пишет

Настройки-- Настройки поиска.

Спасибо. Пока так. Осталось решить , чтобы при закрытии открытой вкладки , был переход на вкладку откуда была открыта вкладка, а не на ближайшую левую. Будем ждать уважаемого bunda1 ,может поможет доработать кнопку в части возвращения на вкладку откуда была открыта вкладка, а не на ближайшую левую.

Отсутствует

 

№1149121-03-2017 02:14:53

Rag
Участник
 
Группа: Members
Откуда: Краснодон
Зарегистрирован: 06-03-2017
Сообщений: 247
UA: unknown 0.0

Re: Custom Buttons

Есть ли кнопка на замену Quick Context? Если нет может кто нибудь сделает.Хотелось бы избавится от расширения.

Отсутствует

 

№1149221-03-2017 09:04:46

intersk
Участник
 
Группа: Members
Зарегистрирован: 20-06-2013
Сообщений: 104
UA: Firefox 52.0

Re: Custom Buttons

кнопку "Удалить куки текущего сайта в контекстном меню на странице" приходится каждый раз нажимать чтобы в контекстном меню отразилось эта строчка. Так задумано ли просто что-то не срабатывает?

Отсутствует

 

№1149321-03-2017 09:49:10

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Custom Buttons

intersk пишет

кнопку "Удалить куки текущего сайта в контекстном меню на странице" приходится каждый раз нажимать чтобы в контекстном меню отразилось эта строчка. Так задумано ли просто что-то не срабатывает?

А ты перемести код в вкладку Инициализации.

Отсутствует

 

№1149421-03-2017 15:50:52

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 3157
UA: Firefox 52.0

Re: Custom Buttons

Вопрос по кнопке остался нерешенным. Пытался прицепить код из кнопки.

часть кода с контекстным меню

Выделить код

Код:

var contextMenu = document.getElementById("contentAreaContextMenu"); 
var menuitem = contextMenu.insertBefore(document.createElement("menuitem"), document.getElementById("context-sep-open"));
menuitem.setAttribute("label", "Открыть в PotPlayer");      
menuitem.setAttribute("class", "menuitem-iconic");
menuitem.setAttribute("image", "moz-icon://file://" + path); 
menuitem.onclick =e=> play(gContextMenu.getLinkURL(), e.button ? "/add" : "");
addEventListener("popupshowing", ()=> {
   var youtube = gBrowser.contentDocument.location.host == "www.youtube.com";
   menuitem.hidden = !gContextMenu.onLink || !youtube;
}, false, contextMenu);
addDestructor(()=> menuitem.remove() );


Пункт меню появляется на домене но плеер не открывает ссылку из контекстного меню.

Отсутствует

 

№1149521-03-2017 19:42:19

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Custom Buttons

oleg.sgh пишет

Вопрос по кнопке остался нерешенным. Пункт меню появляется на домене но плеер не открывает ссылку из контекстного меню.

Выделить код

Код:

var hosts = ["youtube.com", "kinopoisk.ru", "fast-torrent.ru", "rutracker.org", "nnmclub.to"];

var contextMenu = document.getElementById("contentAreaContextMenu"); 
var menuitem = contextMenu.insertBefore(document.createElement("menuitem"), document.getElementById("context-sep-open"));
menuitem.setAttribute("label", "Открыть в PotPlayer");      
menuitem.setAttribute("class", "menuitem-iconic");
menuitem.setAttribute("image", "moz-icon://file://" + path); 
menuitem.onclick =e=> play(gContextMenu.getLinkURL(), e.button ? "/add" : "");
addEventListener("popupshowing", ()=> {
   menuitem.hidden = !gContextMenu.onLink || hosts.indexOf(content.document.domain.replace("www.", "")) == -1;
}, false, contextMenu);
addDestructor(()=> menuitem.remove() );


function play(link, param) {
   var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
   var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
   file.initWithPath(path);
   process.init(file);
   process.run(false, [link, param], 2);
};

Отсутствует

 

№1149621-03-2017 20:30:02

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 3157
UA: Firefox 52.0

Re: Custom Buttons

bunda1
Не совсем та кнопка но суть уловил.
Готовая кнопка "Открыть в SimpleTV"...если кому понадобится. Установить свой путь к исполняемому файлу и свои домены, на которых нужен пункт контекстного меню.

инициализация

Выделить код

Код:

var path = "X:\\SimpleTV\\tv.exe";

this.onclick =e=> {
   if ( e.button == 0 )
        play(content.location.href, "-open");
};

self.image = "moz-icon://file://" + path;
var playerName = path.split("\\").pop().replace(".exe","");
self.label = "Открыть в " + playerName;


var hosts = ["youtube.com", "kinopoisk.ru", "fast-torrent.ru", "rutracker.org", "nnmclub.to"];

var contextMenu = document.getElementById("contentAreaContextMenu"); 
var menuitem = contextMenu.insertBefore(document.createElement("menuitem"), document.getElementById("context-sep-open"));
menuitem.setAttribute("label", "Открыть в SimpleTV");      
menuitem.setAttribute("class", "menuitem-iconic");
menuitem.setAttribute("image", "moz-icon://file://" + path); 
menuitem.onclick =e=> play(gContextMenu.getLinkURL(), "-open");
addEventListener("popupshowing", ()=> {
   menuitem.hidden = !gContextMenu.onLink || hosts.indexOf(content.document.domain.replace("www.", "")) == -1;
}, false, contextMenu);
addDestructor(()=> menuitem.remove() );


function play(link, param) {
   var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
   var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
   file.initWithPath(path);
   process.init(file);
  process.run(false, [param, link], 2);
};


self.tooltipText = "Л: Открыть в SimpleTV ";


Благодарю.

Отсутствует

 

№1149722-03-2017 09:00:39

Rag
Участник
 
Группа: Members
Откуда: Краснодон
Зарегистрирован: 06-03-2017
Сообщений: 247
UA: unknown 0.0

Re: Custom Buttons

Может кто нибудь ответит. Есть ли кнопка на замену расширения Quick Context?:whiteflag:

Отсутствует

 

№1149822-03-2017 09:16:36

sonyas75
Участник
 
Группа: Members
Откуда: Ставрополь
Зарегистрирован: 22-03-2011
Сообщений: 557
UA: Firefox 52.0

Re: Custom Buttons

Rag
что хоть за расширение? ссылку на него хотя бы дай.

Отсутствует

 

№1149922-03-2017 12:11:22

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Custom Buttons

Rag пишет

Может кто нибудь ответит. Есть ли кнопка на замену расширения Quick Context?:whiteflag:

Может тут посмотри [CB]Context Search

Отсутствует

 

№1150023-03-2017 00:47:42

Rag
Участник
 
Группа: Members
Откуда: Краснодон
Зарегистрирован: 06-03-2017
Сообщений: 247
UA: unknown 0.0

Re: Custom Buttons

Это совсем не то.Context Search заменяет стандартный пункт контекстного меню страницы для поиска в текущем поисковике на новый.А Quick Context при выделении текста автоматом открывает контекстное меню в котором у меня стоят два пункта для перевода от cb кнопки google-translate.Очень удобно при переводе слова или фразы не нужно клацать пкм.Может сможете сделать такую кнопочку а чайники вроде меня будут вам при много благодарны :angel:Говорила мне мама учись сынок...

Добавлено 23-03-2017 01:08:08
Quick Context https://addons.mozilla.org/ru/firefox/addon/quick-context-2/

Отредактировано Rag (23-03-2017 01:08:08)

Отсутствует

 

Board footer

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