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

Будьте в курсе последних изменений в мире Mozilla, следя за нашим микроблогом в Twitter.

№872608-08-2015 23:32:40

villa7
Участник
 
Группа: Members
Зарегистрирован: 21-07-2012
Сообщений: 2235
UA: Firefox 39.0

Re: Custom Buttons

voqabuhe
Может у вас через Stylish, у меня через файл css не хочет.

Добавлено 08-08-2015 23:37:15
turbot
Ага, спасибо, и в адресной убралось. Всё, лучше уже не надо, бросайте это дело:)

Отредактировано villa7 (08-08-2015 23:37:15)


Лучше спросить у знающих - чем лезть не зная.

Отсутствует

 

№872708-08-2015 23:41:09

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 42.0

Re: Custom Buttons

voqabuhe
Тут недопонимание вышло у villa7 и bunda1. villa7 нужно убрать не подсказки сочетаний (.menu-accel clipboard.png, а подчеркивание у названий пунктов (span.accesskey clipboard2.png). И вот с этим - стилями никак (вроде) не справиться.

Отсутствует

 

№872809-08-2015 00:14:47

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 42.0

Re: Custom Buttons

villa7 пишет

Может у вас через Stylish, у меня через файл css не хочет.

Да Stylish
turbot
С подчёркиванием №8713 я понял, но вот здесь №8721 подумал, что он согласился убрать пункты целиком.

villa7 пишет

убрать бы только Панель меню и Панель закладок, и всё.

Отредактировано voqabuhe (09-08-2015 02:11:34)

Отсутствует

 

№872909-08-2015 01:27:45

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

Re: Custom Buttons

oleg.sgh пишет

bunda1 - не успел  добавить...еще хотелка...по пути...:P
сделать два пункта копировать ссылку на изображение в HTML  (<img src="ссылка на картинку" >)   и в BBCode

Выделить код

Код:

(contextMenu =>{ 
   var copyimage = document.getElementById("context-copyimage").nextSibling;

   var menuitem1 = contextMenu.insertBefore(document.createElement("menuitem"), copyimage);
   menuitem1.setAttribute("label", "Копировать ссылку на изображение в HTML");
   menuitem1.onclick =()=> gClipboard.write('<a href="' + gContextMenu.imageURL + '"></a>');

   var menuitem2 = contextMenu.insertBefore(document.createElement("menuitem"), copyimage);
   menuitem2.setAttribute("label", "Копировать ссылку на изображение в BBCode");
   menuitem2.onclick =()=> gClipboard.write('[url]' + gContextMenu.imageURL + '[/url]');

   addDestructor(()=> { 
      contextMenu.removeChild(menuitem1); contextMenu.removeChild(menuitem2);
   });   

   addEventListener("popupshowing", ()=> {
      menuitem1.hidden = menuitem2.hidden = !gContextMenu.onImage; 
   }, true, contextMenu);
  
})(document.getElementById("contentAreaContextMenu"));

Отредактировано bunda1 (09-08-2015 01:44:34)

Отсутствует

 

№873009-08-2015 06:30:23

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

Re: Custom Buttons

bunda1
Все работает. Благодарю.

Отсутствует

 

№873110-08-2015 05:24:41

fokanik
Участник
 
Группа: Members
Зарегистрирован: 05-02-2014
Сообщений: 268
UA: Seamonkey 2.33

Re: Custom Buttons

fokanik пишет

Да там что-то геморно с этими сепараторами, в одном меню два сепаратора появляется, а в другом нормально все.

скрытый текст
e84377a61ff1.jpg
6de5bc765d4c.jpg

Выделить код

Код:

if ( this.hasAttribute("initialized") ) return;

var dlm = "data:image/ico;base64,AAABAAEAGDAAAAEAIACICQAAFgAAACgAAAAYAAAAMAAAAAEAIAAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFZUAAEAAAAfAAEAHx03AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYlkAAQAVACs+LwCtAAMAgAAAAC0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAGoNDAL3/oCCzPjwAtgAAAIAAGwAWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAig0YAtf+vL7T/7lCx/8oxpyU0AL4AAAByAC0AHZh6BQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEFHAAhTNACe/5ogzP/YQb//xyj//9Q05/+9Ja4BHQC5AAAAYwAqABYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALzoABjwsAIP9hBDe/9tBxf/JLPv/xyz//8cs///WMu7tnhOvAA0AswAAAFcKMQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiNwANHSAAd/OACuP/40bE/8cq///HLP//yS3//8kt///HLf//0THv85ENxAAVALsAAABLACIADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGGABb7XgA2P/JKtj/xyL//8ks/f/JLf3/yS3//8kt/f/HKv3/xyD//8Qf7sJzAMsACAChAAAAOzxGAAYAAAAAAAAAAAAAAABBUVgCABUtAgAVKgIbLTwBAAAAAGNGABnrgBfw//+6+///t/7/9Zj//8Yk/f/HLP3/yi3//84t/f/KJf3//8H///+3////v/eiSwDeAAoAVAANAA8AAAAAYmVgBAYdMSwACidXAA0oXgANKF4ACihQAAAnIpVMC4C1WAChokYAnpU/AKmVNwDL+mIA//9oAP//agD//38A//+LAP+iPADvfTwArcReAJvtehCiXUYAUAAAAAAAAAAAVlhRSEREObQ/QzzYPkQ82kNGP9svNjTGAAUifAAAJUUAACAkAAUtQAAaVH8DKlHJekk6/3c/L/18Pij/pUEG/d4/AP9eDQDhAAAATgAAAAAAAAAAAAAAAAAAAABqa2ACUE48l5WQd7qwrJXzqKKG/7Snhv8KEhr8RmJ96xM5XsIAIk6uGlGO2lGO0fesydj/ssnG/6PJ2f+Ewvj/VJPg/zpgmP8kQVj6ABISnAASIiIAAAAAAAAAAAAAAABta14dYFlJpbW1pZQ6OjL4hIh9/qKjmv2Am6L/eK/u/id12/9vre3/kdT//8fm8/+w1vD9m8fw/aPE3P29ysf/WJ3w/Sd9/f9Olv/fOXe/4wAOMl4AAAAAAAAAAAAAAABvb2Aob2pUqKqjibJ1cFv/lY53/X2Bd/211N7/NoHr/UGQ//2V1v//js7//YTH//93vP/9eLz//nq9//19wf//UZb7/S967f5Jk//uRojc0gAgR4UFGzQIAAAAAAAAAABycGMud3BZr6qjidyspY3/r6eI/Wt3cP211OX/N4Tt/Wut//14uf//d7f//Xy6//99vf/9gb///YTB//2Jx///Zqj//Shw3v4sdeD5OX/bvidiosIFGjIOAAAAAAAAAAB4d2gwgHpjw62njeqloIb/raKG/2p1b//H7fv/Knzt/2+0//96uv//fLr//329//+Ewf//iMb//4nH//+Oyv//b7D//zF87f8+ifb/TJP2xSpmra4AGDQRAAAAAAAAAAB/fWoxgHhi1Kylje6looj/qKCD/X2JhP3Z/f//MoDu/Xy6//19vf//gL///YbH//+Lx//9iMf//YnG//2W0f//fLf//SVw4f06g+n/RInmxR9Wm5YAGjceAAAAAAAAAACAfWs1fXhi2Kylie6loIT/pZ6B/ZiekP3o////W6D2/YbH//2Nyv//kM7//ZrT//+d1P/9oNj//aXZ//2v4///c7D//SRw2/1Wnfr/Zaz/xDJ1xLEAGDQaAAAAAAAAAACAfW0qb2hT1qijjveqpY3/rKOI/3x/cP/r////TJX1/3y9//+V0///ltH//5XR//+d0///otn//6fb//+q3v//Y6P9/z+L8/9Qlvj/RIvpxCBbo5UBGzcYAAAAAAAAAACDf2sea2hW0Lq/t/+/xsH/vb21/ZabkP3O6ej/b8z//XXO//288///xPj//cf6//+v5v/9quD//azj//216f//Zar//TqD4/5MkPD4UJXwsCdlsKABGzcWAAAAAAAAAACBgW0HVFFBnrW5sP/Hzsn/xszH/rWwnf6vydH/hLXw/xNZsv99ufv/uvP//ub////m///90////c////3t////i+n//Xze//4/htz3LGu11iVgpZ8AFS8EAAAAAAAAAAAAAAAAdXBeZXNrVPOBfGD3gHpe9ouAZvgyMiTpf5aex1Z3kDwva6qrS4jM9dT///9vo9v/NGun/2J/kf9TeJH/SW2R/0tqhv9oc33/VJjY/iVdllEAAAAAAAAAAAAAAAAAAAAAhoZ3FHByZlhrcmtia3NvYmt1cmR6iY1EAAAAAAAAAACQtdYFMWWeY1SY2L1JcqX/x6Jr/v/6ff3/4Vj//+FG/f/YKP96RADmAExqd2uVxA0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH+w2xQyQ0xo/4EA9/aNIP74hhX/+oYQ/f+EDf+GRgCDA0s/AwAAAAAAAAAAAAAAAAAAAAD//D////g////4H///8Af//+AH///AA///gAH//4AA/+EAAP+AAAH/gAAP/wAAB/8AAAf/AAAD/wAAA/8AAAP/AAAD/wAAA/8AAAP/AAAD/wAAA/+AAAf/gYAH///gD/8=";
var smp = "data:image/ico;base64,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";
var vlc = "data:image/ico;base64,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";
var smt = "data:image/ico;base64,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";
var ace = "data:image/x-icon;base64,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";
var idm = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADH0lEQVQ4y6WTXWxTdQDFz/3fe9u1XXspW7exrzLdRqAd28DgJC4mRiJP8CCYaCIPJBCDQAgQsxjefBR8UxNjNCFq1BmC0WQ+ACHMICwzAZbB1prZlraj7e29u73fH/97ffKFGGLieT3nd95+wP8M86zym28/n/K51Fst6u4r6bFVVfzr1qczJz8B4Dzz4MS500z/YOvC+Mhr73Zsor1xIY2q2sJsPgOjrjc46d4JuVa+8tMXH/jkaXhu7lTIoNU33OjNCxRzvZ4/D7TfRXxkFMl0D9CRSTX4l77zqHscALh/wB++vyQI9u3DpLR6kE8Wp0msGZKZJia2HUB3UoMUFNEdUlH2JwEmzEpuz8dju16+wQHA7I9vjybFXy8nbhRevLdO/NDrFWLbBDVzCTWXRdzbixUlgcf17TBkC5bagG3ZEcsj73Dvf3Zkc5xdvRK/Ws88ymH56xgrZXUyTSmBZrhYXK7gJjOJx/I4ygUTaqMCQ1qDIZcQ+H6WUzr/PNNp1jN6A96HYvOY4nQdSpai05KfAPg+5HNd2PC64bkPYekSbLUGQ1qD2cyBWKLJaXF6lEsE4AZYOkLTlcUnG/MrK31neRqCut+GIDfBV78EKybAKDZg5sFqOUSoCMUgC2zozexHwz1NZuuYx+3hhElD56/mJDKhqEGv0rUA89UylB1LUJ57AC+9CBrJQTeacDS+QrXQOTYzcfL8taGlMNfhYdtObev0nuDAQJ/v5pdrKbFNAxUDsKMM/HYb1mYP+rAP+3nA6w0wNDBUZVPMrm4BB6d+76jielJGPunHmB1eSpgC8kUL9jpFsBGA8Rm4d3zYP1P411nRu0YuNm5Ll9lG5f4fgrVzS//GsSypv8BU9S3ItdIQjd1w1gFNK4IWAji/+PCWAoRrkXk/z7xnrFuzju22WEodQ6zc/U0rFwqCOtnTXnwlFX24l217MEYduSw3uYVosAYQi2htWuSiWXJmHN1dBuA+7QIfDic7Oa5tOBrr63IdUeaHjMHWcP0r9lH4flBmZkzFuoUAxn8xlAHAjO/L9m/aHb9EODIIgPzb+G9gS4vcLJ9fugAAAABJRU5ErkJggg==";

//Open("Download IDM", "c:\\Program Files\\Internet Download Manager\\IDMan.exe", "/d", idm);
Open("Download Master", "c:\\PortableApps\\PortableApps\\TotalCmd\\Portable\\Download Master Portable\\dmaster.exe", "", dlm);
Open("SMPlayer", "C:\\Program Files\\SMPlayer\\smplayer.exe", "-add-to-playlist", smp);
Open("Video Lan", "c:\\Program Files\\VideoLAN\\VLC\\vlc.exe", "-AddToPlaylist", vlc);
Open("SMTube", "C:\\Program Files\\SMPlayer\\smtube.exe", "", smt);
Separator("context-openlinkinprivatewindow");

//Open1("Download IDM", "c:\\Program Files\\Internet Download Manager\\IDMan.exe", "/d", idm);
Open1("Download Master", "c:\\PortableApps\\PortableApps\\TotalCmd\\Portable\\Download Master Portable\\dmaster.exe", "", dlm);
Open1("SMPlayer", "C:\\Program Files\\SMPlayer\\smplayer.exe", "-add-to-playlist", smp);
Open1("Video Lan", "c:\\Program Files\\VideoLAN\\VLC\\vlc.exe", "-AddToPlaylist", vlc);
Open1("SMTube", "C:\\Program Files\\SMPlayer\\smtube.exe", "", smt);
Separator("SMTube");
//----------------------------------------------------------------------------------------------
function Separator(id) {
  if (document.getElementById(id+"separator")) return;
  var contextMenu = document.getElementById("contentAreaContextMenu");
  var refChild = document.getElementById(id); //id пункта, после которого вставить сепаратор
  var menuseparator = document.createElement("menuseparator");
  menuseparator.id = id+"separator"; //id сепаратора
  contextMenu.insertBefore(menuseparator, refChild.nextSibling);
  addEventListener("popupshowing", function(){ // удалите листенер, если хотите, чтобы сепаратор показывался всегда, а не только если в контекстном меню виден родительский пункт
    var hidden = refChild.getAttribute("hidden") == "true";
    menuseparator.setAttribute("hidden", hidden.toString());
  }, false, contextMenu);
             };
//----------------------------------------------------------------------------------------------
function Open(name, prog, param, image){
   var menuitem = document.createElement("menuitem");       
   var contextMenu = document.getElementById("contentAreaContextMenu");

   menuitem.id = "open-in";
   menuitem.setAttribute("label", name);      
   menuitem.setAttribute("class", "menuitem-iconic");
   menuitem.setAttribute("image", image);
   document.getElementById("context-sep-open").parentNode.insertBefore( menuitem, document.getElementById("context-sep-open") );

   // где показывать пункт в конт. меню: на ссылках, на html5 аудио/видео -->
   addEventListener("popupshowing", ()=> menuitem.hidden = !(gContextMenu.onLink || gContextMenu.onVideo || gContextMenu.onAudio ), false, contextMenu );
   addDestructor( ()=> contextMenu.removeChild(menuitem) );
     
   addEventListener("click", function(e) {
      var link = gContextMenu.mediaURL || gContextMenu.getLinkURL();
      var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
      var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
      file.initWithPath(prog); //путь к плееру на свой меняйте
      process.init(file);
      if (e.button == 0 || e.button == 2) {
         process.run(false, [link, param], 2);
      };
   }, false, menuitem );

};
//----------------------------------------------------------------------------------------------
function Open1(name, prog, param, image){
   var menuitem = document.createElement("menuitem");       
   var contextMenu = document.getElementById("contentAreaContextMenu");

   menuitem.id = name;
   menuitem.setAttribute("label", name);      
   menuitem.setAttribute("class", "menuitem-iconic");
   menuitem.setAttribute("image", image);
   document.getElementById("context-sep-open").parentNode.insertBefore( menuitem, document.getElementById("context-sep-open") );

   // где показывать пункт в конт. меню: на ссылках, на html5 аудио/видео -->
   addEventListener("popupshowing", ()=> menuitem.hidden = (gContextMenu.onLink || gContextMenu.onVideo || gContextMenu.onAudio ), false, contextMenu );
   addDestructor( ()=> contextMenu.removeChild(menuitem) );
     
   addEventListener("click", function(e) {
      var link = window.content.location.href;
      var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
      var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
      file.initWithPath(prog); //путь к плееру на свой меняйте
      process.init(file);
      if (e.button == 0 || e.button == 2) {
         process.run( false, [param, link], 2);
      };
   }, false, menuitem );

};
//----------------------------------------------------------------------------------------------

Получилось наконец.

Отредактировано fokanik (17-08-2015 15:46:36)

Отсутствует

 

№873210-08-2015 19:27:21

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

Re: Custom Buttons

fokanik пишет

Получилось наконец.

Интересно придумано, но цеплять на каждый новый пункт меню отдельный обработчик с кучкой кода это лишняя трата ресурсов. Можно добавлять

Выделить код

Код:

menuitem.onclick =()=> функция( аргументы );

а уже функция пусть делает то что делает обработчик и не нужны будут оба обработчики на click в функциях Open и Open1 из которых одна тоже явно лишняя.

Добавлено 10-08-2015 19:45:17
Цеплять везде addDestructor( ()=> contextMenu.removeChild(menuitem) ); тоже это не есть - хорошо, можно все пункты удалить разом по какому то общему признаку например id

Выделить код

Код:

addDestructor(function() {
      [...contextMenu.childNodes].forEach(function(el) {
          if (el.id && el.id == 'тут общий id')
              contextMenu.removeChild(el);
      }) 
});

Ну и так далее :blush:

Отредактировано bunda1 (10-08-2015 19:51:25)

Отсутствует

 

№873310-08-2015 20:15:14

fokanik
Участник
 
Группа: Members
Зарегистрирован: 05-02-2014
Сообщений: 268
UA: Seamonkey 2.33

Re: Custom Buttons

bunda1 пишет

Ну и так далее

Спасибо, попробуем.

Еще вопросик к знатокам, нужен код для открытия окошка Управление загрузками при нажатии на кнопку? Поиск юзал/юзал - все запросы мимо кассы. :whiteflag:

Отсутствует

 

№873410-08-2015 20:33:06

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

Re: Custom Buttons

fokanik пишет

Еще вопросик к знатокам, нужен код для открытия окошка Управление загрузками при нажатии на кнопку?

Выделить код

Код:

toDownloadManager();

Используй:

Выделить код

Код:

function handleCommand(e) { 
   LOG( e.target.getAttribute("oncommand") );
};
addEventListener("command", handleCommand, true, window );

что бы увидеть все команды в консоли ошибок.

Отсутствует

 

№873510-08-2015 20:58:58

fokanik
Участник
 
Группа: Members
Зарегистрирован: 05-02-2014
Сообщений: 268
UA: Seamonkey 2.33

Re: Custom Buttons

bunda1 пишет

toDownloadManager();

Блин, а я уже мужу целый час :dumb:

bunda1 пишет

что бы увидеть все команды в консоли ошибок.

Я ее нашел инспектором, но не ожидал, что все так просто :)
Спасибо!

