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

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

№750112-02-2014 23:50:10

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4291
UA: Firefox 27.0

Re: Custom Buttons

bunda1
Можно вот тут

Выделить код

Код:

var image = tooltip.appendChild( document.createElement("image") );

попробовать добавить атрибут validate="never".


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№750213-02-2014 00:05:54

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

Re: Custom Buttons

Спасибо Infocatcher :)

Добавлено 13-02-2014 00:11:41
Кстати да, теперь код увеличивает картинки на загруженных страницах даже при выключенном интернете.

Отредактировано bunda1 (13-02-2014 00:11:41)

Отсутствует

 

№750315-02-2014 05:25:06

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

Re: Custom Buttons

Может кому нужно:

Выделить код

Код:

// Открыть всё во вкладках из папки закладок не загружая страницы в вкладках, от 15.02.2014. ................................
(function () {    
   // изменить внутреннюю функцию Firefox которая открывает всё во вкладках
   const openInTabs = PlacesUIUtils.openContainerNodeInTabs;
   eval("PlacesUIUtils.openContainerNodeInTabs = " + openInTabs.toString().replace('aView) {', 'aView){ \n  getDataAllMenuItems(aNode);  \n  if (aNode.itemId !== -1) return;'));
   addDestructor(function() { eval("PlacesUIUtils.openContainerNodeInTabs = " + openInTabs ) });

   // получить данные из всех пунктов папки закладок 
   function getDataAllMenuItems( aNode ) {
      aNode.containerOpen = true;
      
      for ( i = 0; i < aNode.childCount; ++i ) {
            var menuItem = aNode.getChild(i);
            
            if ( PlacesUtils.nodeIsURI( menuItem ) ) {
                 var url = menuItem.uri;
                 var title = menuItem.title;
                 var favicon = menuItem.icon.replace("moz-anno:favicon:", "");           

                 openTabWithoutLoading( url, title, favicon );
                 }
            }
   };   
   
   // добавить вкладку с указанными данными не загружая страницы
   function openTabWithoutLoading( url, title, favicon ) {
      var gSessionStore = Cc["@mozilla.org/browser/sessionstore;1"].getService(Ci.nsISessionStore);
      var tab = gBrowser.addTab(null);
      gSessionStore.setTabState( tab, JSON.stringify({
         entries: [ { url: url, title: title } ],
         lastAccessed: 0,
         index: 1,
         hidden: false,
         attributes: {},
         image: favicon
      }));
   };
})();

Но для папок истории не работает :/

Отредактировано bunda1 (15-02-2014 06:32:29)

Отсутствует

 

№750415-02-2014 10:39:57

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

Re: Custom Buttons

bunda1 пишет:

Может кому нужно:

Спасибо, очень полезная кнопочка, давно хотел именно такого открытия закладок из папок.

Отсутствует

 

№750515-02-2014 11:23:36

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

Re: Custom Buttons

bunda1
Вот ещё бы было неплохо, если  бы при открытие из папок использовалось и пустая вкладка.

Отсутствует

 

№750615-02-2014 15:32:49

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

Re: Custom Buttons

voqabuhe пишет:

bunda1
Вот ещё бы было неплохо, если  бы при открытие из папок использовалось и пустая вкладка.

Ты хочешь что бы код заменял уже открытую текущую пустую вкладку на первую из папки закладок. Так что ли?

:/ Да я тут подумал может добавить для кода возможность заменять уже открытые вкладки как это делает оргиналая функция. Хотя сам не пользуюсь и смысла не вижу.

Отсутствует

 

№750715-02-2014 16:11:46

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

Re: Custom Buttons

bunda1 пишет:

Ты хочешь что бы код заменял уже открытую текущую пустую вкладку на первую из папки закладок. Так что ли?

Ага.

bunda1 пишет:

Да я тут подумал может добавить для кода возможность заменять уже открытые вкладки как это делает оргиналая функция. Хотя сам не пользуюсь и смысла не вижу.

Мне такое точно не надо.

Отсутствует

 

№750815-02-2014 22:07:34

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

Re: Custom Buttons

voqabuhe
Ну как то так :/

Выделить код

Код:

// Открыть всё из папки закладок в новых вкладках не загружая страниц, от 15.02.2014. ................................
(function () {
   const ss = Cc["@mozilla.org/browser/sessionstore;1"].getService(Ci.nsISessionStore);
   
   // изменить внутреннюю функцию Firefox которая открывает всё во вкладках  
   const openInTabs = PlacesUIUtils.openContainerNodeInTabs;
   eval("PlacesUIUtils.openContainerNodeInTabs = " + openInTabs.toString().replace(' {', '{\n openTabWithoutLoading(aNode);\n if (aNode.itemId !== -1) return;\n'));
   addDestructor(function() PlacesUIUtils.openContainerNodeInTabs = openInTabs );
   
   // открыть всё из папки закладок
   function openTabWithoutLoading( aNode ) {
      
      aNode.containerOpen = true;
      for ( var array = [], i = 0; i < aNode.childCount; ++i ) 
            if ( PlacesUtils.nodeIsURI(aNode.getChild(i)) ) array.push( aNode.getChild(i) );

      var blank = isBlankPageURL(content.location.href);
      if ( blank ) gBrowser.loadURI( array.shift().uri );     
      
      array.forEach(function( m ) {           
           var tab = gBrowser.addTab(null);            
           ss.setTabState( tab, JSON.stringify({
              entries: [ { url: m.uri, title: m.title } ],
              lastAccessed: 0,
              index: 1,
              hidden: false,
              attributes: {},
              image: m.icon.replace("moz-anno:favicon:", "")
            }));    
      });
   };   
})();

