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

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№420127-06-2012 01:26:54

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

Re: Custom Buttons

okkamas_knife пишет

voqabuhe пишет:
клавышей

ЫЫЫЫЫЫ!!

скрытый текст
Ну это как бы не я пишу, а только цитирую, если чЁ:)

Отсутствует

 

№420227-06-2012 06:42:36

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Firefox 16.0

Re: Custom Buttons

bunda1, Toggle  Find+3 - а можно пожалуйста крестик слева поместить?
4ad8H.png

и сама панелька  появлялась не сверху или снизу, а по центру окна :angel:

... а еще  при клике по "Подсветить всё" чтобы она сворачивалась >

DZAMq.png

Отредактировано Крошка Ру (27-06-2012 06:46:28)

Отсутствует

 

№420327-06-2012 08:26:15

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

Re: Custom Buttons

Крошка Ру пишет

а можно пожалуйста крестик слева поместить?
и сама панелька  появлялась не сверху или снизу, а по центру окна :angel:
... а еще  при клике по "Подсветить всё" чтобы она сворачивалась >

А разве крестик уже не слева ??? :(

Крошка Ру пишет

а
... а еще  при клике по "Подсветить всё" чтобы она сворачивалась >

Как это ?

Отсутствует

 

№420427-06-2012 08:59:17

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Firefox 16.0

Re: Custom Buttons

А разве крестик уже не слева ??? :(

bunda1 ,Ой - да,слева :blush: ... это просто у меня стиль Find Bar - like Google Chrome II был включён, а то слишком длинный FindBar неудобен :whistle:

au5qk.png

Добавлено 27-06-2012 09:12:46

Как это ?

То есть жму мышкой на "Подсветить всё" и всё кроме кнопок "Следующее" и "Предыдущее" пропадает (но это будет иметь смысл в том случае если возможно поместить её по центру страницы)

Добавлено 27-06-2012 09:25:45
... вообще наверное правильно было бы задать вопрос по этой кнопке >
Toggle  Find+ - её  переделать будет проще :)

Отредактировано Крошка Ру (27-06-2012 09:26:11)

Отсутствует

 

№420527-06-2012 10:45:43

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Firefox 16.0

Отсутствует

 

№420627-06-2012 13:20:30

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

Re: Custom Buttons

Кстати, раз уж автор сюда заглядывает, а возможности комментирования на хабре у меня нет, небольшое замечание: заворачивать код в (function() { ... })(); необязательно – код и так запускается через new Function().

Выделить код

Код:

var qwerty = true;
alert(window.qwerty); // undefined

И вряд ли это изменится – может много чего поломаться, если вывалить все переменные из кнопок наружу. :)


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

Отсутствует

 

№420727-06-2012 15:31:28

homo_nudus
Участник
 
Группа: Extensions
Зарегистрирован: 19-02-2007
Сообщений: 193
UA: Firefox 16.0

Re: Custom Buttons

Infocatcher
Спасибо за информацию, не знал. Привычная предосторожность в наследство от создания расширений. Сейчас подправлю.

Отсутствует

 

№420827-06-2012 19:43:05

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

Re: Custom Buttons

Крошка Ру пишет

а то слишком длинный FindBar неудобен

В Toggle  Find+3 есть режим FindBar мини

Крошка Ру пишет

Toggle  Find+ - её  переделать будет проще

Не проще, и Toggle  Find+3 мне болъше нравитса.

Крошка Ру пишет

То есть жму мышкой на "Подсветить всё" и всё кроме кнопок "Следующее" и "Предыдущее" пропадает (но это будет иметь смысл в том случае если возможно поместить её по центру страницы)

Поместить её по центру страницы можно но у меня сейчас нет времени на это.
flybar :: Add-ons for Firefox

У меня к тебе большая просьба на будущее, пиши понятней. Пожалей иностранца. :)



okkamas_knife
Context translate Пожалуйста подскажи код которым можно закрыть окошко перевода которое появляется если нажать Перевести выделенный текст в окне. Хочу его автоматически закрывать.

Отсутствует

 

№420927-06-2012 21:53:40

WatsonRus
Участник
 
Группа: Members
Зарегистрирован: 10-03-2009
Сообщений: 286
UA: Firefox 3.6

Re: Custom Buttons