Отсутствует

 

№873611-08-2015 11:17:16

fokanik
Участник
 
Группа: Members
Зарегистрирован: 05-02-2014
Сообщений: 268
UA: Seamonkey 2.33

Re: Custom Buttons

А как сделать, чтоб при наведении мышки на кнопку появлялась справка кнопки по типу:
лкм - откроет это.
пкм - откроет это.

Отсутствует

 

№873711-08-2015 11:29:51

lokiju
Участник
 
Группа: Members
Зарегистрирован: 30-01-2012
Сообщений: 208
UA: Firefox 42.0

Re: Custom Buttons

fokanik
Кажется так, в инициализацию кнопки:

Выделить код

Код:

this.tooltipText="лкм - откроет это. \n пкм - откроет это.";

Отредактировано lokiju (11-08-2015 11:34:50)

Отсутствует

 

№873811-08-2015 11:45:57

fokanik
Участник
 
Группа: Members
Зарегистрирован: 05-02-2014
Сообщений: 268
UA: Seamonkey 2.33

Re: Custom Buttons

lokiju пишет

Кажется так, в инициализацию кнопки:

Годно, спасибо!

Отсутствует

 

№873911-08-2015 13:10:34

fokanik
Участник
 
Группа: Members
Зарегистрирован: 05-02-2014
Сообщений: 268
UA: Seamonkey 2.33