или так :D:

Выделить код

Код:

// Открыть всё из папки закладок в новых вкладках не загружая страниц, от 15.02.2014. ................................
(function () {
   const ss = Cc["@mozilla.org/browser/sessionstore;1"].getService(Ci.nsISessionStore);
   
   // изменить внутреннюю функцию Firefox которая открывает всё во вкладках  
   const openInTabs = PlacesUIUtils.openContainerNodeInTabs;
   eval("PlacesUIUtils.openContainerNodeInTabs = " + openInTabs.toString().replace(' {', '{\n openTabWithoutLoading(aNode);\n if (aNode.itemId !== -1) return;\n'));
   addDestructor(function() PlacesUIUtils.openContainerNodeInTabs = openInTabs );
   
   // открыть всё из папки закладок
   function openTabWithoutLoading( aNode ) {
      aNode.containerOpen = true;
      
      for ( var i = 0; i < aNode.childCount; ++i ) {
            var item = aNode.getChild(i);
            if ( !PlacesUtils.nodeIsURI( item ) ) continue;
            
            // добавить вкладку с указанными данными не загружая страницы
            var tab = gBrowser.addTab(null);            
            ss.setTabState( tab, JSON.stringify({
               entries: [ { url: item.uri, title: item.title } ],
               lastAccessed: 0,
               index: 1,
               hidden: false,
               attributes: {},
               image: item.icon.replace("moz-anno:favicon:", "")
            }));    
            }
                        
      // если текущая пустая вкладка закрыть и переключится на соседнюю вкладку 
      var blank = isBlankPageURL(content.location.href);
      if ( !blank ) return;
      gBrowser.removeCurrentTab();
      gBrowser.mTabContainer.advanceSelectedTab(1);         
   };    
})();

Добавлено 15-02-2014 22:15:57
Эх, хотел сделать кнопку которая открывает все новые вкладки не загружая но после изменения соответствующих внутренних функций Firefox консоль полна ошибок.

Отредактировано bunda1 (15-02-2014 22:15:57)

Отсутствует

 

№750915-02-2014 23:37:29

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

Re: Custom Buttons

bunda1 пишет:

Ну как то так :/

Ну да, почти как хотел.:) Спасибо. Вот ещё бы задействовать пустую вкладку, когда она не активная. Можно?

Отредактировано voqabuhe (15-02-2014 23:37:48)

Отсутствует

 

№751015-02-2014 23:40:48

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

Re: Custom Buttons

voqabuhe пишет:

Ну да, почти как хотел.:) Спасибо. Вот ещё бы задействовать пустую вкладку, когда она не активная. Можно?

Как задействовать пустую вкладку, не понял.

Отсутствует

 

№751116-02-2014 00:01:22

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

Re: Custom Buttons

bunda1 пишет:

Как задействовать пустую вкладку, не понял.

bunda1 пишет:

Ты хочешь что бы код заменял уже открытую текущую пустую вкладку на первую из папки закладок.

Ну вот также, только ещё и когда новая вкладка неактивная, а то сейчас она всё равно остаётся пустой.

Отсутствует

 

№751216-02-2014 00:29:22

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

Re: Custom Buttons

voqabuhe пишет:

Ну вот также, только ещё и когда новая вкладка неактивная, а то сейчас она всё равно остаётся пустой.

Попробую хотя это посложнее будет :/
P.S. ты открываешь слишком много пустых вкладок, остановись!

Отсутствует

 

№751316-02-2014 00:47:43

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

Re: Custom Buttons

bunda1 пишет:

Попробую хотя это посложнее будет :/

Тогда не заморачивайся, такая ситуация нечасто возникает.

bunda1 пишет:

P.S. ты открываешь слишком много пустых вкладок, остановись!

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

Отсутствует

 

№751416-02-2014 00:50:06

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

Re: Custom Buttons

Ну тогда хорошо.

Отсутствует

 

№751517-02-2014 03:26:23

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

Re: Custom Buttons

Можно сделать разворачиватель комментариев на livejournal?

Отсутствует

 

№751619-02-2014 04:29:11

Alfina
Участник
 
Группа: Members
Зарегистрирован: 23-05-2010
Сообщений: 87
UA: Firefox 27.0

