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

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

№1052613-08-2016 18:02:10

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

Re: Custom Buttons

cahesigwias
В Right Links подобное поведение можно задать.

Добавлено 13-08-2016 18:09:28
Да и кнопка уже есть: [CB]Открывать ссылки в новой вкладке длинным кликом. Забыл про нее.

Отредактировано turbot (13-08-2016 18:09:28)

Отсутствует

 

№1052713-08-2016 22:25:38

cahesigwias
Участник
 
Группа: Members
Зарегистрирован: 19-05-2015
Сообщений: 8
UA: Firefox 48.0

Re: Custom Buttons

turbot пишет

cahesigwias
В Right Links подобное поведение можно задать.

Добавлено 13-08-2016 18:09:28
Да и кнопка уже есть: [CB]Открывать ссылки в новой вкладке длинным кликом. Забыл про нее.

Спасибо за ссылку на кнопку, то что нужно, но она не хочет работать с мультипроцессностью, это можно ка кто исправить? просто ничего не происходит, если отключить мультипроцессность, то работает как нужно.

Расширение Right Links давно пробовал, уже не помню что, но что то там работало не так как я хочу, а сейчас оно вообще не работает на FF48

Отредактировано cahesigwias (13-08-2016 22:31:41)

Отсутствует

 

№1052814-08-2016 11:27:03

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

Re: Custom Buttons

Последний дубль :) :

Выделить код

Код:

this.tooltipText = "folder navigator:\n"+
               "Перетащите папку закладок на кнопку.\n"+
               "Навигация - клик ЛКМ по кнопке (закрыть активную вкладку).";

var v = 3; //количество первых - одновременно загружаемых вкладок
var p = 7; //количество подгружаемых вкладок во время простоя первых
var jscript = true; //Отключать javascript глобально

var i, d, m;
var links = [];

this.ondragover = () => false;
this.ondrop = e => {
    var place = e.dataTransfer.getData("text/x-moz-place"), obj;
    if (place && (obj = JSON.parse(place)).type == "text/x-moz-place-container"
        && !("annos" in obj && obj.annos.some(anno => anno.name.startsWith("livemark/") || anno.value == "AllBookmarks"))) {
        var html = e.dataTransfer.getData("text/html");
        var doc = new DOMParser().parseFromString(html, "text/html");
        links = [...doc.querySelectorAll("body > DL > DD > A")].map(a => a.getAttribute("HREF"));
       }    
  i = d = 0; m = links.length;

  if (jscript) gBrowser.mPrefs.setBoolPref("javascript.enabled", false);
  gBrowser.selectedTab = gBrowser.addTab(links[i]);
  run();
}

function run(){
    if([...gBrowser.tabs].some(tab=>{ return tab.getAttribute("busy") }) == 0 && i - d < p + v - 1 && i < m-1)
    {i++; gBrowser.addTab(links[i]); }
    else if(i < m-1 && i - d < v-1) 
    {i++; gBrowser.addTab(links[i]); }
    if(i < m-1) setTimeout(()=>run(), 500);
    else return;
}

this.onclick = function(e){
  if (e.button == 0){ 
      if(d < m) 
        {var targetTab = gBrowser.selectedTab; gBrowser.removeTab(targetTab); d++;}    
      if(i >= m-1 && d == m) 
        { if (jscript) gBrowser.mPrefs.setBoolPref("javascript.enabled", true); return;}
    }
}

Кнопка для просмотра километровых папок :/

Отредактировано fokanik (14-08-2016 21:32:14)

Отсутствует

 

№1052914-08-2016 12:01:59

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Custom Buttons

Добрый день. Прошу доработать кнопку /* Панель закладок */ . Необходимо доработать кнопку так, чтобы она стала "инверсной" (кнопка нажата - панель убрана ,а не как в стандартном варианте ,кнопка нажата - панель видна). Заранее спасибо.

Выделить код

Код:

/*CODE*/

var tlbr="custombuttons.toolbars.1"; // для второй и последующих кнопок заменить 1 на следующий порядковый номер