Re: Custom Buttons

toDownloadManager(); - так само открывается в SeaMonkey

command = Tools:Download  - а в Mozilla как открыть, куда подставить?

Отсутствует

 

№874011-08-2015 14:54:33

toxa
Участник
 
Группа: Members
Зарегистрирован: 11-04-2012
Сообщений: 261
UA: Firefox 25.0

Re: Custom Buttons

Есть у меня на странице небльшой див, создаваемый скриптом. В этом диве вертикальная прокрутка. А я привык скроллить колесиком мыши.
И вот иногда получается, кручу колесико, а начинает скроллиться не содержимое дива, а вся страница. А иногда как и должно быть, див.
Как бы это дело упорядочить?

Отсутствует

 

№874111-08-2015 18:30:43

rbfyec
Участник
 
Группа: Members
Зарегистрирован: 07-07-2012
Сообщений: 365
UA: Firefox 20.0

Re: Custom Buttons

Я нашёл скриптик, который меняет раскладку строки

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

Выделить код

Код:

function auto_layout_keyboard( str ) {
        replacer = {
            "q":"й", "w":"ц", "e":"у", "r":"к", "t":"е", "y":"н", "u":"г",
            "i":"ш", "o":"щ", "p":"з", "[":"х", "]":"ъ", "a":"ф", "s":"ы",
            "d":"в", "f":"а", "g":"п", "h":"р", "j":"о", "k":"л", "l":"д",
            ";":"ж", "'":"э", "z":"я", "x":"ч", "c":"с", "v":"м", "b":"и",
            "n":"т", "m":"ь", ",":"б", ".":"ю", "/":"."
        };      
         
        return str.replace(/[A-z/,.;\'\]\[]/g, function ( x ){
            return x == x.toLowerCase() ? replacer[ x ] : replacer[ x.toLowerCase() ].toUpperCase();
        });
    }