Можно ли сделать кнопку для MAF или простую "Сохранить в MHT", или с выбором "Сохранить в MHT или MAF"?

На 16-й странице темы есть что-то по MAF, но не работает... в готовых кнопках есть только SaveTo с использованием UnMHT.


Firefox ESR

Отсутствует

 

№421027-06-2012 22:15:55

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

Re: Custom Buttons

voqabuhe пишет

Autocopy+3(Firefox 3.6-13)
В [nightly] перестала работать прикольная фишка

Выделить код

Код:

// Обработчик следит за кликами мыши на значке идентификации сайта в строке адреса.........................................   
document.getElementById("identity-box").addEventListener("click", function(event) {

// настройка функций кликов мыши на значке идентификации сайта...
// левый клик на кнопке
if ( event.button == 0 ) {
     // отключать реакцию по умолчанию на левый клик
     event.preventDefault();
     event.stopPropagation();
     // открыть без запроса информацию о странице
     BrowserPageInfo (gBrowser. contentDocument, "generalTab")
     };
// правый клик на кнопке
if ( event.button == 2) { 
     // отключать реакцию по умолчанию на правую кнопку мыши
     event.preventDefault();
     event.stopPropagation();
     // скопировать адрес
     var clipboard = Components.classes["@mozilla.org/widget/clipboardhelper;1"].  getService(Components.interfaces.nsIClipboardHelper);
     clipboard.copyString(content.location);
     // значок идентификации сайта мигает красным
     document.getElementById("identity-box").setAttribute("style", "background: red;");
     setTimeout(function() { document.getElementById("identity-box").removeAttribute("style") }, 500);
   };
}, true);

На днях значительно переделаю Autocopy+3(Firefox 3.6-13)

Отсутствует

 

№421127-06-2012 23:46:37

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

Re: Custom Buttons

bunda1
Спасибо, теперь копирует, но вот красным  не мигает.

// значок идентификации сайта мигает красным

А я правильно сделал, заменив

код

Выделить код

Код:

//Copy url.............................................................
 var copyurl = document.getElementById("page-proxy-stack");
if (copyurl) {
   copyurl.addEventListener("click", function(event){
if (event.button !==2) return;
//отключать реакцию по умолчанию на правую кнопку мыши
            event.preventDefault();
            event.stopPropagation();
   var clipboard = Components.classes["@mozilla.org/widget/clipboardhelper;1"].  getService(Components.interfaces.nsIClipboardHelper);
  //URL, copy to Clipboard 
   clipboard.copyString(getBrowser().currentURI.spec);      
   //page-proxy-stack, background: yellow
   var ppstack = document.getElementById("page-proxy-stack");
   ppstack.setAttribute("style", "background: yellow;");
   setTimeout(function() {ppstack.removeAttribute("style");}, 500);
   }, false)};


на новый?

Отсутствует

 

№421228-06-2012 00:22:21

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

Re: Custom Buttons

voqabuhe пишет

Спасибо, теперь копирует, но вот красным  не мигает.
А я правильно сделал, заменив на новый?

Да ты правильно заменил на новый. Непонятно пачему не мигает красным, может выноват какой ни будъ CSS стиль(для Stylish, userChrome.css)
Папробуй запустить этот код в другой кнопке:

Выделить код

Код:

document.getElementById("identity-box").setAttribute("style", "background: red;");

И сообши о результатах.

Отсутствует

 

№421328-06-2012 00:32:06

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

Re: Custom Buttons

bunda1

Непонятно пачему не мигает красным, может выноват какой ни будъ CSS стиль(для Stylish, userChrome.css)

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

Отсутствует

 

№421428-06-2012 03:37:05

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Firefox 16.0

Re: Custom Buttons

В Toggle  Find+3 есть режим FindBar мини

bunda1 ,Да, но он мне не нравится в таком виде :angel:

Поместить её по центру страницы можно но у меня сейчас нет времени на это.
flybar :: Add-ons for Firefox

именно он мне и припомнился :)


У меня к тебе большая просьба на будущее, пиши понятней. Пожалей иностранца. :)

Постараюсь :blush: ....а по Вашим текстам этого и не скажешь ;)

Отредактировано Крошка Ру (28-06-2012 03:37:20)

Отсутствует

 

№421529-06-2012 23:27:54

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