var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService);
this.PS = Components.classes['@mozilla.org/preferences-service;1'] .getService(Components.interfaces.nsIPrefBranch);

var statebar=1-this.PS.getBoolPref(tlbr); this.PS.setBoolPref(tlbr,statebar);

*/
var tName = "PersonalToolbar";
/*при использовании одной из стандартных панелей замените ниже
строку 
document.getElementById("__customToolbar_" + tName.replace(/ /, "_")).collapsed = statebar;
на
document.getElementById(tName).collapsed = statebar;
*/
document.getElementById(tName).collapsed = statebar;

this.checked=1-statebar;

/*Initialization Code*/

var toolbar = document.getElementById("PersonalToolbar");
self.checked = !toolbar.collapsed;
this.onclick = function(e) {
   if ( e.button ) return;
   setToolbarVisibility( toolbar, toolbar.collapsed );
   self.checked = !toolbar.collapsed;
};

Отредактировано Duche (14-08-2016 17:27:10)

Отсутствует

 

№1053014-08-2016 14:16:02

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

Re: Custom Buttons

Вопрос знающим людям! Как на [nightly] с включеным многопроцессным режимом заблокировать событие click на странице? e.preventDefault(); e.stopPropagation(); уже не помогает.

Отсутствует

 

№1053114-08-2016 20:45:37

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

Re: Custom Buttons

bunda1
Или https://developer.mozilla.org/en-US/Fir … d_lifetime (и это муторно).
Или все-таки (когда и если) починят compatibility shims, и заработает preventDefault() и все прочее. Хотя скорее их тупо вырубят вообще, CPOWs вот утонули даже особо и не всплыв.


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

Отсутствует

 

№1053214-08-2016 21:24:49

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

Re: Custom Buttons

Infocatcher пишет

bunda1
Или https://developer.mozilla.org/en-US/Fir … d_lifetime (и это муторно).
Или все-таки (когда и если) починят compatibility shims, и заработает preventDefault() и все прочее. Хотя скорее их тупо вырубят вообще, CPOWs вот утонули даже особо и не всплыв.

Спасибо.

Отсутствует

 

№1053314-08-2016 21:32:01

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

Re: Custom Buttons

Duche

Вместо того. Все в инициализацию

Выделить код

Код:

this._handleClick =()=> setToolbarVisibility(tName, tName.collapsed);

var tName = document.getElementById("PersonalToolbar");
var mo = new MutationObserver(()=> self.checked = tName.collapsed);
mo.observe(tName, {attributes: true, attributeFilter: ["collapsed"]});
mo.mutationCallback(addDestructor(() => mo.disconnect()));

Отсутствует

 

№1053414-08-2016 22:09:32

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

Re: Custom Buttons

bunda1
Да, это муторно. Вот, попробавал набросать, вроде работает, на первый взгляд.

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

Выделить код

Код:

(code => {
    var delay = 500;              // время удержания в мс
    var inBackground = true;      // открывать в фоновой вкладке
    var relatedToCurrent = true;  // открывать рядом с related вкладкой

    var p = "CB" + _id.slice(20) + ":LongPressHandler:";
    var msgDestroy = p + "Destroy", msgResponse = p + "Response";
    code = code.replace(/%MD%/g, msgDestroy).replace("%MR%", msgResponse)
        .replace("%DL%", delay).replace("%BG%", inBackground);

    var url = "data:," + encodeURIComponent(code);
    var mm = window.getGroupMessageManager("browsers");
    mm.loadFrameScript(url, true);

    function handleLongPress(msg) {
        var [link, ref, ctrl] = msg.data;
        var bg = inBackground != null ? inBackground
            : Services.prefs.getBoolPref("browser.tabs.loadInBackground");
        gBrowser.loadOneTab(link, {
            relatedToCurrent, inBackground: ctrl != bg, //referrerURI: makeURI(ref)
        });
    }
    mm.addMessageListener(msgResponse, handleLongPress);

    addDestructor(() => {
        mm.removeDelayedFrameScript(url);
        mm.broadcastAsyncMessage(msgDestroy);
        mm.removeMessageListener(msgResponse, handleLongPress);
    });
})(`({
    init() {
        addEventListener("mousedown", this, false);
        addMessageListener("%MD%", this);
    },
    receiveMessage() {
        removeEventListener("mousedown", this, false);
        removeMessageListener("%MD%", this);
    },
    handleEvent(e) {
        if (e.type == "mousedown") {
            if (e.button || e.shiftKey || e.altKey || e.detail != 1) return;

            var a = e.originalTarget.closest("a[href]");
            if (!a || a.href.startsWith("javascript:")) return;

            this.ctrl = e.ctrlKey;
            this.initLongPress(a);
        } else {
            if (e.type == "click" && !this.link) e.preventDefault();
            this.destroyLongPress();
        }
    },
    get timer() {
        delete this.timer;
        return this.timer = Components.classes["@mozilla.org/timer;1"]
            .createInstance(Components.interfaces.nsITimer);
    },
    notify() {
        sendSyncMessage("%MR%", [this.link.href, this.link.ownerDocument.URL, this.ctrl]);
        this.link = null;
        if (!%BG%) this.destroyLongPress();
    },
    initLongPress(a) {
        addEventListener("click", this, true);
        addEventListener("dragstart", this, false);
        this.timer.initWithCallback(this, %DL%, this.timer.TYPE_ONE_SHOT);
        this.link = a;
    },
    destroyLongPress() {
        removeEventListener("click", this, true);
        removeEventListener("dragstart", this, false);
        this.link && this.timer.cancel();
        this.link = null;
    }
}).init();`);

Отсутствует

 

№1053514-08-2016 22:10:55

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

Re: Custom Buttons

bunda1
Да, но панель и не кнопкой может быть скрыта, так что пусть его. :)

Отсутствует

 

№1053614-08-2016 22:20:47

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

Re: Custom Buttons

Dumby пишет

bunda1
Да, это муторно. Вот, попробавал набросать, вроде работает, на первый взгляд.

Да действительно муторно. Печально что разработчики что то не хорошое делают с лисой раз приходится писать столько кода где раньше можно было обходится парой строчек. Проверил на nightly вроде работает. Спасибо.

Отсутствует

 

№1053715-08-2016 07:41:00

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Custom Buttons

turbot пишет

Вместо того. Все в инициализацию

Спасибо за работу!

Отсутствует

 

№1053815-08-2016 14:47:38

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Custom Buttons

turbot пишет

Duche пишет:

Добрый день. Обращаюсь к специалистам, создать новый пункт "Добавить как закладку в" в контекстном меню на странице,

Добрый день.Прошу Вас еще немного доработать кнопку "Добавить как закладку в". При пользовании кнопкой выявился небольшой баг . Продвигаясь по дереву закладок (как на картинке) из контекстного меню и попытки открыть ПКМ контекстное меню на искомой закладке , контекстное меню открывается , но при отпускании ПКМ , контекстное меню пропадает а закладка открывается , как при работе ЛКМ . Заранее спасибо.

Отсутствует

 

№1053915-08-2016 15:03:06

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

Re: Custom Buttons

Duche
Замените в первом коде строчку

Выделить код

Код:

menuPopup.setAttribute("onclick", "event.preventDefault(); event.stopPropagation(); BookmarksEventHandler.onClick(event, this.parentNode._placesView);");

Хм, а так не работает контекстное меню папок. Надо подумать. Или может подскажет кто.

Отредактировано turbot (15-08-2016 15:12:57)

Отсутствует

 

№1054015-08-2016 15:32:04

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Custom Buttons

turbot пишет

Хм, а так не работает контекстное меню папок.

А у меня контекстное маню есть, при длинном клике ПКМ из под Right Links. При коротком клике ПКМ - открытие закладки. Если отключить Right Links то да , не работает контекстное меню.

Отсутствует

 