А как сделать, чтоб он работал в обратную сторону - менял русск. раскладку на англ.?

Отсутствует

 

№874211-08-2015 18:31:27

jars
Забанен
 
Группа: Members
Зарегистрирован: 28-07-2015
Сообщений: 235
UA: Palemoon 25.0

Re: Custom Buttons

fokanik не это scratch_one-s_head.gif

Выделить код

Код:

DownloadsPanel.showDownloadsHistory();

длинные подсказки можно класть в Help и оттуда брать

Выделить код

Код:

this.tooltipText = this.Help;

Отсутствует

 

№874311-08-2015 19:40:13

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

Re: Custom Buttons

fokanik пишет

command = Tools:Download  - а в Mozilla как открыть, куда подставить?

Выделить код

Код:

BrowserDownloadsUI();

Добавлено 11-08-2015 19:43:25
Я же в Вчера 20:33:06 дал код для отслеживания всех команд.

Отредактировано bunda1 (11-08-2015 19:43:25)

Отсутствует

 

№874411-08-2015 19:46:18

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 43.0

Re: Custom Buttons

rbfyec
Преобразование из латиницы в кириллицу и наоборот

скрытый текст
Чтобы повесить на сочетание клавиш независимо от раскладки, в инициализацию кнопки добавить:

Выделить код

