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

Общайтесь со знакомыми и друзьями в нашем сообществе в Facebook.

№147607-07-2016 16:35:10

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

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

firefan пишет

Есть небольшая особенность

Ну, там все правильно: параметр "country" - отсутствует:
thumb_25f5cd7561ee1888e7ba3b52517c25ef.jpg
Проверяется же поле "Subject", а не "Issuer". Хотя я тоже не уверен, что страну проверять надо у того, кому выдан, а не у того - кто. Если думаете, что второе - правильнее, то просто замените в коде, в строке

Выделить код

Код:

if (tree.getCellText(ind, {}) == "Subject") {

Subject - на Issuer.

bunda1 пишет

lokiju просит помочь с кодом Link Tooltips:

У меня все корректно работает.

Отсутствует

 

№147707-07-2016 16:46:41

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

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

bunda1 пишет

Картинки

А как у тебя в тултипе код кнопки возникает, как на втором скрине?

Отсутствует

 

№147807-07-2016 17:11:25

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

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

voqabuhe
Это кнопка "CB code 2 link". Не могу найти поиском на форуме. Потерли, вероятно.

Отредактировано turbot (07-07-2016 17:11:53)

Отсутствует

 

№147907-07-2016 17:29:22

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

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

turbot
Дык здесь запости, плиз.

Отсутствует

 

№148007-07-2016 17:40:23

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

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

Дык, смысл? В личку отправил.

Отсутствует

 

№148107-07-2016 17:53:57

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

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

turbot
Понятно. Спасибо

Отсутствует

 

№148207-07-2016 19:55:10

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

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

lokiju пишет

Link Tooltips показывает адрес ссылки под курсором возле курсора. Но с FF38 ЕМНИП начались проблемы: после просмотра длинного адреса тултип не уменьшается при просмотре короткого адреса до перезагрузки браузера.

Попробуй:

Выделить код

Код:

// Добавить подсказки к ссылкам на странице, от 07.07.2016. .................
addEventListener('mouseenter', (e, el = e.target)=> {
   var url = XULBrowserWindow.overLink;
   if (url) el.title = url;
}, true, gBrowser);

Отсутствует

 

№148307-07-2016 22:12:37

lokiju
Участник
 
Группа: Members
Зарегистрирован: 30-01-2012
Сообщений: 208
UA: Firefox 42.0

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

bunda1, спасибо. Но у меня ваш код вобще не работает.Попробую ещё завтра с полной очисткой истории  и перезапуском ОС

turbot пишет

voqabuheЭто кнопка "CB code 2 link". Не могу найти поиском на форуме. Потерли, вероятно.
                    Отредактировано turbot (Сегодня 16:11:53)

Нет. Это бесчётное количество раз правленный кусочками скрипт Greasemonkey

Linkify Plus(Mar1,2013)

Выделить код

Код:

// ==UserScript==
// @name        Linkify Plus(Mar1,2013)
// @version     2.1.4
// @namespace   http://arantius.com/misc/greasemonkey/
// @description Turn plain text URLs into links.    Supports http, https, ftp, email addresses.
// @include     *
// @exclude     http://www.google.tld/search*
// @exclude     https://www.google.tld/search*
// @exclude     http://music.google.com/*
// @exclude     https://music.google.com/*
// @exclude     http://mail.google.com/*
// @exclude     https://mail.google.com/*
// @exclude     http://docs.google.com/*
// @exclude     https://docs.google.com/*
// @exclude     http://mxr.mozilla.org/*
// ==/UserScript==
//
// Copyright (c) 2011, Anthony Lieuallen
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// * Redistributions of source code must retain the above copyright notice, 
//   this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright notice, 
//   this list of conditions and the following disclaimer in the documentation 
//   and/or other materials provided with the distribution.
// * Neither the name of Anthony Lieuallen nor the names of its contributors 
//   may be used to endorse or promote products derived from this software 
//   without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
// POSSIBILITY OF SUCH DAMAGE.
//

/*******************************************************************************
Loosely based on the Linkify script located at:
  http://downloads.mozdev.org/greasemonkey/linkify.user.js

Version history:
 Version 2.1.4 (Aug 12, 2012):
  - Bug fix for when (only some) nodes have been removed from the document.
 Version 2.1.3 (Oct 24, 2011):
  - More excludes.
 Version 2.1.2:
  - Some bug fixes.
 Version 2.1.1:
  - Ignore certain "highlighter" script containers.
 Version 2.1:
  - Rewrite the regular expression to be more readable.
  - Fix trailing "." characters.
 Version 2.0.3:
  - Fix infinite recursion on X(HT)ML pages.
 Version 2.0.2:
  - Limit @include, for greater site/plugin compatibility.
 Version 2.0.1:
  - Fix aberrant 'mailto:' where it does not belong.
 Version 2.0:
  - Apply incrementally, so the browser does not hang on large pages.
  - Continually apply to new content added to the page (i.e. AJAX).
 Version 1.1.4:
  - Basic "don't screw up xml pretty printing" exception case
 Version 1.1.3:
  - Include "+" in the username of email addresses.
 Version 1.1.2:
  - Include "." in the username of email addresses.
 Version 1.1:
  - Fixed a big that caused the first link in a piece of text to
    be skipped (i.e. not linkified).
*******************************************************************************/

var notInTags = [
      'a', 'code', 'head', 'noscript', 'option', 'script', 'style',
      'title', 'textarea'];
var textNodeXpath =
      ".//text()[not(ancestor::"+notInTags.join(') and not(ancestor::')+")]";
// Built based on:
//  - http://en.wikipedia.org/wiki/URI_scheme
//  - http://www.regular-expressions.info/regexbuddy/email.html
var urlRE = new RegExp(
    '('
    // leading scheme:// or "www."
    + '\\b([a-z][-a-z0-9+.]+://|www\\.)'
    // everything until non-URL character
    + '[^\\s\'"<>()]+'
    + '|'
    // email
    + '\\b[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,4}\\b'
    + ')', 'gi');
var queue = [];

/******************************************************************************/

linkifyContainer(document.body);
document.body.addEventListener('DOMNodeInserted', function(event) {
    linkifyContainer(event.target);
}, false);

/******************************************************************************/

function linkifyContainer(container) {
    // Prevent infinite recursion, in case X(HT)ML documents with namespaces
    // break the XPath's attempt to do so.    (Don't evaluate spans we put our
    // classname into.)
    if (container.className && container.className.match(/\blinkifyplus\b/)) {
      return;
    }

    var xpathResult = document.evaluate(
          textNodeXpath, container, null,
          XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);

    var i = 0;
    function continuation() {
        var node = null, counter = 0;
        while (node = xpathResult.snapshotItem(i++)) {
          var parent = node.parentNode;
          if (!parent) continue;

          // Skip styled <pre> -- often highlighted by script.
          if ('PRE' == parent.tagName && parent.className) continue;
          
            linkifyTextNode(node);

            if (++counter > 50) {
                return setTimeout(continuation, 0);
            }
        }
    }
    setTimeout(continuation, 0);
}

function linkifyTextNode(node) {
    // fix for 4chan
    // traverse all siblings that are separated from this one with a <wbr>
    var toRemove = [];
    var addtxt = '';
    var next;
    var current = node;
    while (true) {
        next = current.nextSibling;
        if (next == null) {
            break;
        }
        if (next.tagName != 'WBR') {
            break;
        }
        toRemove.push(next);
        next = next.nextSibling;
        if (next == null || next.nodeType != Node.TEXT_NODE) {
            toRemove.pop();
            break;
        }
        toRemove.push(next);
        addtxt += next.textContent;
        current = next;
    }
    var i, l, m;
    var txt = node.textContent + addtxt;
    var span = null;
    var p = 0;
    while (m = urlRE.exec(txt)) {
        if (null == span) {
            // Create a span to hold the new text with links in it.
            span = document.createElement('span');
            span.className = 'linkifyplus';
        }

        //get the link without trailing dots
        l = m[0].replace(/\.*$/, '');
        var lLen = l.length;
        //put in text up to the link
        span.appendChild(document.createTextNode(txt.substring(p, m.index)));
        //create a link and put it in the span
        a = document.createElement('a');
        a.className = 'linkifyplus';
        a.appendChild(document.createTextNode(l));
        if (l.indexOf(":/") < 0) {
            if (l.indexOf("@") > 0) {
                l = "mailto:" + l;
            } else {
                l = "http://" + l;
          }
        }
        a.setAttribute('href', l);
        span.appendChild(a);
        //track insertion point
        p = m.index+lLen;
    }
    if (span) {
        //take the text after the last link
        span.appendChild(document.createTextNode(txt.substring(p, txt.length)));
        //replace the original text with the new span
        try {
            toRemove.forEach(function (n) { node.parentNode.removeChild(n); });
            node.parentNode.replaceChild(span, node);
        } catch (e) {
            console.error(e);
            console.log(node);
        }
    }
}

var style = document.createElement('style');
    style.type = 'text/css';
    style.appendChild(document.createTextNode('a.linkifyplus {color: #006400!important; background-color: #FFFF00!important;}'));
    document.getElementsByTagName('head')[0].appendChild(style);

Отсутствует

 

№148408-07-2016 09:01:58

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

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

lokiju пишет

bunda1, спасибо. Но у меня ваш код вобще не работает.Попробую ещё завтра с полной очисткой истории  и перезапуском ОС

У меня работает на разных версиях Firefox, проверь на чистом профиле.

Отсутствует

 

№148516-07-2016 13:07:36

firefan
Участник
 
Группа: Members
Зарегистрирован: 23-06-2016
Сообщений: 16
UA: Firefox 47.0

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

turbot пишет

Subject - на Issuer.

Поменял. Благодарствую.

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

Выделить код

Код:

custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3ESave%20Favicon%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bcustombuttons-stdicon-4%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B/*Initialization%20Code*/%0Avar%20orgImg%3Dthis.image%3B%0Athis.onLeftClick%3Dfunction%28%29%0A%7B%0A%20%20%20this.image%20%3D%20gBrowser.selectedTab.image%3B%0A%7D%0A%0Athis.onMiddleClick%3Dfunction%28%29%0A%7B%0A%20%20%20gBrowser.selectedTab%20%3D%20gBrowser.addTab%28gBrowser.selectedTab.image%29%3B%0A%20%20%20%20%20%20%20%20setTimeout%28%20function%28%29%20%7B%20saveDocument%28window.content.document%29%3B%0A%20%20%20%20%20%20%20%20gBrowser.removeTab%28gBrowser.selectedTab%29%3B%20%20%7D%2C%201000%29%3B%0A%7D%0A%0Athis.onRightClick%3Dfunction%28%29%0A%7B%0A%20%20%20this.image%3DorgImg%3B%0A%7D%0A%0A//**********%20No%20need%20to%20make%20any%20changes%20to%20below%20code%20**************%0Athis.execute%3D%20function%28evt%29%0A%7B%0A%0A%20%20%20if%28evt.shiftKey%29%20%7B%0A%20%20%20%20%20%20this.showPopup%28this%29%3B%0A%20%20%20%20%20%20return%3B%0A%20%20%20%7D%0A%0A%20%20%20switch%28evt.button%29%0A%20%20%20%7B%0A%20%20%20%20%20%20case%200%3A%0A%20%20%20%20%20%20%20%20%20this.onLeftClick%28%29%3B%0A%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20case%201%3A%0A%20%20%20%20%20%20%20%20%20this.onMiddleClick%28%29%3B%0A%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20case%202%3A%0A%20%20%20%20%20%20%20%20%20this.onRightClick%28%29%3B%0A%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%7D%0A%7D%0A%0A%0Athis.showPopup%20%3D%20function%28node%29%20%7B%0A%20%20var%20popup%20%3D%20document.getElementById%28%22custombuttons-contextpopup%22%29%3B%0A%20%20var%20x%20%3D%20node.boxObject.x%3B%0A%20%20var%20y%20%3D%20node.boxObject.y%20+%20node.boxObject.height%3B%0A%20%20document.popupNode%20%3D%20node%3B%0A%20%20popup.showPopup%28node%2C%20x%2C%20y%2C%20%22popup%22%2C%20null%2C%20null%29%3B%0A%7D%0A%0Athis.setAttribute%28%22onclick%22%2C%20%22this.execute%28event%29%3B%22%29%3B%0A//this.setAttribute%28%22context%22%2C%20%22%22%29%3B%0Athis.tooltipText%20%3D%20this.label%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

Я хотел бы, чтобы иконка не сохранялась, а отправлялась расширению Image Assistant (расширение по правому клику из контекстного меню открывает в стороннем приложении выбранную картинку).
На всякий случай, вот код запуска Image Assistant из контекстного меню, который я посмотрел с помощью Menu Wizard: tv.ultranet.imageassistant.ImageAssistantClient.singleton.openImage();

Заранее спасибо за помощь.

Отредактировано firefan (16-07-2016 15:09:22)

Отсутствует

 

№148620-07-2016 03:01:58

roadrunner
Участник
 
Группа: Members
Зарегистрирован: 18-08-2011
Сообщений: 34
UA: Firefox 47.0

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

Перестала работать кнопка Http-Logger в Firefox 47, поправьте пожалуйста кто может.

Отсутствует

 

№148720-07-2016 14:18:23

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

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

firefan пишет

Благодарствую

Поменяйте там еще:

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

Выделить код

Код:

function getCountries() {
  try {
    var result = [];

    for(var cert = gCert; cert; cert = cert.issuer) {
      tree.loadASN1Structure(cert.ASN1Structure);
      for(var res, ind = 0; ind < tree.rowCount; ind++)
        if (tree.getCellText(ind, {}) == "Issuer") {
          res = tree.getDisplayData(ind);
          break;
        }
      var array = res.split("\n");
      var country = array.find(str => str.startsWith("C = "));
      result.unshift(country ? country.slice(4) : "??");
    }
    return result.join("-");

  } catch(ex) {}
};


А то не будет показывать при невалидном сертификате. Кстати, у "Issuer" тоже не всегда страна прописана. Например, у сертификатов от Let's Encrypt.

Отсутствует

 

№148822-07-2016 20:56:46

firefan
Участник
 
Группа: Members
Зарегистрирован: 23-06-2016
Сообщений: 16
UA: Firefox 47.0

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

Спасибо большое!

turbot, не могли бы вы ответить на пару вопросов по поводу вашей кнопки Быстрое переключение параметров about:config

1) Как указать \ (слеш) для параметра string? К сожалению, не могу указать путь там, слеши съедаются.
2) Можно ли этот функционал (изменение параметра, отслеживание его состояния)  вынести из контекстного меню в отдельную кнопку, чтобы изменение параметра происходило просто по нажатию, циклично? В идеале, чтобы она тоже цвет меняла в зависимости от настройки по-умолчанию.

