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

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

№717625-11-2013 04:04:27

Владимир...
Участник
 
Группа: Members
Зарегистрирован: 07-09-2013
Сообщений: 28
UA: Firefox 23.0

Re: Custom Buttons

Pony_Smile_Pack пишет

Нет, пользоваться закладкой, а не списком. Разместив её в удобном месте.

А возможно исправить Кнопку истории (Firefox) ?... чтобы она работала как заявлено), просто с её помощью - "Средний клик мышью - Открывает весь журнал посещений в отдельном окне.", что иногда тоже необходимо для поиска по имени...

Добавлено 01-12-2013 03:00:00
Жаль, что невозможно)... придется двумя кнопочками пользоваться)...    За закладку спасибо...

Отредактировано Владимир... (01-12-2013 03:27:10)

Отсутствует

 

№717726-11-2013 10:14:49

>ORG@niZM<
Участник
 
Группа: Members
Зарегистрирован: 20-08-2013
Сообщений: 66
UA: Firefox 17.0

Re: Custom Buttons

bunda1 пишет

// Открывать всё в новых вкладках, от 17.11.2013

вот спасибо! заодно вроде как решил свою проблему, добавив к

Выделить код

Код:

"about:newtab", "about:blank"

своё

Выделить код

Код:

"chrome://fastdial/content/fastdial.html"

в трёх местах - вроде как работает: если открыт Fast Dial (а он у меня открывается в новом пустом табе вместо about:newtab), то адрес из урлбара открывается в текущей пустой вкладке, иначе в новой.

Отсутствует

 

№717826-11-2013 15:24:26

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

Re: Custom Buttons

А как бы сделать, чтобы в [nightly] великолепное новое меню PanelUI закрывалось бы, только когда с него убираешь курсор, а не после каждого нажатия в нём любой кнопки?

Отсутствует

 

№717926-11-2013 19:17:07

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

Re: Custom Buttons

А для Visrus Total кнопочки нет? Стоит расширение Virus Total Scan Url, но маленько не тот функционал что хочется. А хочется два окошка для ссылки и для файла. А если мечтать по полной, ЛКМ - файлы, ПКМ - ссылка, а СКМ проверить страничку на которой находишься.

Отсутствует

 

№718027-11-2013 13:58:10

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

Re: Custom Buttons

Нужна кнопка по ЛКМ- запустить приложение, по ПКМ-закрыть приложение.
Пыжился сделать, но что-то не фурычит, процесс приложения по ПКМ завершает, а вот запустить по ЛКМ никак не хочет. Может кто глянет что не так.

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

Выделить код

Код:

this.onclick = function(event) {
    if(event.button == 0) {
        // Действие при клике ЛКМ
startProcess("C:\\Program Files\\Internet Download Manager\\IDMan.exe",[""]);

function startProcess(path, args) {
    var file = Components.classes["@mozilla.org/file/local;1"]
        .createInstance(Components.interfaces.nsILocalFile);
     file.initWithPath(path);
    if(file.exists()) {
       var process = Components.classes["@mozilla.org/process/util;1"]
              .createInstance(Components.interfaces.nsIProcess);
       process.init(file);
        process.run(false, args, args.length);
      } else custombuttons. alertBox ("Файл не найден", path); 
};
    }
    
    else if(event.button == 2 && !event.ctrlKey && !event.shiftKey && !event.altKey && !event.metaKey) {
        // Действие при клике ПКМ без модификаторов
var file = Components.classes["@mozilla.org/file/local;1"]
                     .createInstance(Components.interfaces.nsILocalFile);
file.initWithPath("C:\\WINDOWS\\system32\\taskkill.exe");


var process = Components.classes["@mozilla.org/process/util;1"]
                        .createInstance(Components.interfaces.nsIProcess);
process.init(file);


var args = ["/F", "/IM","IDMan.exe"];
process.run(false, args, args.length)
    }
};
this.oncontextmenu = function(event) {
    if(event.button == 2 && !event.ctrlKey && !event.shiftKey && !event.altKey && !event.metaKey) {
        // Блокируем контекстное меню при клике ПКМ без модификаторов
        event.preventDefault();
        event.stopPropagation();
    }
};


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

Отсутствует

 

№718127-11-2013 16:29:58

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

Re: Custom Buttons

okkamas_knife
В консоле пишет ReferenceError: startProcess is not defined
Блокнот тоже не запускается.


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

Отсутствует

 

№718227-11-2013 18:23:21

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

Re: Custom Buttons

okkamas_knife
Поставил после первой закрывающей скобки, кнопка стала не активной, может не туда вставляю.

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

Выделить код

Код:

function startProcess(path, args) {
    var file = Components.classes["@mozilla.org/file/local;1"]
        .createInstance(Components.interfaces.nsILocalFile);
     file.initWithPath(path);
    if(file.exists()) {
       var process = Components.classes["@mozilla.org/process/util;1"]
              .createInstance(Components.interfaces.nsIProcess);
       process.init(file);
        process.run(false, args, args.length);
      } 
      startProcess("C:\\Program Files\\Internet Download Manager\\IDMan.exe",[""]);
      else custombuttons. alertBox ("Файл не найден", path); 
};
    }


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

Отсутствует

 

№718327-11-2013 20:22:26

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

Re: Custom Buttons

okkamas_knife
Ага, после не той кавычки вставлял, спасибо.


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

Отсутствует

 

№718427-11-2013 21:58:18

Чайник
Участник
 
Группа: Members
Зарегистрирован: 15-04-2008
Сообщений: 268
UA: Firefox 25.0

Re: Custom Buttons

Mishania пишет

А для Visrus Total кнопочки нет? Стоит расширение Virus Total Scan Url, но маленько не тот функционал что хочется. А хочется два окошка для ссылки и для файла. А если мечтать по полной, ЛКМ - файлы, ПКМ - ссылка, а СКМ проверить страничку на которой находишься.

Mishania попробуйте этот код в инициализацию

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

Выделить код

Код:

this.onmouseup (e) {

        //===================== ЛКМ - форма для загрузки файлов
        if (e.button == 0) {
          gBrowser.selectedTab = gBrowser.addTab("https://www.virustotal.com/ru");
        }

        //===================== ПКМ - вставка ссылки из буфера 
        else if (e.button == 2 && !e.ctrlKey) {
          this.oncontextmenu = function () {
            return false
          };
          var clip = readFromClipboard();
          var tab = gBrowser.loadOneTab("https://www.virustotal.com/ru/#url", null, null, null, false);
          tab.addEventListener("load", function () {
            content.document.forms[1].elements[0].value = clip;
            content.document.querySelector('#btn-scan-url').click();
            tab.removeEventListener("load", arguments.callee, false);
          }, false)
        }

        //===================== ПКМ + Ctrl - контекстное меню кнопки
        else if (e.button == 2 && e.ctrlKey) {
          gShowPopup(this)
        }

        //===================== СКМ - отправка текущей страницы на проверку
        else {
          var url = content.document.location.href;
          var tab = gBrowser.loadOneTab("https://www.virustotal.com/ru/#url", null, null, null, false);
          tab.addEventListener("load", function () {
            content.document.forms[1].elements[0].value = url;
            content.document.querySelector('#btn-scan-url').click();
            tab.removeEventListener("load", arguments.callee, false);
          }, false)
        }
      }

Отредактировано Чайник (28-11-2013 02:29:24)

Отсутствует

 

№718528-11-2013 02:48:04

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

Re: Custom Buttons

Чайник пишет

попробуйте этот код в инициализацию

Что то не фурычит, кнопка не активна и на 24 и на 25 [firefox]


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

Отсутствует

 

№718628-11-2013 07:34:07

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

Re: Custom Buttons

Чайник
Тоже не работает.

Отсутствует

 

№718728-11-2013 19:03:20

Чайник
Участник
 
Группа: Members
Зарегистрирован: 15-04-2008
Сообщений: 268
UA: Firefox 25.0

Re: Custom Buttons

Mishania
Что-то при написании того поста не вставилось слово function. Не знаю почему.
Вот код который у меня работает

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

Выделить код

Код:

this.onmouseup = function(e){
  
 //===================== ЛКМ - форма для загрузки файлов
  if(e.button==0) { 
  gBrowser.selectedTab = gBrowser.addTab("https://www.virustotal.com/ru");
  }
  
 //===================== ПКМ - вставка ссылки из буфера 
  else if(e.button==2&&!e.ctrlKey) { 
    this.oncontextmenu = function () {
      return false
      };
    var clip = readFromClipboard();  
    var tab = gBrowser.loadOneTab("https://www.virustotal.com/ru/#url", null, null, null, false);
    tab.addEventListener("load", function(){
    content.document.forms[1].elements[0].value=clip;
    content.document.querySelector('#btn-scan-url').click();
    tab.removeEventListener("load", arguments.callee, false);
    }, false)
  }
  
 //===================== ПКМ + Ctrl - контекстное меню кнопки
  else if(e.button==2&&e.ctrlKey) {
  gShowPopup(this)
  }
  
 //===================== СКМ - отправка текущей страницы на проверку
  else {
  var url = content.document.location.href;
  var tab = gBrowser.loadOneTab("https://www.virustotal.com/ru/#url", null, null, null, false);
  tab.addEventListener("load", function(){
    content.document.forms[1].elements[0].value=url;
    content.document.querySelector('#btn-scan-url').click();
    tab.removeEventListener("load", arguments.callee, false);
    }, false)
  }
}