Re: Custom Buttons

rbfyec пишет:

Можно сделать разворачиватель комментариев на livejournal?

Может быть, вас заинтересует подобный скрипт для Greasemonkey? :) LiveJournal comments autoexpand

Отсутствует

 

№751719-02-2014 12:05:06

god_05
Участник
 
Группа: Members
Зарегистрирован: 15-02-2014
Сообщений: 135
UA: Firefox 27.0

Re: Custom Buttons

Подскажите, есть ли возможность добавить/клонировать несколько кнопок "Открыть новую вкладку" в разных местах окна браузера?

Отредактировано god_05 (19-02-2014 12:09:27)

Отсутствует

 

№751819-02-2014 19:36:32

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

Re: Custom Buttons

god_05 пишет:

Подскажите, есть ли возможность добавить/клонировать несколько кнопок "Открыть новую вкладку" в разных местах окна браузера?

Да сколько угодно если речь про Custom Buttons кнопку.

Отсутствует

 

№751919-02-2014 19:54:36

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

Re: Custom Buttons

Alfina пишет:

rbfyec пишет:

Можно сделать разворачиватель комментариев на livejournal?

Может быть, вас заинтересует подобный скрипт для Greasemonkey? :) LiveJournal comments autoexpand

Спасибо! :)
Greasemonkey у меня не установлено, поэтому я сделал из скрипта букмарклет

Выделить код

Код:

javascript:
function expCom(){
  var EXPAND_CONTAINER_SELECTORS = '.b-leaf-actions-item.b-leaf-actions-expand a, span[id^="expand_"] a, .commentText a, div.comment-menu a, div.talk-comment-box a, .comment-footer > span > a';
  var commentboxes = document.querySelectorAll(EXPAND_CONTAINER_SELECTORS);
  if (!commentboxes.length)
    return;
  for (var z = 0; z < commentboxes.length; z++) {
    if (commentboxes[z].getAttribute('onclick') && ~commentboxes[z].getAttribute('onclick').indexOf('ExpanderEx.make') || ~commentboxes[z].innerText.indexOf('Expand'))
      setTimeout(function(commentbox){ commentbox.click(); }(commentboxes[z]), 500);
  }
}
expCom()

Но теперь
1. В консоли ошибка Error: useless setTimeout call (missing quotes around argument?)
2. Раскрываются не все комментарии на странице. Впрочем, частичное нераскрытие имеет место даже если использовать скрипт с Greasemonkey, т. е. без всяких изменений.

Может тут мне помогут решить вопрос хотя бы с таймаутом?

Отсутствует

 

№752019-02-2014 20:48:26

god_05
Участник
 
Группа: Members
Зарегистрирован: 15-02-2014
Сообщений: 135
UA: Firefox 27.0

Re: Custom Buttons

bunda1 пишет:

Да сколько угодно

Как её клонировать?

Отсутствует

 

№752119-02-2014 21:24:11

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

Re: Custom Buttons

Нажми ПКМ на кнопке +
http://img22.imageshack.us/img22/7610/iwms.jpg 
P.S. а ты уверен что речь о Custom Buttons кнопке.

Отсутствует

 

№752219-02-2014 22:58:18

Lex1
Участник
 
Группа: Members
Зарегистрирован: 07-07-2007
Сообщений: 260
UA: Firefox 27.0

Re: Custom Buttons

rbfyec пишет:

помогут решить вопрос хотя бы с таймаутом?

Здесь нет таймаута, ведь функция вызывается немедленно, с переданным аргументом. Обычно используют замыкание: http://stackoverflow.com/questions/12451844/settimeout-with-arguments
Ну и innerText в фоксе вроде бы ещё не появился:)

Отсутствует

 

№752319-02-2014 23:00:19

god_05
Участник
 
Группа: Members
Зарегистрирован: 15-02-2014
Сообщений: 135
UA: Firefox 27.0

Re: Custom Buttons

bunda1 пишет:

P.S. а ты уверен что речь о Custom Buttons кнопке.

Это обычная кнопка.

Отсутствует

 

№752419-02-2014 23:30:14

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

Re: Custom Buttons

god_05
Ну тогда создай Custom Buttons кнопку с кодом:

Выделить код

Код:

document.getElementById("cmd_newNavigatorTab").doCommand();

И дублируй и размещай куда хочешь.

Отсутствует

 

№752519-02-2014 23:35:34

Pony_Smile_Pack
Участник
 
Группа: Members
Зарегистрирован: 13-01-2012
Сообщений: 1144
UA: Firefox 27.0

Re: Custom Buttons

rbfyec пишет:

Раскрываются не все комментарии на странице. Впрочем, частичное нераскрытие имеет место даже если использовать скрипт с Greasemonkey, т. е. без всяких изменений.

Вот ещё разворачиватель комментариев(и он работает, в отличии от скрипта)
Livejournal Comments Expander

Отсутствует

 

Board footer

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