Отредактировано firefan (22-07-2016 21:16:36)

Отсутствует

 

№148922-07-2016 21:29:07

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

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

firefan
1 - экранируйте. Т.е., \/\/ - вместо //
2 - я эту кнопку потому и сделал, что кол-во отдельных кнопок разрослось до неприличия. :) Вот:

Выделить код

Код:

custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3EIndexedDB%20on/off%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/svg+xml%3Bbase64%2CPHN2ZyB3aWR0aD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTYgMTYiPgo8ZyBmaWxsPSIjZWRmMGYxIj4KPHBhdGggZD0ibTEuMywxMi41di0yLjRjMCwwIDAsMi41IDYuNywyLjUgNi43LDAgNi43LTIuNSA2LjctMi41djIuNGMwLDAgMCwyLjctNi44LDIuNy02LjYsMC02LjYtMi43LTYuNi0yLjd6Ii8+CjxwYXRoIGQ9Im0xNC43LDMuNGMwLTEuNC0zLTIuNS02LjctMi41cy02LjcsMS4xLTYuNywyLjVjMCwuMiAwLC4zIC4xLC41LS4xLS4zLS4xLS40LS4xLS40djEuNWMwLDAgMCwyLjcgNi43LDIuNyA2LjcsMCA2LjgtMi43IDYuOC0yLjd2LTEuNmMwLC4xIDAsLjItLjEsLjUtMC0uMi0wLS4zLTAtLjV6Ii8+CjxwYXRoIGQ9Im0xLjMsOC43di0yLjRjMCwwIDAsMi41IDYuNywyLjUgNi43LDAgNi43LTIuNSA2LjctMi41djIuNGMwLDAgMCwyLjctNi44LDIuNy02LjYtMC02LjYtMi43LTYuNi0yLjd6Ii8+CjwvZz4KPC9zdmc+Cg%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bvar%20s%20%3D%20%27dom.indexedDB.enabled%27%3B%0Athis._handleClick%20%3D%28%29%3D%3E%20cbu.setPrefs%28s%2C%20%21cbu.getPrefs%28s%29%29%3B%0A%0Afunction%20toggleImage%28%29%20%7B%0A%20%20%20var%20val%20%3D%20cbu.getPrefs%28s%29%3B%20%0A%20%20%20var%20icon%20%3D%20self.ownerDocument.getAnonymousElementByAttribute%28self%2C%20%22class%22%2C%20%22toolbarbutton-icon%22%29%3B%0A%20%20%20var%20label%20%3D%20self.ownerDocument.getAnonymousElementByAttribute%28self%2C%20%22class%22%2C%20%22toolbarbutton-text%22%29%3B%0A%20%20%20icon.style.filter%20%3D%20val%20%3F%20%27%27%20%3A%20%27opacity%2850%25%29%27%3B%20%20%20%0A%20%20%20label.style.filter%20%3D%20val%20%3F%20%27%27%20%3A%20%27opacity%2850%25%29%27%3B%20%20%20%0A%20%20%20self.checked%20%3D%20val%3B%0A%7D%3B%0AtoggleImage%28%29%3B%0AgPrefService.addObserver%28s%2C%20toggleImage%2C%20false%29%3B%0AaddDestructor%28%28%29%3D%3E%20gPrefService.removeObserver%28s%2C%20toggleImage%29%20%29%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