Код:

addEventListener('keydown', function(e) {
    if ((e.altKey) && (e.keyCode == 90)) { //alt + z в en/ru раскладке
        e.preventDefault();
        e.stopPropagation();
        this.switchSelKeybLayout();
    };
});

Отсутствует

 

№874511-08-2015 20:08:56

rbfyec
Участник
 
Группа: Members
Зарегистрирован: 07-07-2012
Сообщений: 365
UA: Firefox 20.0

Re: Custom Buttons

Спасибо, turbot.
Но там прямо огромный код и довольно запутанный (для меня) код . А мой скриптик маленький, а работает безотказно.
Вот только приспособить бы его работать в обратную сторону.

Вопрос остаётся открытым. Может кто подскажет?

Отсутствует

 

№874611-08-2015 20:24:27

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

Re: Custom Buttons

rbfyec пишет

Вопрос остаётся открытым. Может кто подскажет?

Может буквы в коде поменяй местами :/

Отсутствует

 

№874711-08-2015 20:57:47

fokanik
Участник
 
Группа: Members
Зарегистрирован: 05-02-2014
Сообщений: 268
UA: Seamonkey 2.33

Re: Custom Buttons

jars и bunda1 - большое спасибо.

Таже история с openDownloadFolder();
В SeaMonkey работает, а Mozille - нет. Где эти функции искать - не знаю.

