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

Многие проблемы быстрее решаются поиском по форуму и чтением FAQ, чем созданием новой темы и томительным ожиданием ответа.

№107615-02-2016 22:25:41

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

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

Нашёл ссылку где описывается схема http://opennet.ru/openforum/vsluhforumID3/47886.html:

новая схема подразумевает помещение нового таба сразу после текущего таба, из которого было инициировано открытие ссылки. Если таким образом уже была открыта ссылка, то новый таб будет открыт справа от последней дочерней вкладки.

Так открываются ссылки со страницы. Я хочу так же открывать закладки из библиотеки и fvd. Раньше в официальной вики картинку видел, но теперь не найду ссылку.

Отредактировано KOT040188 (15-02-2016 22:31:03)


Вы думаете у котов лёгкая жизнь? А вы попробуйте целый день лизать меховую шапку!

Отсутствует

 

№107715-02-2016 22:40:36

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

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

KOT040188 пишет

Так открываются ссылки со страницы. Я хочу так же открывать закладки из библиотеки и fvd. Раньше в официальной вики картинку видел, но теперь не найду ссылку.

Понятно, я пока не знаю как такое сделать.

Отсутствует

 

№107815-02-2016 22:42:27

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

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

bunda1 пишет

Понятно, я пока не знаю как такое сделать.

Понятно, спасибо за терпение.


Вы думаете у котов лёгкая жизнь? А вы попробуйте целый день лизать меховую шапку!

Отсутствует

 

№107916-02-2016 08:36:53

Kpacomka
Участник
 
Группа: Members
Зарегистрирован: 16-02-2016
Сообщений: 22
UA: Firefox 44.0

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

Как в выбор форматов сохранения страниц по "Save Page As..." (Text Files, Web Page...) добавить Microsoft Word, установленный на компьютере?

Отсутствует

 

№108016-02-2016 10:07:41

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2130
UA: Firefox 38.0

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

bunda1 пишет

Понятно, я пока не знаю как такое сделать.

Может так

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

Выделить код

Код:

...
   if ( /ssi_restore|openContainer|handleLinkClick|nsContextMenu/.test(err) ) return;  

   var places = "chrome://browser/content/places/places.xul";
   if (gBrowser.currentURI.spec == places && err.includes(places)) {
      var tab = gBrowser._lastRelatedTab || gBrowser.selectedTab;
      gBrowser.moveTabTo(newTab, tab._tPos + 1);
      gBrowser._lastRelatedTab = newTab;
      return;
   }
   ...

Отсутствует

 

№108116-02-2016 11:30:42

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

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

Dumby пишет

Может так

Вроде работает если открыть библиотеку в вкладке. Спасибо :)


KOT040188

Выделить код

Код:

// Открывать любую новую вкладку справа от текущей ............
addEventListener("TabOpen", (e)=> {
   var newTab = e.target,
       tabpos = gBrowser.selectedTab._tPos,
       err = new Error().stack; 

   // если восстановление сессии, открыть ссылки или открыть всё во вкладках из папки закладок 
  if ( /ssi_restore|openContainer|handleLinkClick|nsContextMenu/.test(err) ) return;  

   var places = "chrome://browser/content/places/places.xul";
   if (gBrowser.currentURI.spec == places && err.includes(places)) {
      var tab = gBrowser._lastRelatedTab || gBrowser.selectedTab;
      gBrowser.moveTabTo(newTab, tab._tPos + 1);
      gBrowser._lastRelatedTab = newTab;
      return;
   }  

   /undoCloseTab/.test(err)
   ? setTimeout(()=> gBrowser.moveTabTo(newTab, tabpos + 1), 50) // если восстановление вкладки
   : gBrowser.moveTabTo(newTab, tabpos + 1);

}, false, gBrowser.tabContainer );

+ Открывать библиотеку в вкладке

Отсутствует

 

№108216-02-2016 14:51:50

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

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

Dumby
bunda1
Спасибо работает!:) А для fvd как запилить?

Отредактировано KOT040188 (16-02-2016 14:56:52)


Вы думаете у котов лёгкая жизнь? А вы попробуйте целый день лизать меховую шапку!

Отсутствует

 

№108317-02-2016 13:31:45

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

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

KOT040188 пишет

А для fvd как запилить?

Выделить код

Код:

// Открывать любую новую вкладку справа от текущей ............
addEventListener("TabOpen", (e)=> {
   var newTab = e.target,
       tabpos = gBrowser.selectedTab._tPos,
       err = new Error().stack; 

   // если восстановление сессии, открыть ссылки или открыть всё во вкладках из папки закладок 
  if ( /ssi_restore|openContainer|handleLinkClick|nsContextMenu/.test(err) ) return;  

   var places = "chrome://browser/content/places/places.xul";
   if ( err.includes("fvd.speeddial") || (gBrowser.currentURI.spec == places && err.includes(places))) {
      var tab = gBrowser._lastRelatedTab || gBrowser.selectedTab;
      gBrowser.moveTabTo(newTab, tab._tPos + 1);
      gBrowser._lastRelatedTab = newTab;
      return;
   }  

   /undoCloseTab/.test(err)
   ? setTimeout(()=> gBrowser.moveTabTo(newTab, tabpos + 1), 50) // если восстановление вкладки
   : gBrowser.moveTabTo(newTab, tabpos + 1);

}, false, gBrowser.tabContainer );

Отсутствует

 

№108417-02-2016 15:52:31

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2130
UA: Firefox 38.0

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

bunda1 пишет

gBrowser.mCurrentTab.label == 'FVD Speed Dial' ||

Смотри,

скрытый текст
если из fvd-вкладки открыть несколько других вкладок,
а затем, не сходя с fvd-вкладки, открыть вкладку из закладок,

то эта вкладка откроется после последней вкладки,
которая была открыта из fvd-вкладки, а не после самой fvd-вкладки.

Я не знаю противоречит ли это концепции кнопки.
Если да, то лучше что-то типа err.includes("fvd.speeddial") ||

Отсутствует

 

№108517-02-2016 16:04:21

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

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

Dumby пишет

Я не знаю противоречит ли это концепции кнопки.
Если да, то лучше что-то типа err.includes("fvd.speeddial") ||

Спасибо, наверно это противоречит концепции кнопки, поэтому положил в код err.includes("fvd.speeddial").

Отсутствует

 

№108617-02-2016 17:27:51

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

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

bunda1 Dumby
Большое  спасибо, теперь всё идеально! :)

Отредактировано KOT040188 (17-02-2016 17:29:38)


Вы думаете у котов лёгкая жизнь? А вы попробуйте целый день лизать меховую шапку!

Отсутствует

 

№108717-02-2016 21:53:45

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

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

Этот код заставляет восстанавливать закрытые вкладки после текущей. Это удобно :)


Вы думаете у котов лёгкая жизнь? А вы попробуйте целый день лизать меховую шапку!

Отсутствует

 

№108818-02-2016 21:18:10

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

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

А можно ли сделать так, что при наборе текста выскакивала полноценная панель поиска и не пряталась сама по себе? Можно ли сделать добавление закладки через звёздочку в последнюю выбранную папку, а не неподшитые закладки? А во всплывпющей из звёхдочки панели выбор папки был сразу развёрнут?

Отредактировано KOT040188 (20-02-2016 02:13:19)


Вы думаете у котов лёгкая жизнь? А вы попробуйте целый день лизать меховую шапку!

Отсутствует

 

№108924-02-2016 05:16:32

KOT040188
Участник
 
Группа: Members
Зарегистрирован: 07-11-2012
Сообщений: 425
UA: unknown 0.0

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

KOT040188 пишет

А можно ли сделать так, что при наборе текста выскакивала полноценная панель поиска и не пряталась сама по себе? Можно ли сделать добавление закладки через звёздочку в последнюю выбранную папку, а не неподшитые закладки? А во всплывпющей из звёхдочки панели выбор папки был сразу развёрнут?
                    Отредактировано KOT040188 (20-02-2016 03:13:19)

Может кто поможет?


Вы думаете у котов лёгкая жизнь? А вы попробуйте целый день лизать меховую шапку!

Отсутствует

 

№109026-02-2016 21:03:26

broker
Участник
 
Группа: Members
Зарегистрирован: 23-06-2015
Сообщений: 103
UA: unknown 0.0

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

Здравствуйте, есть кнопка "Открыть страницу или выделенную ссылку в другом браузере" как сделать чтоб при наведении на кнопку открывалось меню той кнопки?

Выделить код

Код:

// Настройка функций кликов мыши .................
this.onclick = function(e) {      
     if ( e.button == 0 ) menuPopup.showPopup(this, -1, -1, "popup", "bottomleft", "topleft"); 
};




// Объявляем настройки и переменные для этой вкладки .................
var autoClose = true;  // true => автоматически закрывать меню
var dropmarker = false; // true => добавлять дропмаркер у кнопки

const pref = Application.prefs;
if ( dropmarker ) this.type = "menu";
const alertsService = Cc["@mozilla.org/alerts-service;1"].getService(Ci.nsIAlertsService);