Отсутствует

 

№149022-07-2016 22:31:30

firefan
Участник
 
Группа: Members
Зарегистрирован: 23-06-2016
Сообщений: 16
UA: Firefox 47.0

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

turbot пишет

1 - экранируйте. Т.е., \/\/ - вместо //

Я видимо не очень понял принцип, но такой набор знаков /\ \/ \\// //\\ на выходе дает / / // //
А мне нужен слеш в другую сторону \

Помогите пожалуйста с конкретным примером:
c:\Downloads\test
что прописать в код кнопки, чтобы этот же путь отобразился в параметре about:config ?

turbot пишет

2 - я эту кнопку потому и сделал, что кол-во отдельных кнопок разрослось до неприличия. :) Вот:

Спасибо за пример. Как я понял, там не string, а boolean. Не совсем понятно, что поменять, чтобы это работало для изменения string.

Отсутствует

 

№149122-07-2016 22:53:23

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

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

firefan пишет

А мне нужен слеш в другую сторону \

Ух, косяк. Пока не могу сообразить. Надо подумать.

UPD: Пока могу предложить \\\\ - прописывать для одного обратного слеша. :sick:

что поменять, чтобы это работало для изменения string.

Тоже надо подумать. :) Что-то у меня голова совсем не варит сегодня. Да еще и другой кнопкой занята.