Re: Custom Buttons

Как убрать фокус с страницы ?

Добавлено 29-06-2012 23:56:34

Выделить код

Код:

var curElement = document.activeElement;
curElement.blur();

Отредактировано bunda1 (29-06-2012 23:56:34)

Отсутствует

 

№421630-06-2012 17:15:37

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

Re: Custom Buttons

okkamas_knife
Может это поможет https://loucypher.googlecode.com/svn/cu … 20this.xml
Или вот эта кнопка создаст кнопки рядом с собой на панели Make bookmarklet button

Отредактировано bunda1 (30-06-2012 17:16:04)

Отсутствует

 

№421730-06-2012 17:36:11

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Firefox 16.0

Re: Custom Buttons

Известная кнопочка :)

Fit to width

Выделить код

Код:

// ==UserScript==
// @name Custom Buttons
// @namespace http://www.greasespot.net/
// @include http://custombuttons.mozdev.org/drupal/content/*
// @exclude http://custombuttons.mozdev.org/drupal/content/main-page
// @exclude http://custombuttons.mozdev.org/drupal/content/custom-buttons-documentation
// ==/UserScript==
 
 if(content.document.getElementById("sidebar-left"))
 {
    content.document.getElementById("sidebar-left").style.display = "none";
 }
 

 
var d = content.document;
var s = d.createElement("style");
s.type = "text/css";
s.innerHTML = "#sidebar-left + td { padding-left: 0 }";
var h = d.getElementsByTagName("head")[0];
h.appendChild(s);
 
var p = content.document.getElementsByTagName("pre");
for (var i = 0; i < p.length; i++) {
  p[i].style.overflow = "auto";
  if (p[i].textContent.indexOf("data:image") == -1) {
    p[i].style.whiteSpace = "pre-wrap";
    p[i].style.wordWrap = "break-word";
  }
}
 
/* double click to select all */
 
//var d = document;
//var p = d.getElementsByTagName("pre");
for (var i = 0; i < p.length; i++) {
  p[i].addEventListener("dblclick", function () {
    var s = getSelection();
    var r = d.createRange();
    r.selectNodeContents(this);
    s.removeAllRanges();
    s.addRange(r);
  }, false);
}
 
/* fit to width */
 
function t(f) {
  var a = d.createNodeIterator(d, 1, f, false);
  while (a.nextNode()) {}
}
//var d = document;
t(function (e) {
  var x = e.offsetLeft;
  var l = e.offsetParent;
  while (l != null) {
    x += l.offsetLeft;
    l = l.offsetParent;
  }
  var w = d.documentElement.clientWidth - x;
  var s = e.style;
  if (s.marginLeft) w -= s.marginLeft;
  if (s.marginRight) w -= s.marginRight;
  if (s.paddingLeft) w -= s.paddingLeft;
  if (s.paddingRight) w -= s.paddingRight;
  if (s.borderWidth) w -= s.borderWidth;
  w -= d.defaultView.innerWidth - d.documentElement.offsetWidth;
  if (e.tagName == "IMG") {
    var h = e.clientHeight * w / e.clientWidth;
    s.maxHeight = h;
  }
  s.maxWidth = w + "px";
});


С подгонкой страниц под размер монитора она во многих случаях справляется вполне замечательно, но хотелось чтобы  на  сайтах адреса которых будут занесены в её список  она  делала это  автоматически  , то есть   например когда читаешь многостраничный форум, на каждой новой странице приходится жать на кнопку вновь  :angel:

Отсутствует

 

№421830-06-2012 18:05:29

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

Re: Custom Buttons

Крошка Ру пишет

Известная кнопочка Fit to width
С подгонкой страниц под размер монитора она во многих случаях справляется вполне замечательно, но хотелось чтобы  на  сайтах адреса которых будут занесены в её список  она  делала это  автоматически , то есть   например когда читаешь многостраничный форум, на каждой новой странице приходится жать на кнопку вновь  :angel:

Эх, Крошка Ру ну и запросы у тебя.
Можно усовершенствовать Red Link(Firefox)  и объединить с Fit to width
Может сделаю на следушей неделе но проблема в том что мне чтобы сделать харошую кнопку надо напиться спиртного + энергетического напитка типа Red bull

Отредактировано bunda1 (30-06-2012 18:09:25)