// Проверить наличие строки в about:config и если не существует записать пути к браузерам по умолчанию .................
const allPath = "C:\\Program Files\\Internet Explorer\\iexplore.exe,C:\\Documents and Settings\\Администратор\\Local Settings\\Application Data\\Google\\Chrome\\Application\\chrome.exe,C:\\Program Files\\Opera\\Opera.exe,C:\\Program Files\\Maxthon\\Bin\\Maxthon.exe,C:\\Program Files\\SeaMonkey\\seamonkey.exe";
if ( !pref.getValue("CB.OpenWith.pathToBrowser", 0) ) {
     pref.setValue("CB.OpenWith.pathToBrowser", allPath );
     pref.setValue("CB.OpenWith.removeMenuitem", "");
     };



// Создать меню для кнопки .................
var array = [
       { label: "Internet Explorer", image: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAABf2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjarZExS0JhFIaf71q0mA1dovFCFg0WogRJLeoggcNNHFRa9Ko3w/TjerOCfkKD0FItWf2BhqgpaI9agiCIfkMQtITchq9wKSLohQPPeZdz3nNAOy9KWdeA9YbrZFIJI5cvGEOPDDAKAEWrJeOmmeZHvT0gAO5nilLW+Zv8Ti5fAKEDuq14GtBLihcBfdOVLggT0K3VYhlEGQg52UwSRAcI2Iq7QKCk+AwItC3bBXENhBvlWgPECzBfrrQs0KYB25KOC1oHCObyBUOt1uxCbAJ8u32vtA+XVzB+0/eCRzCyABd3fe91GQGIsftWNRoBQPiTMPjsea+TMLQHvY7nvR97Xu8EfE9wvWZtOO3PuwgtCr/1Kpvq1Q9Azf2eVX4AwnD6ANkdSN/CwSFMVWFkBUw/ZGNo0bmvUrcCYLiVSSUM02lWa/UK/yy3suUCJJty26nZq64Rl7JeCRlLDWs2ZETC4Rgf5HRpEzoTj48AAAAgY0hSTQAAbZYAAHOMAAD2MgAAgUIAAHBtAADjXwAAMXgAABN0+ysqDQAAAv5JREFUeNqk0n1MTWEcB/Dvee655957dDv3VjepuUJohRHd0YSsoVHG2IwhsxUbxlrYbOafsmHzOsbGGNPQojEvxai8TBSSNKu8leqme+q+nvfjr27hT9+/nu3ZPvs9z+9L6bqO/wnBf4YeOlAU9e+tKZKl2QgHBVCyIHkQ+uVNcpBxWxabNq+ZacwzEZipoSeMBMwOZ0bs9KxCLjFlvslqiw3JDEVEj2fdmLKW3VM/pcmdqv3mM+1Zj1cf/BugYtJyShLmrdprjIwmKgzwiiymj+1FafZ1JHubUP7chWMP1doXVZWLaKiWPwD7jCVH47PWF+m0BbqZg0BsyJvWhsN5N+D97Efx/TWo64xFgvAdntd3rwgd1SfDf8DEOLNts5YVCZoRMEdhgFdRkN2M0hX1eHytoamwPDfIjx47h6ME8BJBYlrmhj7leyAMEGfajhBhYTTb4Fds2Jh0Sy/NC1GPGv3dW845D7p73vTTbvUQFuVnqAYruvvb4bXPnBMGBEtsujugQLNw2JrdgeO5nVRl20Tsbt7jMBaMKo+XZKKIAVkUBfh4QAoy0E1xKfTwylirRuyYn9qDM8su4cmXWdhavx+qRtGsCaCtAFFtRj0gQTdYoPkHIfX/ZIYBWQ86ooSIslVX0VrrUdYf6qkWuBKFYzTC2UyIYAiEoCDwfsUgCSKlen1E+drCDwN9XQ1HM7tz4ro6sMl9g/T1HrinVJ0/PTCyV8mzl9pX7ipWewNEDXyFroiNYWAu+/TOxhhDzsG6bXgfnULG7ys7ZXh31uVvqKnQNMicK32Jde3OwpDEMgNN3ZDe1kFueVAT7sHdYlPF1PiElVk/SmGwTgI7ORUxC8xgWEAngKgD3i+Ar9UDX9sH8A/O10ovr+WEJ1g8wby86ELXid7QRbgyl2+PdkoG8WMSApwdEk1D9KmQ3YPAj08Qay7fk19dzwcQHC4SoYySoLSPbq+ulNVmRuEXrrZMckXDMYXIVCRE3oOB1vq+/pe3y0Lfmo8A8ADA7wEATrdVy5ywgXEAAAAASUVORK5CYII=" },
       { label: "Google Chrome", image: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAABf2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjarZExS0JhFIaf71q0mA1dovFCFg0WogRJLeoggcNNHFRa9Ko3w/TjerOCfkKD0FItWf2BhqgpaI9agiCIfkMQtITchq9wKSLohQPPeZdz3nNAOy9KWdeA9YbrZFIJI5cvGEOPDDAKAEWrJeOmmeZHvT0gAO5nilLW+Zv8Ti5fAKEDuq14GtBLihcBfdOVLggT0K3VYhlEGQg52UwSRAcI2Iq7QKCk+AwItC3bBXENhBvlWgPECzBfrrQs0KYB25KOC1oHCObyBUOt1uxCbAJ8u32vtA+XVzB+0/eCRzCyABd3fe91GQGIsftWNRoBQPiTMPjsea+TMLQHvY7nvR97Xu8EfE9wvWZtOO3PuwgtCr/1Kpvq1Q9Azf2eVX4AwnD6ANkdSN/CwSFMVWFkBUw/ZGNo0bmvUrcCYLiVSSUM02lWa/UK/yy3suUCJJty26nZq64Rl7JeCRlLDWs2ZETC4Rgf5HRpEzoTj48AAAAgY0hSTQAAbZYAAHOMAAD2MgAAgUIAAHBtAADjXwAAMXgAABN0+ysqDQAAAzZJREFUeNpsk01oHAUYhp+Z2dnd7Mxmt7vJmqTJttk03QRCq6BSa4xYzMEg9mBEeymIRvSg3oqCBIUKgoI3vVjxoqAoBSvF4kG0jdg/WluLqZqkSdls9n9ndmdmZ3Z+PLQqVD94b9/7nN5H4D8nk5SS2cmwsW9YFHYhIBRcf33Z6f+57tf+BBMI/vkW/i2KqPSkn+1LvHUwFjmUQU4RQNf36NCl5Fr6d2b3+KdG903dt2+AewcgGt393OT4h++66gFD70BYRZRCmI5DrdmgYzcQ0LmGv37Ukp/e9NtnwUcCkGQ5Pf3CvScnd07te7iuElcGSI3k8dUUoqrSm8iAHcJum2xzmsmc7M4uIX/VDXxdAsjv3/nG7PMPzlcFuMvIMjqwi48CmffS2/lCjFF0NSLZLEVfoFYtM+LZSWG7HPul5X0jiZKUuv/JiQ/kISuxe2+Slf5BTlYVygcfZWThcS7kZji+uYNu6hLzr6excgHXSy1iYS93qRN8JsZT6lRPOpI1TYO4otKfdzgliiSmp5jcBsNjEMrfw5ViHxPZEPMv5Xjl2A4ee7E3NZIU9oQSaTUTT8WoN6pUmx3iEYF20+HzC5Acg9IaBCZEe8cIpApoBWKixwN7FZJxvV+URNHOjg7R0i3WbpTRcMiN1tn48irXTkDlIrB6kbmJP1B6LXBMfMelZYFhB1Zo62ZlRSuapt/1YtVyDTFa4O7ZUaQfv+Xc6Stk+xye2LPBkadCoK2CrYHvstUM7LWic11yHbfhicz0ZOSxtmESBAGu4KLXdGbjBY69ajO3XyDc2QR9HVcrIylhPvm6debET/r7EuDXC1p5MJ95puMZotG20C8bzCkui4dlFFmHxk2C1gauXkKO9rBeDLsLb6+83LL8ZQnAdbwVvWT4g/n+A/WWxXTI4uiCh2iWCbQtvHYFr2MR7h2g0lI4dOTy4q9r1sfArSUCdDT7dG1V76SH4vc11FA05VhMZEQEKYwYSYDUx6mldvPwa2cXzy0b7/yPTISAceARZUSZCfeFJ2fGldRDw7FAa3ar35+v/HbmansJ+AH4HejeCfgbIgIyEAeU2+4aQJtbCnq3EwD8NQCjhmvoeRBJAQAAAABJRU5ErkJggg==" },
       { label: "Opera", image: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsSAAALEgHS3X78AAADNklEQVQ4jV2RS2hcVRzGf+fcO5OZTBJokiYZW0gEMQljUWuxlRH7IBmkVrEBd6JCqLoJ1kWqXYgL0Y2gRRfaheDCnTZxoZE2EAQfFEkrYRRTNU0ymslkHkm1mcmde865fxfRjd/+9z34lIgwPz9PeWNDtcTjurq97RKJBMP796f7e/v2ARQ2SsXFYnG9vrMj3a2tnnEu6ujokGw2ixIRcrkcs7OzHkq5k5l7Hp08fmLyYHf3g6ZYbBNjie3tbuSr1fl3vv/u3enFXz5HRGcymSifz6MBtFIacB+cHnv7y6ef+epYe/uJ0rX57dLQ3S9v3Hdg4s8fr29mlXpkajQ3/cnI6EUgUrsCEfEeOnqUF4eGz8q5V8WceaG5cuy4LF26lBMRRITlK1eO/Hr/Qbtz8rFQnhyT1wcG3hgYHEREPA244T17+s73D7zmbt5E1tbi9Zi/mM7l5hCJY21y38jI1aC35wcpFGKNwop7yY+dO9zWNliPIqebwONdXaf6tjY7m7Vq0/xRgM7O3xNtbRYRRKkophRef//PQWEVu7VlUrVqfCwWeyoQQXvAITjiSiWoVDDFNXQqVVMAIgoRALyurvLtep2dMFRVYxjS+nBSa3wf6Kw30s1aFYUQ3P4b0bq5y+/CACrREmw5R9w5AmNoEelLAj5AwxrXsBZxjsBFCCj+L0HVAN9aAmtJGusE8B3wm7HLSWtxxkjgHB1BkNyNVfw3wW5vJ6uAMobQOUJrCocArYBvwvDrsnNUjNEVoFEu7/3XQFC7Zerr633rQDEMZQO4bu1cBPga+NbZGQeLd4bh0CbAjRuDUq8naW21EkVaAcWFhQNloNWYxC0oXRP5rAXQgPeXSPMjmLwVhlQ9z/60ujqwNjV1SilltO8HtZmZkRv5/ANKKdseCbNwvgJVHzwfcCmtvSX44lOln39C8WGohcsTExcfXloa9uJxc/XChbNKKXp937+MemUhch/f63lawCEijI6OAnh4Hj1w+llYfBPMeyDvg7wFdhxW7oDn0BrAy2QyRFG0e+P4+DjZbNalEgm/LjItMNej1F09fqwTUBVrt4xEy2egmlLKD8LQptNplFL8A026qgDDLrhmAAAAAElFTkSuQmCC" },
       { label: "Maxthon", image: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAFXRFWHRDcmVhdGlvbiBUaW1lAAfWBw8BAS1q932nAAAAB3RJTUUH1gcPAQIYwmgJNwAAAAlwSFlzAAALEgAACxIB0t1+/AAAAwBQTFRFHUSfHk+qG1OvH1OtHWC7I0SeIUehJ0+nI0+oKUynI1KqIVGsIlauJlKpJ1WsK1CqKlKoKlSqKVetKletLVSrLVWrL1yvIVixI121I163JFmyJluyJF61Ll2xLF60M1esNlarNVqwOFqyO1q0ImG6IWO9JWG5JmC4LGC2KWW5L2W5LWm9N2++PmO2P2O2O2m5Hm7JI23GJmjAJW/HKmzDL23AI3TNLnDFKHTKK3XKLnnOI3jRI3nTJnrSKX7VLH/SMHXJOn3MQmK6Q2a5R2u6SWq9T3u/U3a3T2/AV3fHL4HVMYbXOYjXeJ2sfJypbaW8eai8QYbRVYrMXo3PXpTSXZrVa4vGbI7IaJfPYpXSZZzWbprTb5vVcpzVd5/UaKvHba/Kbqrbd63EeKzCcavbc6nYea3becPjeMTkg6OwgqWzhJ3OgqDQhKTUgqrahK/di6fVgbLGgbLHjLfKgLHfhLDeirTekbPBmLvJkbffpLjBq77Fg8nmiczom8jnmcnpvsjNr8fmqsnnv+T0yNXa1trb29zcxuPvyeDjyuPmzODizODjyODpyeTuzebwz+fwyu7yzer3ze7yz+/yx/b9xvj+yPj+yfj+y/j+2OHj2ebr3ubq0Ofx0ujx0unx0+ny1+vz2ezz2O302uz03u713+/11Pr+3PDy2vv+2/v+/8D/4Obn4vDz4PD24fD25fD25PL34/L65/P44/v+6fT46vT57vf68Pj68P3/9/n69fr89fv99/z9+Pv9+v7/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNJ5gQAAAKt0Uk5T//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8Atyo9bAAAAQNJREFUeNpjWAUCHROWrVw+E8xkAOLuaVPrS0qbduxpgwhMmpZob2NtZmhasHs2SKBrSqitl4+3nYWRevjGBqDA9FQrx6CIkEAHbQ3ZnJ5VDJ0zLA127d21bdPahXMZRSdWM0yuMzbcu3/v9i3rFs/jYK+sYFiRb26ya6+7m470wrkC8nHFDJvzVFm2bdfcuoFpwRwG/ugihjWNapKbtqhsWMozv49VKS2ZYfU+fbm167SWLBbr71XwqM1iWLUzm5tZXEJGiouNUzkyAeiO1vVhvHxCwoIiik7B6b4gp89alOuiq+fs6hmV4Q/xXEt7c1lsTEpNvB/Ut6tWVZUXJgVkgpkAR0RyCIGXtksAAAAASUVORK5CYII=" },
       { label: "SeaMonkey", image: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAEG0lEQVR4AQEQBO/7Af///wAAAAAAAAAAAAAAAAABAXYNFBQcVxERCUQCAgEf////Avz8/urz8/nG6+vypP//fOMAAAAAAAAAAAAAAAAB////AAAAAAAAAAAAERGRXB0dDJAPDwgT/f3/AP39/gD9/f8A/f3+APz8/wD9/f775ub1jvHxCX3//2b7AAAAAAH///8AAAAAABMTkHwjIxKDAwMBAP39/wD8/P4A/f3+AP39/wAgIRAAV28/ABcgEwC0pM0AoY/Dt/Ly2E///5n7AgAAAAANDZBSHh4Pgv7+/wD4+PwA+Pj8APn5/AD5+f0A/v7/AF54RAAXIBQA1OoAAOXZ6QAGBgNJBwckjAAAAAACAQGACBUVCZL//wAB+fn8APn5/QD4+PwA+Pj9APj4/AA4PiAA/g4OANLp/gD//fsAVFssAPv7/gABAQJsAQGILwILCw5QCQkDG/j4/AD4+P0A+Pj8APn5/QD5+fwA+Pj9AB80IgDn9AEA6PQAAP///wAWJxkAMDAWAP///wIFBQJpAgoKBkICAgMADg4LAA0NCAAKCgcA/Pz/APj4/QACAgAAECYbANzuAADq9QAA/f8BAAEAAAAXHREABgYDABAQDEIESUk4IT0+MQAAAAEA9vb1AO/u7gD5+foA8fH7AB4nCQDW8QYA+v0AAAoE/wAKBQAA+P0AADw5KgA0LzsA5+bsIATm5wgA1NQBAAEB/wDz8wUABAQVACYmBwAcHQIA+ikAAP/yAQAIBP8AEwf9AA8H/wAOBwIAwb4SAAEBBgD5+QMBBMPC6uXOzRMA+/v/APn5/wD9/QAAAQEAAG19EAD5HgoAFQv/APX4+wARCP8AHA4BANHF+gDOzvUABAT1APn57uQC+fnnwPLy/QD19f8A+/sAAP7+AAA2OgYACDgJABgL/wAHAPsAKxX/ACgUAADm3P0Ano/0AAgIAAAICAEA/v71wAQAAOWt/PzqjAEBFxMCAgAAJSYDADlvEQASCf0AHw79AAoGAQAA9wEAwaj4ALeu9wAAAAAACAgBAAAA+gDs7NubAf///wABAalkBQU2my0uCgA/dxMAJRL+AAz2/QDU0fwA49j7ANHP+wABAQAABQUAAAQEAQAFBQAA5+fWpd/fQFwB////AAAAAABodNrDHEMjPNy08wC9svcABAQBAAUFAAAFBQEABAQAAAUFAQAFBQAABAQAAOrq3sba2sRG//909QHh8P9GxeH+ffr9APy2isvAwsANdgwMEgoEBAAABQUBAAUFAAAEBAEABQUBAP7+9v/p6dyf3t7Dbf//gPYAAAAAAdbq/3AkFQDHBQAAyQAAAAABAYoaExMsZwwMFEcGBgUgAwMAAQIC/uv5+fLD4uLYmvr6ac8AAAAAAAAAAAAAAAB08Ygz9inangAAAABJRU5ErkJggg==" },
            ];       

// получить массив с ненужными пунктами меню и восстановливать меню при обнавлении кнопки
var hideItems = pref.getValue("CB.OpenWith.removeMenuitem", 0).split(","); 
addDestructor(function(reason) { if (reason == 'update') pref.setValue("CB.OpenWith.removeMenuitem", "") }); 

var menuPopup = self.appendChild( document.createElement("menupopup") );
array.forEach(function( m, i ) {
      if ( "separator" in m ) { menuPopup.appendChild( document.createElement("menuseparator") ); return };
      var mItem = document.createElement("menuitem");
      mItem.setAttribute("label", m.label);
      mItem.setAttribute("class", "menuitem-iconic");
      mItem.setAttribute("image", m.image );
      mItem.setAttribute("value", i++ );
      mItem.hidden = hideItems.indexOf(m.label) !== -1; // прятать ненужные пункты меню      

      menuPopup.appendChild( mItem );
});
menuPopup.addEventListener("click", setMenuClick, false);



// Настройка функций кликов мыши для пунктов меню .................
function setMenuClick(e) {
   var mItem = e.target;
   var value = mItem.getAttribute("value");
   var label = mItem.getAttribute("label");
   var image = mItem.getAttribute("image");

   // ЛКМ запускает другой браузер ....
   if ( e.button == 0) openWith( value );

   // СКМ удаляет пункты меню и записывает выбор в 'about:config' ....
   if ( e.button == 1 ) {
        e.preventDefault();
                
        mItem.hidden = true;
        pref.setValue("CB.OpenWith.removeMenuitem", pref.getValue("CB.OpenWith.removeMenuitem", 0) + label +',' );
        }
     
   // ПКМ устанавливает новый путь к нужному браузеру ....
   if ( e.button == 2 ) {
        e.preventDefault();
        
        menuPopup.hidePopup();        
        setPathToBrowser( value, image, label );
        }
};



// Получить выделенную ссылку, иначе отдаст 'false' .................
function getSelectLink() {
   var links = window.content.document.links;
   if ( !(document.commandDispatcher.focusedWindow.getSelection() == '') ) {
        for ( i=0; i<links.length; ++i ) {
              if ( window.content.getSelection().containsNode(links[i], true) ) {
                   var link = links[i]; 
                   }
              }
        
        return ( link == undefined ) ? false : link; 
        }
   else { return false };
};



// Открыть страницу или ссылку в другом браузере, аргумент 'value' определяет нужный элемент массива с путями .................
function openWith( value ) {
   
   // получить адрес ссылки или страницы, в 'Punycode' если это .рф домен ....
   var loc = content.document.location;
   var link = getSelectLink();
   var loc = link ? link : loc;
   var url = ( loc.host.slice(-3) == '.рф') ? Services.io.newURI( loc.href, null, null).asciiSpec : loc;  

   var path = pref.getValue("CB.OpenWith.pathToBrowser", 0);
   var pathToBrowser = path.split(",")[value]; // получить путь из 'about:config'

   var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
   file.initWithPath( pathToBrowser );
   if ( !file.exists() ) {
        alertsService.showAlertNotification("chrome://global/skin/icons/error-16.png", pathToBrowser, 'Файл не существует', false, "", null, ""); 
        return;
        }
   var process  = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
   try {
       var args = [url];
       process.init( file );
       process.run( false, args, args.length );
       }
   catch(e) { alertsService.showAlertNotification("chrome://global/skin/icons/error-16.png", pathToBrowser, 'Не удалось выполнить', false, "", null, "") };
};



// Установить новый путь к  браузеру, и записать выбор в 'about:config' .................
function setPathToBrowser( value, image, label ) {

   var fp = Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker);
   fp.init( window, "Укажите путь к нужному браузеру!", fp.modeOpen );
   fp.appendFilters( fp.filterApps );

   if ( fp.show() == fp.returnCancel ) return;
   else
       {
       // получить из 'about:config' массив с путями к браузерам          
       var arr = pref.getValue("CB.OpenWith.pathToBrowser", 0).split(",");
              
       // заменить нужный элемент массива на новый путь и записать
       var newPath = fp.file.path;
       arr[value] = newPath;       
       pref.setValue("CB.OpenWith.pathToBrowser", arr.toString() );       

       alertsService.showAlertNotification( image, "Путь к браузеру: " + label, newPath, false, "", null, "");
       }
};



// Автоматически закрывать меню при ухода курсора с меню .................
if ( autoClose ) {
     menuPopup.setAttribute("onmouseleave", "this.mo = false; setTimeout(function(mp) { if ( !mp.mo ) mp.hidePopup() }, 800, this)");
     menuPopup.setAttribute("onmouseover", "this.mo = true");
};



// Подсказка кнопки .................
this.tooltipText = "Открыть страницу или выделенную ссылку в другом браузере" +"\n"+"\n"+
                   "Функции кликов мыши для пунктов меню" +"\n"+
                   "Л: Открыть страницу или ссылку" +"\n"+
                   "С: Удалить пункт меню" +"\n"+
                   "П: Изменить путь к нужному браузеру";

Отсутствует

 

№109126-02-2016 21:20:54

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

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

broker пишет

Здравствуйте, есть кнопка "Открыть страницу или выделенную ссылку в другом браузере" как сделать чтоб при наведении на кнопку открывалось меню той кнопки?

Выделить код

Код:

self.onmouseleave =()=> self.mo = true;
self.onmouseover =()=> { self.mo = false; setTimeout(()=> !self.mo && menuPopup.showPopup(self, -1, -1, "popup", "bottomleft", "topleft"), 800) };

В инициализацию кнопки.

Отсутствует

 

№109226-02-2016 22:23:21

broker
Участник
 
Группа: Members
Зарегистрирован: 23-06-2015
Сообщений: 103
UA: unknown 0.0

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

bunda1
Спасибо,:D:beer: все работает.
Может есть такая кнопка https://forum.mozilla-russia.org/viewto … 01#p708701

Отредактировано broker (26-02-2016 22:42:30)

Отсутствует

 

№109329-02-2016 14:04:16

Mishania
Участник
 
Группа: Members
Зарегистрирован: 22-10-2011
Сообщений: 356
UA: Firefox 44.0

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

День добрый. А можно кнопочку поправить, в 43 [firefox] не показывает загруженное в боковой панели.

Отсутствует

 

№109429-02-2016 15:52:43

Mishania
Участник
 
Группа: Members
Зарегистрирован: 22-10-2011
Сообщений: 356
UA: Firefox 44.0

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

bunda1
А есть у меня ещё кнопка с таким кодом

Выделить код

Код:

this._handleClick =()=> openWebPanel("Downloads", "about:downloads");

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

Отсутствует

 

№109529-02-2016 16:02:01

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

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

Mishania пишет

bunda1
Может можно сделать чтоб закрывалось тоже по кнопке и тогда предыдущая совсем не нужна.

Выделить код

Код:

this._handleClick =()=> document.getElementById('sidebar-box').getAttribute('sidebarcommand') ? toggleSidebar() : openWebPanel("Downloads", "about:downloads");

Отсутствует

 

№109629-02-2016 17:02:22

Mishania
Участник
 
Группа: Members
Зарегистрирован: 22-10-2011
Сообщений: 356
UA: Firefox 44.0

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

bunda1
Спасибо, вы как всегда помогли.

Отсутствует

 

№109702-03-2016 18:35:13

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

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

KOT040188 пишет

А можно ли сделать так, что при наборе текста выскакивала полноценная панель поиска и не пряталась сама по себе? Можно ли сделать добавление закладки через звёздочку в последнюю выбранную папку, а не неподшитые закладки? А во всплывпющей из звёхдочки панели выбор папки был сразу развёрнут?

Ну ведь можно же как-то?


Вы думаете у котов лёгкая жизнь? А вы попробуйте целый день лизать меховую шапку!

Отсутствует

 

№109802-03-2016 19:53:35

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

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

KOT040188 пишет

А можно ли сделать так, что при наборе текста выскакивала полноценная панель поиска и не пряталась сама по себе?

В инициализацию:

Выделить код

Код:

function onFind() { gFindBar.onFindCommand() };
messageManager.addMessageListener("Findbar:Keypress", onFind);
addDestructor(()=> messageManager.removeMessageListener("Findbar:Keypress", onFind));

Добавлено 02-03-2016 20:03:54

KOT040188 пишет

А во всплывпющей из звёхдочки панели выбор папки был сразу развёрнут?

В инициализацию:

Выделить код

Код:

addEventListener("popupshown", ()=> {
   document.getElementById('editBMPanel_foldersExpander').click();
}, true, document.getElementById("editBookmarkPanel"));

Отредактировано bunda1 (02-03-2016 20:03:54)

Отсутствует

 

№109902-03-2016 20:24:20

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

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

bunda1
Спасибо :) А сделать добавление закладки через звёздочку в последнюю выбранную папку, нельзя?

Отредактировано KOT040188 (02-03-2016 20:26:23)


Вы думаете у котов лёгкая жизнь? А вы попробуйте целый день лизать меховую шапку!

Отсутствует

 

№110002-03-2016 20:43:31

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

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

KOT040188 пишет

bunda1
А сделать добавление закладки через звёздочку в последнюю выбранную папку, нельзя?

Наверно можно и не сложно, но я не знаю что за функция Firefox добаляет закладки через звёздочку :/

Отсутствует

 

Board footer

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