Отредактировано turbot (22-07-2016 23:09:09)

Отсутствует

 

№149222-07-2016 23:24:52

firefan
Участник
 
Группа: Members
Зарегистрирован: 23-06-2016
Сообщений: 16
UA: Firefox 47.0

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

turbot пишет

UPD: Пока могу предложить \\\\ - прописывать для одного обратного слеша. :sick:

То, что нужно. Спасибо вам!

Отсутствует

 

№149322-07-2016 23:35:57

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

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

firefan
Не, не то что нужно. Не будет чекбокса у пункта в субменю и не будет значение параметра отображать в меню.

Отредактировано turbot (22-07-2016 23:36:33)

Отсутствует

 

№149422-07-2016 23:48:01

firefan
Участник
 
Группа: Members
Зарегистрирован: 23-06-2016
Сообщений: 16
UA: Firefox 47.0

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

turbot
Я по-ламерски поковырялся немного. Если сделать в userChoice не \\\\ , а \\ , то кнопка будет реагировать цветом на значение параметра (по крайней мере, если он один, я другие закомментировал). А чекбокса действительно почему-то нет, но меня и изменение цвета устраивает.

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

Отредактировано firefan (22-07-2016 23:50:06)

Отсутствует

 

№149523-07-2016 00:35:59

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

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