Отсутствует

 

№718828-11-2013 19:38:04

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

Re: Custom Buttons

Чайник
:) Спасибо, всё работает. Можно смело использовать вместо расширения.

Отредактировано Mishania (28-11-2013 19:41:22)

Отсутствует

 

№718902-12-2013 15:13:46

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

Re: Custom Buttons

bunda1
Можешь middleMousePaste для [nightly] подправить? А то она перестала замещать выделенный текст, плюс к этому мешает  открыть с первого раза вкладку Настройка Nightly,  это по ПКМ - Настроить, или по-другому в новой кнопке PanelUI-menu-button нажать +Настроить, приходится эту самую +Настроить два раза клацать.

Отсутствует

 

№719002-12-2013 19:45:49

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

Re: Custom Buttons

Подскажите, как в Custom Buttons выполнять команды зашитые в контекстное меню?
Скажем gContextMenu.viewImageInfo();
Я пробую в Scratchpad'e но получается ошибка "gContextMenu is null"


И ещё вопрос - как с помощью js вызвать контекстное меню элемента страницы?

Отредактировано toxa (02-12-2013 19:54:21)

Отсутствует

 

№719102-12-2013 21:13:52

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

Re: Custom Buttons

toxa пишет

Скажем gContextMenu.viewImageInfo();

Можно вот так: https://forum.mozilla-russia.org/viewto … 00#p383600
Или вот так: https://forum.mozilla-russia.org/viewto … 39#p599539

toxa пишет

И ещё вопрос - как с помощью js вызвать контекстное меню элемента страницы?

Примерно так:

Выделить код

Код:

var targetNode = content.document.documentElement;

var doc = targetNode.ownerDocument;
var win = doc.defaultView;
targetNode.dispatchEvent(new MouseEvent("contextmenu", {
    bubbles: true,
    cancelable: true,
    view: win/*,
    detail: 1,
    screenX: 0,
    screenY: 0,
    clientX: 0,
    clientY: 0,
    ctrlKey:  false,
    altKey:   false,
    shiftKey: false,
    metaKey:  false,
    button:   0,
    relatedTarget: null*/
}));

Отредактировано Infocatcher (02-12-2013 21:14:54)


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

Отсутствует

 

№719202-12-2013 22:19:32

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

Re: Custom Buttons

voqabuhe пишет

bunda1
Можешь middleMousePaste для [nightly] подправить? А то она перестала замещать выделенный текст, плюс к этому мешает  открыть с первого раза вкладку Настройка Nightly,  это по ПКМ - Настроить, или по-другому в новой кнопке PanelUI-menu-button нажать +Настроить, приходится эту самую +Настроить два раза клацать.

Завтра.

Отредактировано bunda1 (02-12-2013 22:37:40)

Отсутствует

 

№719303-12-2013 01:22:01

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

Re: Custom Buttons

Infocatcher пишет
toxa пишет

Скажем gContextMenu.viewImageInfo();

Можно вот так: https://forum.mozilla-russia.org/viewto … 00#p383600
Или вот так: https://forum.mozilla-russia.org/viewto … 39#p599539

Infocatcher, я взял за основу этот код

Выделить код

Код:

document.popupNode = content.document.documentElement;
var cm = document.getElementById("contentAreaContextMenu");
cm.collapsed = true;
cm.openPopup();
document.getElementById("id пункта меню").click();
cm.hidePopup();
cm.collapsed = false;

Как-то он странно себя ведёт. Вроде сработал, но стоит обновить страницу и уже не работает, в консоли ошибка TypeError: gContextMenu is null .
Но если я вызову правым кликом контекстное меню у любого элемента, даже и на другой вкладке - код опять работает.

Отсутствует

 

№719403-12-2013 02:07:22

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

Re: Custom Buttons

Как узнать координаты изображения на странице из контекстного меню изображения.

Я тут нашёл код но не работает в фреймах:

Выделить код

Код:

function getAbsolutePosition(el) {
          var r = { x: el.offsetLeft, y: el.offsetTop };
          if ( el.offsetParent ) {     
               var tmp = getAbsolutePosition(el.offsetParent);
               r.x += tmp.x;
               r.y += tmp.y;
          }
          return r;
       }
       var position = getAbsolutePosition(img);

Отредактировано bunda1 (03-12-2013 03:59:30)

Отсутствует

 

№719503-12-2013 11:46:08

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 962
UA: Firefox 24.0

Re: Custom Buttons

Использую такой код для открытия журнала во вкладке:

Выделить код

Код:

this.onclick = function(event) {
    if(event.button == 1) {
        if(getBrowser().currentURI.spec == "about:blank") loadURI ("chrome://browser/content/history/history-panel.xul");
            else
        { getBrowser (). selectedTab = getBrowser (). addTab ("chrome://browser/content/history/history-panel.xul"); }
                }
};

Вид отображения в нем настроен "По дате последнего посещения". Но по каким-то причинам, время от времени вид сбрасывается на "По дате". Такое поведение начинает раздражать.
Помогите дописать код так, чтобы при открытии вкладки журнала вид сразу фиксировался на нужном мне - "По дате последнего посещения". Нужный параметр в about:config я не нашел.
И еще хотелось бы добавить такую плюшку: при нажатии СКМ по кнопке "Вид" произвести очистку журнала.

СКМ по этой кнопке
8b7d841e7e02.jpg

Отсутствует

 

№719603-12-2013 17:01:28

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

Re: Custom Buttons

Inko7
Попробуй добавить в кнопку

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

Выделить код

Код:

addEventListener("load", function(e) {
    if (e.target.location != "chrome://browser/content/history/history-panel.xul") return;
    const doc = e.target, btn = doc.getElementById("viewButton"), itm = doc.getElementById("bylastvisited");
    setTimeout(function() itm.doCommand(), 100);
    btn.onclick = function(e) {
        if (e.button != 1) return;
        const sjs = {};
        Services.scriptloader.loadSubScript("chrome://browser/content/sanitize.js", sjs);
        sjs.Sanitizer.prototype.items.history.clear();
    };
    doc.defaultView.BookmarksEventHandler = BookmarksEventHandler;
}, true, gBrowser);

Отсутствует

 

№719703-12-2013 17:15:23

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 962
UA: Firefox 24.0

Re: Custom Buttons

Dumby
Класс, все работает :rock:
Спасибо.

Отсутствует

 

№719803-12-2013 18:12:49

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

Re: Custom Buttons

toxa пишет

Как-то он странно себя ведёт. Вроде сработал, но стоит обновить страницу и уже не работает, в консоли ошибка TypeError: gContextMenu is null .
Но если я вызову правым кликом контекстное меню у любого элемента, даже и на другой вкладке - код опять работает.

Странно, у меня на этой странице работает вот такое (из Scratchpad'а):

Выделить код

Код:

document.popupNode = content.document.links[0];
var cm = document.getElementById("contentAreaContextMenu");
cm.collapsed = true;
cm.openPopup();
document.getElementById("context-openlinkintab").click();
cm.hidePopup();
cm.collapsed = false;

Как/откуда запускается код?
И можно попробовать добавить вот так:

Выделить код

Код:

var cm = document.getElementById("contentAreaContextMenu");
cm.hidePopup();

Добавлено 03-12-2013 18:15:56

bunda1 пишет

Как узнать координаты изображения на странице из контекстного меню изображения.

getBoundingClientRect()?

Отредактировано Infocatcher (03-12-2013 18:15:56)


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

Отсутствует

 

№719903-12-2013 20:14:15

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

Re: Custom Buttons

Infocatcher пишет

Странно, у меня на этой странице работает вот такое (из Scratchpad'а):

Выделить код

Код:

document.popupNode = content.document.links[0];
var cm = document.getElementById("contentAreaContextMenu");
cm.collapsed = true;
cm.openPopup();
document.getElementById("context-openlinkintab").click();
cm.hidePopup();
cm.collapsed = false;

Как/откуда запускается ?

Из Scratchpad'а же.
Вот что получается когда Scratchpad в контексте "Браузер"
bbpng_6041522_9954826.jpg

И вот что в контексте "Содержимое"
aapng_4397963_9954848.jpg

А после правого клика в любом месте страницы - лишь бы появилось какое-то контекстное меню - код начинает работать. До обновления страницы.

Infocatcher пишет

И можно попробовать добавить вот так:

Выделить код

Код:

var cm = document.getElementById("contentAreaContextMenu");
cm.hidePopup();

Это я не понял в какое место кода добавлять.

Отсутствует

 

№720003-12-2013 21:06:16

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

Re: Custom Buttons

toxa пишет

И вот что в контексте "Содержимое"

Это да, там и не должно работать.

toxa пишет

Это я не понял в какое место кода добавлять.

Надо добавить

Выделить код

Код:

cm.hidePopup();

после

Выделить код

Код:

var cm = document.getElementById("contentAreaContextMenu");

И еще вот так можно попробовать:

Выделить код

Код:

document.popupNode = content.document.links[0];
var cm = document.getElementById("contentAreaContextMenu");
//cm.hidePopup();
cm.collapsed = true;
cm.openPopup();
setTimeout(function() {
    document.getElementById("context-openlinkintab").click();
    cm.hidePopup();
    cm.collapsed = false;
}, 0);

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

Отсутствует

 

Board footer

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