Отсутствует

 

№421930-06-2012 18:34:12

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Firefox 16.0

Re: Custom Buttons

ну и запросы у тебя.

bunda1, Настоятельная необходимость отсутствует :)

bunda1 пишет

Может сделаю на следушей неделе но проблема в том что мне чтобы сделать харошую кнопку надо напиться спиртного + энергетического напитка типа Red bull

Если не снизойдёт вдохновение, то ничего страшного :angel:

Отсутствует

 

№422030-06-2012 18:56:07

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

Re: Custom Buttons

okkamas_knife

Выделить код

Код:

var appcontent = document.getElementById("appcontent");
appcontent.addEventListener("DOMContentLoaded", function(event){alert('') }, true);

Это неудачный выбор, такой код будет срабатывать многократно при загрузки текущей страницы + если открыть другие табы в фоновом режиме.
Вот так лучше:

Выделить код

Код:

//обработчики для табов...
gBrowser.tabContainer.addEventListener("TabSelect", function(event){
//стоп, если страница загружается
if (gBrowser.mCurrentTab.hasAttribute("busy")) return; 
    alert(event) }, false);
gBrowser.addEventListener("pageshow", function(event){
//стоп, если открыть другие владки в фоновом режиме.
if (event.target.location.href !== getBrowser().currentURI.spec) return;
    alert(event) }, true);

Мне кажетса лучше заменить

Выделить код

Код:

content.document.location.href;

на

Выделить код

Код:

gBrowser.currentURI.host

Отредактировано bunda1 (30-06-2012 19:01:27)

Отсутствует

 

№422130-06-2012 19:41:52

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Firefox 16.0

Re: Custom Buttons

okkamas_knife,

Так?

Выделить код

Код:

var appcontent = document.getElementById("appcontent");
appcontent.removeEventListener("DOMContentLoaded", Myfunc, true);
appcontent.addEventListener("DOMContentLoaded", Myfunc, true);
 
function Myfunc(){
var clffull=content.document.location.href;
var chkpoint='/';
var arrayOfStrings = clffull.split(chkpoint);
var clf=arrayOfStrings[2];
var site_a="http://www.yandex.ru/";
var site_b="http://www.mail.ru/";
var site_c="http://www.rambler.ru/";
if (clf==site_a|clf==site_b|clf==site_c) //сюда добавляем адреса на каких должно срабатывать 
{
alert("сработало!"); 
//-----сюда нужный код

//----------------------
}

}

убираешь алерт и вставляешь в указанное место код той кнопки.

не понял что именно убрать - сам alert ?  и код какой "той кнопки" :angel:

alert("сработало!");
//-----сюда нужный код

//----------------------

Отсутствует

 

№422230-06-2012 20:01:19

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

Re: Custom Buttons

okkamas_knife пишет

я выше шаблон написал
если решишь заняться то сделай хранение адресов в конфиге
лучше раздельное для сраниц и для доменов
вобщем так:
лкм - обычное действие то бишь подгонка размера
скм добавление текущего сайта или страницы в постоянный список
заюзай промпт чекбокс для выбора отдельную страницу или домен заносить в список
пкм можно добавить редактирование списка вручную через промпт
проверку сайтов ессно придется сделать в цикле.

Я уже видел кнопки в которых идет редактирование списка вручную через промпт и мне это кажется дико неудобным. Вот бы открыть этот список в каком нибудь блокноте или окне с возможность сохранения.
Надо наверно сделать кнопку - шаблон которая на разных сайтах или доменах будет запускать нужные коды или даже кнопку на подобие шаблона в которую можно будет легко добавлять свои коди.

Отсутствует

 

№422330-06-2012 21:20:23

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

Re: Custom Buttons

okkamas_knife

1 часто ли будет использоваться редактирование? основная его функция удалить сайт если не нужно постоянное срабатывание, а сайт добавил по-ошибке, так что разок потерпеть неудобство ради простоты кода это нормально.

Все должно быть удобно, вот.

Хранить всё в текстовом файле в профиле и для редактирования вызывать внешний редактор

Наверно выберу этот вариант, хотя тут могут быть проблемы, мда код может получитса сложный, но не будем  искать легкие пути. :)