firefan пишет

Если сделать

Ну, это тоже костыли. В выходные подумаю, что сделать.

firefan пишет

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

Выделить код

Код:

custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3ETest%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/svg+xml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4KCjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0iQ2FwYV8xIgogICB4PSIwcHgiCiAgIHk9IjBweCIKICAgdmlld0JveD0iMCAwIDU4LjIwMSA1OC4yMDEiCiAgIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDU4LjIwMSA1OC4yMDE7IgogICB4bWw6c3BhY2U9InByZXNlcnZlIgogICBpbmtzY2FwZTp2ZXJzaW9uPSIwLjkxIHIxMzcyNSIKICAgc29kaXBvZGk6ZG9jbmFtZT0iMTQ5NzQ5LnN2ZyI+PG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhNDciPjxyZGY6UkRGPjxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj48ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD48ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+PC9jYzpXb3JrPjwvcmRmOlJERj48L21ldGFkYXRhPjxkZWZzCiAgICAgaWQ9ImRlZnM0NSIgLz48c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY4OSIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzQzIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp6b29tPSI0LjA1NDkxMzEiCiAgICAgaW5rc2NhcGU6Y3g9IjI5LjEwMDUiCiAgICAgaW5rc2NhcGU6Y3k9IjI5LjEwMDUiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjAiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJDYXBhXzEiIC8+PGcKICAgICBpZD0iZzMiCiAgICAgc3R5bGU9ImZpbGw6Izc5N2M3ZjtmaWxsLW9wYWNpdHk6MSI+PHBhdGgKICAgICAgIGQ9Ik0zMS43MDcsMzMuMDdjLTAuODcsMC4wMjctMS43NCwwLjA0Mi0yLjYwNiwwLjA0MmMtMC44NjksMC0xLjc0Mi0wLjAxNC0yLjYxNC0wLjA0MiAgIGMtNy4zNDEtMC4yMDEtMTMuMTkxLTEuMjM4LTE3LjQwMy0yLjcxN0M3LjEwNCwyOS42ODUsNS40MDksMjguODk5LDQuMSwyOHY3LjExMXYwLjV2MC41VjM3LjRjMi44NDYsMi45NzEsMTIuMzk0LDUuNzExLDI1LDUuNzExICAgczIyLjE1NC0yLjc0LDI1LTUuNzExdi0xLjI4OXYtMC41di0wLjVWMjhjLTEuMzE4LDAuOTA1LTMuMDI4LDEuNjk3LTUuMDI1LDIuMzY3QzQ0Ljg2NSwzMS44MzksMzkuMDI3LDMyLjg3LDMxLjcwNywzMy4wN3oiCiAgICAgICBpZD0icGF0aDUiCiAgICAgICBzdHlsZT0iZmlsbDojNzk3YzdmO2ZpbGwtb3BhY2l0eToxIiAvPjxwYXRoCiAgICAgICBkPSJNNC4xLDE0Ljg4OVYyMnYwLjVWMjN2MS4yODljMi42MzgsMi43NTQsMTEuMDMzLDUuMzEsMjIuMjg2LDUuNjY4YzAuMTE1LDAuMDA0LDAuMjMzLDAuMDA1LDAuMzQ5LDAuMDA4ICAgYzAuMzI2LDAuMDA5LDAuNjUxLDAuMDE4LDAuOTgyLDAuMDIzQzI4LjE3NCwyOS45OTYsMjguNjM1LDMwLDI5LjEsMzBzMC45MjYtMC4wMDQsMS4zODMtMC4wMTEgICBjMC4zMy0wLjAwNSwwLjY1Ni0wLjAxNCwwLjk4Mi0wLjAyM2MwLjExNi0wLjAwMywwLjIzNC0wLjAwNSwwLjM0OS0wLjAwOGMxMS4yNTMtMC4zNTksMTkuNjQ4LTIuOTE1LDIyLjI4Ni01LjY2OFYyM3YtMC41VjIyICAgdi03LjExMUM0OS4yMzMsMTguMjMyLDM4Ljk0NCwyMCwyOS4xLDIwUzguOTY4LDE4LjIzMiw0LjEsMTQuODg5eiIKICAgICAgIGlkPSJwYXRoNyIKICAgICAgIHN0eWxlPSJmaWxsOiM3OTdjN2Y7ZmlsbC1vcGFjaXR5OjEiIC8+PHBhdGgKICAgICAgIGQ9Ik01My45NjUsOC41NDJDNTIuODQzLDQuMjQxLDQ0LjIxNSwwLDI5LjEsMEMxNC4wMjMsMCw1LjQwNCw0LjIyLDQuMjQ3LDguNTFDNC4xNjIsOC42NTcsNC4xLDguODE4LDQuMSw5djAuNXYxLjgwNiAgIEM2LjkzNywxNC4yNjcsMTYuNDE3LDE3LDI5LjEsMTdzMjIuMTY0LTIuNzMzLDI1LTUuNjk0VjkuNVY5QzU0LjEsOC44MzIsNTQuMDQ0LDguNjgxLDUzLjk2NSw4LjU0MnoiCiAgICAgICBpZD0icGF0aDkiCiAgICAgICBzdHlsZT0iZmlsbDojNzk3YzdmO2ZpbGwtb3BhY2l0eToxIiAvPjxwYXRoCiAgICAgICBkPSJNNC4xLDQxdjguMjAxYzAsMC4xNjIsMC4wNDMsMC4zMTUsMC4xMTcsMC40NTFjMS4xODEsNC44OTUsMTEuNzQ3LDguNTQ5LDI0Ljg4Myw4LjU0OWMxMy4xMDYsMCwyMy42NTUtMy42MzksMjQuODc1LTguNTE2ICAgYzAuMDgtMC4xNDQsMC4xMjUtMC4zMDksMC4xMjUtMC40ODR2LTguMTk5Yy00LjEzNSwyLjkxMS0xMi42NTUsNS4xOTktMjUsNS4xOTlDMTYuNzU0LDQ2LjIwMSw4LjIzNCw0My45MTEsNC4xLDQxeiIKICAgICAgIGlkPSJwYXRoMTEiCiAgICAgICBzdHlsZT0iZmlsbDojNzk3YzdmO2ZpbGwtb3BhY2l0eToxIiAvPjwvZz48ZwogICAgIGlkPSJnMTMiIC8+PGcKICAgICBpZD0iZzE1IiAvPjxnCiAgICAgaWQ9ImcxNyIgLz48ZwogICAgIGlkPSJnMTkiIC8+PGcKICAgICBpZD0iZzIxIiAvPjxnCiAgICAgaWQ9ImcyMyIgLz48ZwogICAgIGlkPSJnMjUiIC8+PGcKICAgICBpZD0iZzI3IiAvPjxnCiAgICAgaWQ9ImcyOSIgLz48ZwogICAgIGlkPSJnMzEiIC8+PGcKICAgICBpZD0iZzMzIiAvPjxnCiAgICAgaWQ9ImczNSIgLz48ZwogICAgIGlkPSJnMzciIC8+PGcKICAgICBpZD0iZzM5IiAvPjxnCiAgICAgaWQ9Imc0MSIgLz48L3N2Zz4%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bvar%20s%20%3D%20%27CB.test%27%3B%0Avar%20vals%20%3D%20%5B%0A%20%20%20%22test%5C%5Ctest%5C%5C1%22%2C%0A%20%20%20%22test%5C%5Ctest%5C%5C2%22%2C%0A%20%20%20%22test%5C%5Ctest%5C%5C3%22%2C%0A%20%20%20%22test%5C%5Ctest%5C%5C4%22%0A%5D%0Avar%20userChoice%20%3D%20vals%5B1%5D%3B%0A%0Athis._handleClick%20%3D%28%29%3D%3E%20cbu.setPrefs%28s%2C%20%28vals.length%20%3C%3D%20vals.indexOf%28cbu.getPrefs%28s%29%29%20+%201%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3F%20vals%5B0%5D%20%3A%20vals%5Bvals.indexOf%28cbu.getPrefs%28s%29%29%20+%201%5D%29%3B%0A%0Afunction%20toggleImage%28%29%20%7B%0A%20%20%20var%20val%20%3D%20cbu.getPrefs%28s%29%3B%20%0A%20%20%20var%20icon%20%3D%20self.ownerDocument.getAnonymousElementByAttribute%28self%2C%20%22class%22%2C%20%22toolbarbutton-icon%22%29%3B%0A%20%20%20var%20label%20%3D%20self.ownerDocument.getAnonymousElementByAttribute%28self%2C%20%22class%22%2C%20%22toolbarbutton-text%22%29%3B%0A%20%20%20icon.style.filter%20%3D%20val%20%3D%3D%20userChoice%20%3F%20%27%27%20%3A%20%27hue-rotate%28140deg%29%20saturate%2810%29%20brightness%28.85%29%20contrast%283%29%27%3B%20%20%20%0A%20%20%20label.style.color%20%3D%20val%20%3D%3D%20userChoice%20%3F%20%27%27%20%3A%20%27red%27%3B%0A%20%20%20self.tooltipText%20%3D%20s%20+%20%27%3B%27%20+%20val%3B%0A%7D%3B%0AtoggleImage%28%29%3B%0AgPrefService.addObserver%28s%2C%20toggleImage%2C%20false%29%3B%0AaddDestructor%28%28%29%3D%3E%20gPrefService.removeObserver%28s%2C%20toggleImage%29%20%29%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