№1054115-08-2016 15:37:22

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

Re: Custom Buttons

Duche пишет

Right Links

Точно. Ему спасибо. :)

А у меня контекстное маню есть

Только у закладок. Но не у папок. Да и только, как выше заметили, с Right Links. Так что подумаю еще.

Отсутствует

 

№1054215-08-2016 16:35:16

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

Re: Custom Buttons

Не, не знаю. Не могу найти, как правильно вызвать контекстное меню placesContext. :/

Отсутствует

 

№1054316-08-2016 10:03:52

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Custom Buttons

turbot пишет

Не, не знаю. Не могу найти, как правильно вызвать контекстное меню

Подождём, может что в голову и придёт. Главное , правильно выполняет функцию сохранения , остальное из разряда "хотелочек". Ещё маленькая "хотелочка". В кнопке есть "// всплывающая подсказка ...."  "Добавил в папку " как изменить позиционирование подсказки из правого нижнего угла,  на право вверх.Заранее спасибо.

Отредактировано Duche (16-08-2016 10:04:27)

Отсутствует

 

№1054416-08-2016 16:35:47

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

Re: Custom Buttons

Duche
Если никто не подскажет, то я пас. idontnow.gif

как изменить позиционирование подсказки из правого нижнего угла,  на право вверх.

Просто - никак. Не стоит оно возни. Можете код, после  "// всплывающая подсказка"  удалить вовсе, если мешают.

Отсутствует

 

№1054516-08-2016 17:00:33

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Custom Buttons

turbot пишет

Просто - никак

Понятно. И так всё хорошо работает.
Спасибо за работу!

Отсутствует

 

№1054617-08-2016 19:06:49

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

Re: Custom Buttons

А еще вопросик, как получить количество открытых вкладок в окне бараузера (активном)?

Отсутствует

 

№1054717-08-2016 19:25:51

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

Re: Custom Buttons

window.gBrowser.visibleTabs.length

Отсутствует

 

№1054817-08-2016 20:19:24

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

Re: Custom Buttons

turbot пишет

window.gBrowser.visibleTabs.length

а еще для [seamonkey] такую-же нужно строчку?

Отсутствует

 

№1054917-08-2016 20:22:54

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

Re: Custom Buttons

window.gBrowser.mTabs.length

Отсутствует

 

№1055017-08-2016 20:29:06

Ultima2m
Участник
 
Группа: Members
Откуда: Россия
Зарегистрирован: 28-11-2013
Сообщений: 608
UA: Firefox 48.0

Re: Custom Buttons

Duche пишет

как изменить позиционирование подсказки из правого нижнего угла,  на право вверх.Заранее спасибо.

Немного не в тему, но с помощью стиля можно. Если интересует

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

Выделить код

Код:

/*AGENT_SHEET*/
@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);


tooltip, #tooltip, .tooltip, #aHTMLTooltip
    {padding: 4px 6px !important;}

.tooltip-label
    { 
    text-align: center !important;
    word-wrap: break-word !important;
    }

#tabbrowser-tab-tooltip, statuspanel, .tooltip-label 
    { 
    left: 2px !important;
    max-width: 75% !important;
    top: 94px !important; 
    right: auto !important;
    }

tooltip, #tooltip, .tooltip, #aHTMLTooltip,.statuspanel-label
    {
    -moz-appearance: none !important; 
    color: rgb(0,230,0) !important;
    background: rgba(0,0,0,.5) !important;
    border: 1px solid rgba(0,0,0,.9) !important;
    font: normal normal bold 13px trebuchet ms !important;
    box-shadow: 1px 1px 3px rgba(255,255,255,.5) inset,-1px -1px 3px rgba(255,255,255,.3) inset !important; 
    text-shadow: 1px 1px 2px rgba(0,0,0,.7),1px 1px 1px rgba(0,0,0,.5),-1px -1px 2px rgba(0,0,0,.7) !important;
    }


Ннастройки под себя крути

Отсутствует

 

Board footer

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