Есть несложная кнопка Notepad in Tab которая открывает блокнот как страницу, можно было редактировать в нем но я никак не могу придумать как туда автоматически при открывани ставить текст и потом оттуда получить обратно. 

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

Выделить код

Код:

var link="data:text/html;base64,PFRFWFRBUkVBPjwvVEVYVEFSRUE+DQo8c3R5bGU+aHRtbCB7YmFja2dyb3VuZC1jb2xvcjpibGFjaztvdmVyZmxvdzpoaWRkZW47fXRleHRhcmVhIHtiYWNrZ3JvdW5kOiMzODM4Mzg7b3ZlcmZsb3cteTphdXRvO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7LW1vei1ib3JkZXItcmFkaXVzOjVweDtib3JkZXI6IDVweCBpbnNldCB3aGl0ZTtjb2xvcjogd2hpdGU7fTwvc3R5bGU+";
gBrowser.selectedTab = gBrowser.addTab(link);

Отредактировано bunda1 (30-06-2012 21:24:31)

Отсутствует

 

№422430-06-2012 23:19:18

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

Re: Custom Buttons

okkamas_knife пишет

и при проверке обращаться к ней, а то прикинь если файлик хотябы до мегабайта вырастет - его даже блокнот с трудом скушает а уж искать в нём вообще мрак.

Да я не подумал об этом. :/

okkamas_knife пишет

подумав я решил что эта фича вообще лишняя по крайней мере в этом варианте - то есть оставить только два режима включено-выключено и отдельный разовый запуск.(кстати прикинь как будет тормозить проверка хотябы с тысячью сайтов в списке)

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



Зацени код. Открывает блокнот как страницу с общим количество открытых вкладок плюс заголовок и урл каждой вкладки. :) :D: :blush:

Выделить код

Код:

var tabs = getBrowser().mTabContainer.childNodes;
var tabsinfo='\n';
for (var i = 0; i < tabs.length ; i++){
tmpURL =  getBrowser().getBrowserAtIndex(i).currentURI.spec
cnt=i+1;
tabsinfo=tabsinfo+cnt+':'+tabs[i].label+'\n'+tmpURL+'\n———————————————————————————————\n';
}

Components.classes["@mozilla.org/widget/clipboardhelper;1"]
.getService(Components.interfaces.nsIClipboardHelper)
.copyString('количество вкладок='+tabs.length+tabsinfo);


var link="data:text/html;base64,PFRFWFRBUkVBPjwvVEVYVEFSRUE+DQo8c3R5bGU+aHRtbCB7YmFja2dyb3VuZC1jb2xvcjpibGFjaztvdmVyZmxvdzpoaWRkZW47fXRleHRhcmVhIHtiYWNrZ3JvdW5kOiMzODM4Mzg7b3ZlcmZsb3cteTphdXRvO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7LW1vei1ib3JkZXItcmFkaXVzOjVweDtib3JkZXI6IDVweCBpbnNldCB3aGl0ZTtjb2xvcjogd2hpdGU7fTwvc3R5bGU+";
loadURI(link);

gBrowser.addEventListener("pageshow", function(event){
gBrowser.removeEventListener("pageshow", arguments.callee, true);
var p = content.document.getElementsByTagName("textarea");
for (var i = 0; i < p.length; i++) {
   p[i].focus();
   goDoCommand('cmd_paste');
}
 }, true);

Отредактировано bunda1 (30-06-2012 23:20:57)

Отсутствует

 

№422501-07-2012 00:31:00

LongLogin
Участник
 
Группа: Members
Зарегистрирован: 30-01-2011
Сообщений: 2083
UA: Firefox 12.0

Re: Custom Buttons

Крошка Ру пишет

С подгонкой страниц под размер монитора она во многих случаях справляется вполне замечательно, но хотелось чтобы  на  сайтах адреса которых будут занесены в её список  она  делала это  автоматически  , то есть   например когда читаешь многостраничный форум, на каждой новой странице приходится жать на кнопку вновь

вот расширение, которое подгоняло все размеры сайтов, ImageFit, у некоторых оно работает до сих пор, кстати Tiger.711 включил его в свой знаменитый уже список, думаю оно должно стать первой ласточкой в благородном деле перевода расширений на рельсы CB

Отредактировано LongLogin (01-07-2012 00:31:36)

Отсутствует

 

Board footer

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