Отредактировано turbot (23-07-2016 00:58:54)

Отсутствует

 

№149623-07-2016 01:01:11

firefan
Участник
 
Группа: Members
Зарегистрирован: 23-06-2016
Сообщений: 16
UA: Firefox 47.0

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

turbot пишет

Код:

turbot
Просто супер. Еще раз огромное спасибо!

Отсутствует

 

№149723-07-2016 22:37:59

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

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

Раскукоживатель коротких ссылок

turbot пишет

ПКМ по самой кнопке - "раскукожит" ссылку из буфера обмена.

ЛКМ ?

Отсутствует

 

№149823-07-2016 23:04:22

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

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

Ух, поправил. Спасибо.

Отсутствует

 

№149924-07-2016 19:19:39

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

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

firefan

turbot пишет

Не будет чекбокса у пункта в субменю и не будет значение параметра отображать в меню.

Исправил кое-как: Быстрое переключение параметров about:config, от 24.07.2016
Обратные слеши все равно надо экранировать. Т.е., \\ вместо \.

Отсутствует

 

№150004-08-2016 16:10:28

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 3050
UA: Firefox 48.0

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

Кнопка Автоматически открыть - закрыть меню опять стала открывать лишнее. Исправьте пожалуйста,  кто может.
Вообще, если это несложно, устроит кнопка  что бы открывались папки панели закладок, при наведении через...0,5сек. Этого будет вполне достаточно.

Отредактировано oleg.sgh (04-08-2016 19:29:08)

Отсутствует

 

Board footer

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