Выделить код

Код:

function openDownloadFolder() {
   var local = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);   
   local.initWithPath( Application.prefs.getValue( "browser.download.dir", 0) );
   local.launch();      
};

Как на Mozilla/y переделать?

Отредактировано fokanik (11-08-2015 21:14:35)

Отсутствует

 

№874811-08-2015 21:18:27

rbfyec
Участник
 
Группа: Members
Зарегистрирован: 07-07-2012
Сообщений: 365
UA: Firefox 20.0

Re: Custom Buttons

bunda1 пишет
rbfyec пишет

Вопрос остаётся открытым. Может кто подскажет?

Может буквы в коде поменяй местами :/

Ага, я уже сделал. Поменял порядок букв.
Теперь у меня две функции.
Я написал

Выделить код

Код:

if ( str.match(/[A-z]/) ) вызывается функция Англ-Рус;
if ( str.match(/[А-я]/) ) вызывается функция Рус-Англ

Или можно сделать лучше и проще?

Отсутствует

 

№874911-08-2015 21:25:00

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

Re: Custom Buttons

fokanik пишет

Как на Mozilla/y переделать?

Уже есть такая кнопка:

Выделить код

Код:

custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3E%u041F%u0430%u043F%u043A%u0430%20%u0437%u0430%u0433%u0440%u0443%u0437%u043A%u0438%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%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%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//%20%20%u041D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%20%u0444%u0443%u043D%u043A%u0446%u0438%u0439%20%u043A%u043B%u0438%u043A%u043E%u0432%20%u043C%u044B%u0448%u0438%20%u0434%u043B%u044F%20%u043A%u043D%u043E%u043F%u043A%u0438%20...............................................%0Athis.onclick%20%3D%20function%28e%29%20%7B%0A%20%20%20%20%20%0A%20%20%20%20%20if%20%28%20e.button%20%3D%3D%200%20%29%20openDownloadFolder%28%29%3B%20//%20%u041B%u041A%u041C%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20if%20%28%20e.button%20%3D%3D%201%20%29%20gShowPopup%28this%29%3B%20//%20%u0421%u041A%u041C%20%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20if%20%28%20e.button%20%3D%3D%202%20%26%26%20%21e.ctrlKey%20%26%26%20%21e.shiftKey%20%26%26%20%21e.altKey%20%26%26%20%21e.metaKey%20%29%20%7B%20//%20%u041F%u041A%u041C%0A%20%20%20%20%20%20%20%20%20%20e.preventDefault%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20getPathToFolder%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%7D%3B%0A%0A%0A%0A//%20%u0424%u0443%u043D%u043A%u0446%u0438%u044F%20%u043E%u0442%u043A%u0440%u044B%u0432%u0430%u0435%u0442%20%u043F%u0430%u043F%u043A%u0443%20%u0437%u0430%u0433%u0440%u0443%u0437%u043A%u0438%20Firefox%20%u0435%u0441%u043B%u0438%20%u043F%u0430%u043F%u043A%u0430%20%u0441%u0443%u0449%u0435%u0441%u0442%u0432%u0443%u0435%u0442%20.......................................................%0Afunction%20openDownloadFolder%28%29%20%7B%0A%20%20%20%20%20//%20%u043F%u043E%u043B%u0443%u0447%u0438%u0442%u044C%20%u043F%u0443%u0442%u044C%20%u043A%20%u043F%u0430%u043F%u043A%u0435%20%u0437%u0430%u0433%u0440%u0443%u0437%u043A%u0438%20%u0438%u0437%20%27about%3Aconfig%27%20%u0438%u043B%u0438%20%u0434%u0438%u0441%u043A%20C%3A%20....%0A%20%20%20%20%20var%20pathToFolder%20%3D%20Application.prefs.getValue%28%22browser.download.dir%22%2C%200%29%0A%20%20%20%20%20var%20pathToFolder%20%3D%20%28%20pathToFolder%20%3D%3D%200%20%29%20%3F%20getPathToFolder%28%29%3A%20pathToFolder%3B%0A%20%20%20%20%20%0A%20%20%20%20%20if%20%28%20%21pathToFolder%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20Cc%5B%22@mozilla.org/alerts-service%3B1%22%5D.getService%28Ci.nsIAlertsService%29.%0A%20%20%20%20%20%20%20%20%20%20showAlertNotification%28%20self.image%2C%20self.label%2C%20%22%u0423%u043A%u0430%u0436%u0438%u0442%u0435%20%u043F%u0430%u043F%u043A%u0443%20%u0437%u0430%u0433%u0440%u0443%u0437%u043A%u0438%22%2C%20false%2C%20%22%22%2C%20null%2C%20%22%22%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%0A%20%20%20%20%20//%20%u043E%u0442%u043A%u0440%u044B%u0442%u044C%20%u043F%u0430%u043F%u043A%u0443%20....%20%0A%20%20%20%20%20var%20local%20%3D%20Cc%5B%22@mozilla.org/file/local%3B1%22%5D.createInstance%28Ci.nsILocalFile%29%3B%0A%20%20%20%20%20local.initWithPath%28%20pathToFolder%29%3B%0A%20%20%20%20%20local.launch%28%29%3B%0A%7D%3B%0A%0A%0A%0A//%20%u0412%u044B%u0431%u0440%u0430%u0442%u044A%20%u043F%u0430%u043F%u043A%u0443%20%u0437%u0430%u0433%u0440%u0443%u0437%u043A%u0438%20%u0438%20%u0437%u0430%u043F%u0438%u0441%u0430%u0442%u044C%20%u0432%20%27about%3Aconfig%27%20%u0438%20%u043F%u043E%u043B%u0443%u0447%u0438%u0442%u044C%20%u043F%u0443%u0442%u044A%20%u043A%20%u043F%u0430%u043F%u043A%u0435%2C%20%u0438%u043D%u0430%u0447%u0435%20%u043E%u0442%u0434%u0430%u0441%u0442%20%27false%27%20.....................%0Afunction%20getPathToFolder%28%29%20%7B%0A%0A%20%20%20%20%20//%20%u043F%u043E%u043B%u0443%u0447%u0438%u0442%u044C%20%u043F%u0430%u043F%u043A%u0443%20%u0437%u0430%u0433%u0440%u0443%u0437%u043A%u0438%20%u0438%u0437%20%27about%3Aconfig%27%20%u0438%u043B%u0438%20%u0434%u0438%u0441%u043A%20C%3A%20....%0A%20%20%20%20%20var%20pathToFolder%20%3D%20Application.prefs.getValue%28%22browser.download.dir%22%2C%200%29%0A%20%20%20%20%20var%20pathToFolder%20%3D%20%28%20pathToFolder%20%3D%3D%200%20%29%3F%20%22C%3A%5C%5C%22%3A%20pathToFolder%3B%0A%0A%20%20%20%20%20var%20fp%20%3D%20Cc%5B%22@mozilla.org/filepicker%3B1%22%5D.createInstance%28Ci.nsIFilePicker%29%3B%0A%20%20%20%20%20var%20dd%20%3D%20Cc%5B%22@mozilla.org/file/local%3B1%22%5D.createInstance%28Ci.nsILocalFile%29%3B%0A%0A%20%20%20%20%20//%20%u0434%u0438%u0430%u043B%u043E%u0433%20%u0441%u043E%u0437%u0434%u0430%u043D%u0438%u044F%20%u0438%20%u0443%u0441%u0442%u0430%u043D%u043E%u0432%u043A%u0438%20%u043F%u0443%u0442%u0438%20....%0A%20%20%20%20%20fp.init%28%20window%2C%20%22%u0412%u044B%u0431%u0440%u0430%u0442%u044C%20%u043F%u0430%u043F%u043A%u0443%20%u0434%u043B%u044F%20%u0437%u0430%u0433%u0440%u0443%u0437%u043E%u043A%21%22%2C%20fp.modeGetFolder%20%29%3B%0A%20%20%20%20%20dd.initWithPath%28%20pathToFolder%20%29%3B%0A%20%20%20%20%20fp.displayDirectory%20%3D%20dd%3B%0A%0A%20%20%20%20%20if%20%28%20fp.show%28%29%20%3D%3D%20fp.returnCancel%20%29%20return%20false%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20//%20%u043F%u043E%u043B%u0443%u0447%u0438%u0442%u044C%20%u043F%u0443%u0442%u044C%20%u043A%20%u0432%u044B%u0431%u0440%u0430%u043D%u043D%u043E%u0439%20%u043F%u0430%u043F%u043A%u0435%20%u0438%20%u0437%u0430%u043F%u0438%u0441%u0430%u0442%u044C%20%u0432%20%27about%3Aconfig%27%20....%0A%20%20%20%20%20%20%20%20%20var%20pathToFolder%20%3D%20fp.file.path%3B%0A%20%20%20%20%20%20%20%20%20Application.prefs.setValue%28%22browser.download.dir%22%2C%20pathToFolder%20+%3D%20%28%20pathToFolder%5BpathToFolder.length%20-%201%5D%20%21%3D%3D%20%22%5C%5C%22%29%3F%20%22%5C%5C%22%3A%20%22%22%29%3B%0A%20%20%20%20%20%20%20%20%20return%20pathToFolder%3B%0A%7D%3B%0A%0A%0Athis.tooltipText%20%3D%20%22%u041B%3A%20%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u043F%u0430%u043F%u043A%u0443%20%u0437%u0430%u0433%u0440%u0443%u0437%u043A%u0438%20%5Cn%u0421%3A%20CB%20%u041C%u0435%u043D%u044E%20%5Cn%u041F%3A%20%u0418%u0437%u043C%u0435%u043D%u0438%u0442%u044C%20%u043F%u0430%u043F%u043A%u0443%20%u0437%u0430%u0433%u0440%u0443%u0437%u043A%u0438%22%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

Добавлено 11-08-2015 21:26:07

rbfyec пишет

Или можно сделать лучше и проще?

А вот не знаю.

Отредактировано bunda1 (11-08-2015 21:26:07)

Отсутствует

 

№875011-08-2015 21:35:05

fokanik
Участник
 
Группа: Members
Зарегистрирован: 05-02-2014
Сообщений: 268
UA: Seamonkey 2.33

Re: Custom Buttons

bunda1 пишет

Уже есть такая кнопка

Круть, спасибо!

Отсутствует

 

Board footer

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