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

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

№352622-01-2012 13:48:09

hydrolizer
Участник
 
Группа: Extensions
Зарегистрирован: 22-07-2009
Сообщений: 1945
UA: Firefox 10.0

Re: Custom Buttons

questman
Я бы сделал по-другому: вешал бы на кнопку джетпака свой атрибут - что-нибудь типа "isJetpackUserDisabled" со значением, равным addons[i].userDisabled, а соответствующую картинку навешивал бы в CSS по атрибутному селектору.

Отсутствует

 

№352722-01-2012 18:58:51

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

Re: Custom Buttons

questman пишет

Если джетпак включен то такая картинка на кнопке
иначе если джетпак отключен то такая.

Переключить джетпак

Выделить код

Код:

//Объявляем 'prefs','this_'.........
this.prefs = Components.classes['@mozilla.org/preferences-service;1'] .getService(Components.interfaces.nsIPrefBranch);
var this_ = this;

//настройка функций кликов мыши(Mouse Click settings)...................................................
this.onclick = function(event) {
    if(event.button == 0) {
        // Действие при клике ЛКМ
        Components.utils.import("resource://gre/modules/AddonManager.jsm");
        AddonManager.getAddonsByTypes(["extension"], function(addons) {
        for(var i = 0, l = addons.length; i < l; i++)
        if(addons[i].name == "Context Search RG")
        {
        //Переключить джетпак
         addons[i].userDisabled = !addons[i].userDisabled;
                 
        //переключаем настройки в about:config
         custombuttons.setPrefs("Jetpacks", !addons [i]. userDisabled );
                
        //Запускаем функцию'ToggleImage'
    ToggleImage(event); 
        }
          });    
    }
};


//Изменить иконку кнопки.........
function ToggleImage(event){
if (custombuttons.getPrefs("Jetpacks"))
{
this_.image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAFHUlEQVQ4jX2UW4id1RmGv2+t9e9/H/5/9mF2Zh8m455tdMjJatpqQERIUUOhiNAWCqa1hwsvWoQ24E17a5EqlOKF0BPeKBLBeKC9EqoSo8SW0kQbO8l2MpnzzD7O/s9rre/rRWpvCn0v3xeemwdeZGYAACAitGAREQEBJQA4DGyZmRAAAYARUTIgIrBmZssAfGthECBBCgmK4Rbw3PVz/Nu//w7afot917uj5tfONivNOgqKjckkANpYJ972cOvTaTx9IaJsm4idct6z42xMD7Tux5/c/VNWDIzMzNcG19oXb3xwe7PctErKZiGXKxxbPP61Tmu+YoWmIErE8tr1zZXNleuZMXdFWTIHTMtVb0bvBLtYQMV8D4ESICCjTHh577tnTj3+y/lyMwqSMARJKQIKrQ2nlBIyiGZ1zinP+A/VCrUnr6+t3NwZbHyr6lVyIMRJP++/BwD/UgyMQkgGgb3ljavnx4PtP6UmXWw25n88W6nO9OOxidNIEhEbZQ+AMPXQjrla9haU035eOuJQvlroZgDnLNEPFQGRQARme3l5ezlwZg/9JdLx0r4Ov7HkLM1O06kN4khIRLRoWesMhmbErnRz+aL7QMZJSQFIS9wmAKkkSLRkQYJ6ZLHVebpUql5M9s1MYKLDe9MROw6gI5VFQhxMxnoUDuhgrV0Kg3R7befq8wfK9Tu04Hs7VfO2AExvSQGGUEdlRFxwCu63C9YT0XTAqU54rtpQVlqMwhSjvSRIEp1EWVqaBNNJp3jojSQJbvR2e/5X/ROhEsgKAYGIoB8OKaI4TWwYFQp5dax+xCMgDLIADGeY6BQ8zy0WSgckSgBEIU+0v+L9bfvSsUgnX56Y6ccM8JkCAJYo4WjtyJUtu/r7Gvofrk5WDu7a3afm6gfae8FQR8lUMTJq1+Q0aSVJgSpx69L44jNxIep0l1p3JkSvamueVADAQgpoePU1dzd/Yc6ZO78S9w5f3fnsjHRkO8oimkQBCYnCkIE0TYUQDETkfbK7e7rsF52y64lROF4iJkcxMFoiuNy/fN+F/rtPLZv6Y4N4WJKJ0w3XY1Ayh56tkACEUTDOwnRC7pwqsZFbJysnnttI1hfWR4OTj971ndfyKv8fKUww3B82huPhcSenjloBQoECmADXZ+sO5QzHUYr9yShjxjQZ61IRCqNnHn729U8GVzbeufnebT84/r0tiZIUAAAAg4yVbiStrBU2NCBjvlksgCUIaJ8NWcgg5bwvC3lRl9YA6Iicf6xf8Zb3lr/0ea938tX8KxeOnD7+qUJAECh5sdb5Z2e789KsqLyzPl5fGAXDn9VmK/OTZGoSnSACoBXWMVo7OZEDxqz9q/effS7FpBvE0e1uzz33CzI/UghIQgjoNrq9zt7im91K589Bsn/4wxuXzuSLx+YRmUbTkYMohMopynRqI4gVIJQmZnLa90qyXWxg2a12GFgqZhaWCS5d++upt6689XS1MtPTWepU65Wjqzurg/1w/NGs39hBZt7a2Wy5RfeeQinfTgKz3vU7P18bbNy9NRh+/f4HHzzvKidTjMzAjPt24o/0cF4aOOgoZVylnNXNjVHXv+21P37zD+eZCJ54+fuP3QzWO9JR7UKuOP7Noy9eWJusvvLR6se/PnvqbF+hw/jFY+9F/cow7tdzIscMTJYtGDLOjDMzbvmtPgPD5nSzHuiwIlGyQqUXygtbjnRSwwYU3vL7X+D/yxevjoD/0yMwEgAKEAQA8G+QDuH4X0FBaQAAAABJRU5ErkJggg==";
}
else
{
this_.image="data:image/x-icon;base64,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";
}
  };
ToggleImage(event);


//подсказка........
this.tooltipText ='Переключить джетпак';

Добавлено 22-01-2012 19:07:41

Kamui пишет

bunda1
А какой код добавить в урезанную кнопку Toggle Find+ которую вы мне написали раннее, чтобы появилось количество совпадений? А то у меня только "файндбар сверху" и "открытие/закрытие по ctrl+f".

Если по простому то

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

Выделить код

Код:

//find bar, показать количество совпадений(find bar,show the number of matches)...@author slimx.................
(function() {
    //add label to findbar
    var status = document.getAnonymousElementByAttribute(gFindBar, 'anonid', 'match-case-status');
    var sep = document.createElement("toolbarspacer");
    var count = document.createElement("label");
    count.hidden = true;
    status.parentNode.insertBefore(sep, status);
    status.parentNode.insertBefore(count, status);//findbar-container


    gFindBar.__proto__._foundMatches = count;
    
    gFindBar.__proto__._updateMatchesCount = function(aRes) {
        if (!this._updateMatchCountTimeout)
            window.clearTimeout(this._updateMatchCountTimeout);
        this._updateMatchCountTimeout =
                window.setTimeout(function(aRes, aSelf) {
                    aSelf._updateMatchesCountWorker(aRes);
                }, 0, aRes, this);
    }

    gFindBar.__proto__._updateMatchesCountWorker = function(aRes) {
        var word = this._findField.value;
        if (aRes == this.nsITypeAheadFind.FIND_NOTFOUND || !word) {
            this._foundMatches.hidden = true;
            this._foundMatches.value = "";
        }
        else {
            var matchesCount = this._countMatches(word).toString();
                if (matchesCount != "0") {
                if (matchesCount == "1")
                    this._foundMatches.value = matchesCount + ' hits';
                else if (matchesCount == "-1") {
                    var matchLimit = 100;
                    this._foundMatches.value = " \>"+ matchLimit + ' hits';
                    //                    var key = (matchLimit > 1000) ? "Decrease" : "Increase";
                } else
                    this._foundMatches.value = matchesCount + ' hits';
                this._foundMatches.hidden = false;
                
            }
            else {
                this._foundMatches.hidden = true;
                this._foundMatches.value = "";
                
                
             }

            window.clearTimeout(this._updateMatchCountTimeout);
            
        }
    }

    gFindBar.__proto__._countMatches = function(aWord, aWindow) {
        var win = aWindow || this.browser.contentWindow;

        var countFound = 0;
        for (var i = 0, count; win.frames && i < win.frames.length; i++) {
            if ((count = this._countMatches(aWord, win.frames[i])) != -1)
                countFound += count;
            else
                return count;
        }

        var doc = win.document;
        if (!doc || !(doc instanceof HTMLDocument))
            return countFound;

        var body = doc.body;

        var count = body.childNodes.length;
        var searchRange = doc.createRange();
        var startPt = doc.createRange();
        var endPt = doc.createRange();

        searchRange.setStart(body, 0);
        searchRange.setEnd(body, count);

        startPt.setStart(body, 0);
        startPt.setEnd(body, 0);
        endPt.setStart(body, count);
        endPt.setEnd(body, count);

        var retRange = null;
        var finder = Components.classes["@mozilla.org/embedcomp/rangefind;1"]
                .createInstance()
                .QueryInterface(Components.interfaces.nsIFind);

        finder.caseSensitive = this._shouldBeCaseSensitive(aWord);

        var matchLimit = 100;
        while ((retRange = finder.Find(aWord, searchRange, startPt, endPt))) {
            if (this._rangeIsVisible(retRange, win)) {
                if (this._findMode == this.FIND_LINKS) {
                    if (this._rangeStartsInLink(retRange))
                        ++ countFound;
                }
                else
                    ++ countFound;
            }
            if (countFound == matchLimit) {
                countFound = -1;
                break;
            }
            startPt = doc.createRange();
            startPt.setStart(retRange.startContainer, retRange.startOffset + 1);
        }

        return countFound;
    }

    gFindBar.__proto__._rangeIsVisible = function(aRange, aWindow) {
        var node = aRange.startContainer;

        if (node.nodeType == node.ELEMENT_NODE) {
            if (node.hasChildNodes) {
                var childNode = node.childNodes[aRange.startOffset];
                if (childNode)
                    node = childNode;
            }
        }

        while (node && node.nodeType != node.ELEMENT_NODE)
            node = node.parentNode;

        // There is no perfect way to check if a node is visible in JavaScript,
        // so use the best measures we can have
        if (node) {
            var style = aWindow.getComputedStyle(node, "");
            if (style) {
                if (style.visibility == "hidden" ||
                        style.visibility == "collapse" ||
                        style.display == "none")
                        return false;
                if (style.left != "auto" && style.width != "auto")
                    if (style.left < 0 && style.left + style.width < 0)
                        return false;
                if (style.top != "auto" && style.height != "auto")
                    if (style.top < 0 && style.top + style.height < 0)
                        return false;
            }
        }

        return true;
    }

    gFindBar.__proto__._rangeStartsInLink = function(aRange) {
        var isInsideLink = false;

        var node = aRange.startContainer;

        if (node.nodeType == node.ELEMENT_NODE) {
            if (node.hasChildNodes) {
                var childNode = node.childNodes[aRange.startOffset];
                if (childNode)
                    node = childNode;
            }
        }

        const XLink_NS = "http://www.w3.org/1999/xlink";
        do {
            if (node instanceof HTMLAnchorElement) {
                isInsideLink = node.hasAttribute("href");m
                break;
            }
            else if (typeof node.hasAttributeNS == "function" &&
                    node.hasAttributeNS(XLink_NS, "href")) {
                isInsideLink = (node.getAttributeNS(XLink_NS, "type") == "simple");
                break;
            }

            node = node.parentNode;
        } while (node);

        return isInsideLink;
    }

    //insert count function to original
    eval("gFindBar._updateCaseSensitivity=" + gFindBar._updateCaseSensitivity.toString().slice(0, -1) + "this._updateMatchesCount();}");
    eval("gFindBar._updateStatusUI=" + gFindBar._updateStatusUI.toString().slice(0, -1) + "this._updateMatchesCount();}");
})();

Отредактировано bunda1 (22-01-2012 19:07:41)

Отсутствует

 

№352822-01-2012 22:05:37

questman
Участник
 
Группа: Members
Зарегистрирован: 05-11-2011
Сообщений: 241
UA: Firefox 9.0

Re: Custom Buttons

bunda1 пишет

Переключить джетпак

Круто!
Работает без сучка и задоринки.
ОГРОМНОЕ СПАСИБО!!!!

Отсутствует

 

№352922-01-2012 23:04:03

Kamui
Участник
 
Группа: Members
Зарегистрирован: 31-03-2011
Сообщений: 1796
UA: Aurora 11.0

Re: Custom Buttons

bunda1
Спасибо, работает;)

Отсутствует

 

№353022-01-2012 23:07:48

Void Dragon
Участник
 
Группа: Members
Зарегистрирован: 13-04-2011
Сообщений: 521
UA: Firefox 9.0

Re: Custom Buttons

Надеюсь вы все кнопки отсюда постите в теме кнопок? Я иногда прохожусь и выбираю, что нужнее.

Отсутствует

 

№353122-01-2012 23:31:28

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

Re: Custom Buttons

Void Dragon пишет

Надеюсь вы все кнопки отсюда постите в теме кнопок?

не все

Отсутствует

 

№353225-01-2012 23:56:56

kamagi
Участник
 
Группа: Members
Зарегистрирован: 25-01-2012
Сообщений: 8
UA: Firefox 9.0

Re: Custom Buttons

Скажите, возможно при помощи Custom Buttons сделать кнопку,
которая бы отображала текущую раскладку клавиатуры и при
нажатии на нее меняла бы?

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

Отсутствует

 

№353326-01-2012 00:24:36

mserv
Участник
 
Группа: Members
Зарегистрирован: 15-11-2008
Сообщений: 1025
UA: Nightly 12.0

Отсутствует

 

№353426-01-2012 08:43:13

middim
Участник
 
Группа: Members
Зарегистрирован: 27-10-2009
Сообщений: 11
UA: Firefox 9.0

Re: Custom Buttons

Подскажите пожалуйста, есть кнопка поиск по сайту с помощью Google и Яндекс
Возможно ли сделать такую кнопку, чтоб поиск осуществлялся не по всему сайту, а по отдельной теме
Чтобы поиск велся из открытой темы, например из темы по Custom Buttons, а не по всему сайту Форум Mozilla Россия

Отсутствует

 

№353526-01-2012 15:16:46

kamagi
Участник
 
Группа: Members
Зарегистрирован: 25-01-2012
Сообщений: 8
UA: Firefox 9.0

Re: Custom Buttons

mserv
okkamas_knife
Спасибо!

Отсутствует

 

№353626-01-2012 15:31:45

middim
Участник
 
Группа: Members
Зарегистрирован: 27-10-2009
Сообщений: 11
UA: Firefox 9.0

Re: Custom Buttons

okkamas_knife

Я приноровился искать так, приведу пример для сайта Форум Mazilla, но и на други сайтах так делаю:
Жму кнопку Поиск с помощью Yandex на сайте forum.mozilla-russia.org и ищу "Поиск по сайту"
В адресной строке получается:
yandex.ru/yandsearch?rpt=rad&text=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA%20%D0%BF%D0%BE%20%D1%81%D0%B0%D0%B9%D1%82%D1%83&serverurl=forum.mozilla-russia.org&lr=2
Далее заменяю forum.mozilla-russia.org&lr=2 на адрес топика forum.mozilla-russia.org/viewtopic.php?id=9591 и Enter
Теперь поиск идет по теме Custom Buttons
Может то что я написал натолкнет на какую-нибудь мысль как сделать кнопку, чтоб избежать таких манипуляций

Отсутствует

 

№353726-01-2012 17:44:49

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

Re: Custom Buttons

middim пишет

Возможно ли сделать такую кнопку, чтоб поиск осуществлялся не по всему сайту, а по отдельной теме
Чтобы поиск велся из открытой темы, например из темы по Custom Buttons, а не по всему сайту Форум Mozilla Россия

Кнопка Быстрый поиск в верху страницы не подходит?

Отсутствует

 

№353826-01-2012 20:44:08

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

Re: Custom Buttons

kamagi
попробуй Виртуальная клавиатура / virtual keyboard - translit.ru


middim
Поиск по теме Custom Buttons в Яндекс(выделите или введите текст)

Выделить код

Код:

var text = document.commandDispatcher.focusedWindow.getSelection();
    if (text != '')
        {
        var str = text;
        }
    else
        {
         var Title = "Поиск по теме Custom Buttons в Яндекс";
         var Desc = "Bведите текст....";
         var HTTP = "";
         var URL = custombuttons.promptBox(Title, Desc, HTTP);
         if (URL[0] == false) return;
         else
         var str = [URL[1]];
         }
var searchUrl = "http://yandex.ru/yandsearch?rpt=rad&text="+str+"&serverurl=forum.mozilla-russia.org/viewtopic.php?id=9591&lr=206";
gBrowser.selectedTab = gBrowser.addTab(searchUrl);

или

Выделить код

Код:

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%3ESearch%20in%20CB%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAGBAQAXUExAqp3VByeaEpFkFxCYItYQ2+MV0BwklxAYptnRkmveVYjd1JBAw8LCgAAAAAAAQEBAAAAAAAAAAACAQECFUYyJT6TZElod0w3lXhIMr9zPy3cdzop5WQwLuJcMjTRbkQ3tXtQOJeYaElriV9KGxYPDQAAAAABAAAAAAQDAQRTRz+IaG2f/wMcmvwSKJ7/SmvD/42Elf+saC//gHqJ/z1o0f80TrL/d4C0/JCHiP+aZEV/j2NKDA0JCwAAAAEASzUnAKJ6WWlSdMX/GlLr+AU92PwqXen8sayy/sGEQ/6bkZb+LXH4/Q1B1/0POtP6Gj3R/082SrOlbUVEdVJDBwwKCQCUZUsZazkcwbqzof/Q2uD8N1vA/4yb1f/z26//qndK/9u8oP9fh+j/gZTQ/4Khzf0VVfH/N0Wf53NDKnqtd1clNCchAIpVOWZJGxD/0cjA+6u42v4eQcv/ZYPj/+LZwP+5gkv/r52S/1eF4f9+k+L/6+ri/snl9/11eJf/UiYcqJNiREJZQjUFczsitmoyEP+6sKD6J2Ts/wAv4f8bXPT/r6is/7FpKv8lTKv/BWf//wA58v9xd8D/1buj/F02I/8/FgvPhFc/VkczJhdrNRjkpmUK/31bJf4hQ4z/cmF1/zFChf9lSE//lz8B/xgugv8RTtH/EFHa/0Y1Vf91QAf+TSEB/zsXCeV9UTpiIxkRNlAmA/SJWA3/hFYQ/nxNCv9/MgD/PgsA/04ZA/+BJwD/SjIu/4CBmP96fIn/XFpn/35ucf5iPBf/PBUA735RPGEcEwc7cFc49r6piv/Osof+uJdr/3pjVf+eh3v/s5F5/5xsVv+ijIL/8OfR/5GgyP8cT87/Ik/Q/kUwNf9FGgDqjl9DThgOBSCqnYrkxbCS/plyOv6UdUv/x7us//Pu7v/k3dv/7eDO/7Oop/9zj9P/SHzi/xZe4v8ALtb9JRE4/1EkCMukc1MnFQ8FBYx7X5vWwqH/wKR8+dKyhf/kz7D/7t7W/+bQzP/qy6b/naCr/xxg+f8DT+n/HVzh/1l40/k/HCD/fUgqiXVTQgUCAQEAKhsKK6R1Ne65iDr73KVX+/HUrP/s1bf/57mf/+Ojdf9ZVGf/TWW1/5ap4P9FW6T6o5ui/XlMN+KOYUcjFxERAAAAAAECAQAAQyICZ4JCAP+eYRT56syd+vvs1f7qzKn+6MSl/7eTfv7NqJT+/9q9+YZUOvtRIxX8f1dETysgGwAAAAABAAAAAQAAAQEIBgQCSSYMbn9ECfincjL+2sGt/v746/3++ez8//ns/vno2P2vfmX/ZSoI6TQaDFYTDw0AAQEBAgIBAQAAAAAAAAAAAAAAAAAFAwEBLhwHOWE1BamBRxTsnm1L/rGJbf64j2b8h1gw5kAYApceEAQqBgcGAAAAAAIBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAACAYDAyoZAiEyFQBTJggAYy4RAE4YCgAZAQIBAAAAAAAAAAACAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//%u041E%u0431%u044A%u044F%u0432%u043B%u044F%u0435%u043C%20%27clipboard%27%20.................................................................%0Avar%20clipboard%20%3D%20Components.classes%5B%22@mozilla.org/widget/clipboardhelper%3B1%22%5D.%20%20getService%28Components.interfaces.nsIClipboardHelper%29%3B%0A%0A%0A//%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%20%u0444%u0443%u043D%u043A%u0446%u0438%u0439%20%u043A%u043B%u0438%u043A%u043E%u0432%20%u043C%u044B%u0448%u0438%28Mouse%20Click%20settings%29...................................................%0Athis.onclick%20%3D%20function%28event%29%20%7B%0A%20%20%20%20if%28event.button%20%3D%3D%200%29%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20//%20%u0414%u0435%u0439%u0441%u0442%u0432%u0438%u0435%20%u043F%u0440%u0438%20%u043A%u043B%u0438%u043A%u0435%20%u041B%u041A%u041C%0A%20%20%20%20%20%20%20var%20text%20%3D%20document.commandDispatcher.focusedWindow.getSelection%28%29%3B%0A%20%20%20%20%20%20%20if%20%28text%20%21%3D%20%27%27%29%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20this.SearchInWebsite%28text%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20else%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20var%20Title%20%3D%20%22%u041F%u043E%u0438%u0441%u043A%20%u043F%u043E%20%u0442%u0435%u043C%u0435%20Custom%20Buttons%20%u0432%20%u042F%u043D%u0434%u0435%u043A%u0441%22%3B%0A%20%20%20%20var%20Desc%20%3D%20%22B%u0432%u0435%u0434%u0438%u0442%u0435%20%u0442%u0435%u043A%u0441%u0442....%22%3B%0A%20%20%20%20var%20HTTP%20%3D%20%22%22%3B%0A%20%20%20%20var%20URL%20%3D%20custombuttons.promptBox%28Title%2C%20Desc%2C%20HTTP%29%3B%0A%20%20%20%20if%20%28URL%5B0%5D%20%3D%3D%20false%29%20return%3B%0A%20%20%20%20else%0A%20%20%20%20var%20text%20%3D%20%5BURL%5B1%5D%5D%3B%0A%20%20%20%20this.SearchInWebsite%28text%29%3B%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20if%28event.button%20%3D%3D%201%29%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20//%20%u0414%u0435%u0439%u0441%u0442%u0432%u0438%u0435%20%u043F%u0440%u0438%20%u043A%u043B%u0438%u043A%u0435%20%u0421%u041A%u041C%0A%20%20%20%20%20%20%20%20var%20str%20%3D%20readFromClipboard%28%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20text%20%3D%20%5Bstr%5D%3B%0A%20%20%20%20%20%20%20%20this.SearchInWebsite%28text%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%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%7D%3B%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%0Athis.SearchInWebsite%20%3D%20function%28text%29%7B%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%0A%20%20%20%20%20%20%20%20%20var%20searchUrl%20%3D%20%22http%3A//yandex.ru/yandsearch%3Frpt%3Drad%26text%3D%22+text+%22%26serverurl%3Dforum.mozilla-russia.org/viewtopic.php%3Fid%3D9591%26lr%3D206%22%3B%0A%20%20%20%20%20%20%20%20%20gBrowser.selectedTab%20%3D%20gBrowser.addTab%28searchUrl%29%3B%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%7D%3B%0A%0Athis.tooltipText%20%3D%20%22%u041F%u043E%u0438%u0441%u043A%20%u043F%u043E%20%u0442%u0435%u043C%u0435%20Custom%20Buttons%20%u0432%20%u042F%u043D%u0434%u0435%u043A%u0441%5CnL%20%3D%20%u041F%u043E%u0438%u0441%u043A%28%u0432%u044B%u0434%u0435%u043B%u0438%u0442%u0435%20%u0438%u043B%u0438%20%u0432%u0432%u0435%u0434%u0438%u0442%u0435%20%u0442%u0435%u043A%u0441%u0442%29%20%5CnM%20%3D%20%u041F%u043E%u0438%u0441%u043A%20%u0438%u0437%20%u0431%u0443%u0444%u0435%u0440%u0430%20%u043E%u0431%u043C%u0435%u043D%u0430%20%20%5CnR%20%3D%20CB%20%u043C%u0435%u043D%u044E%22%3B%0A%0A%20%0A%20%20%0A%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

Отредактировано bunda1 (26-01-2012 21:00:18)

Отсутствует

 

№353926-01-2012 22:24:43

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 9.0
Веб-сайт

Re: Custom Buttons

kamagi пишет

Скажите, возможно при помощи Custom Buttons сделать кнопку,
которая бы отображала текущую раскладку клавиатуры и при
нажатии на нее меняла бы?

Есть переключатель на js-ctypes:  http://forum.mozilla-russia.org/viewtop … 05#p486905
Можно и текущую раскладку клавиатуры узнать. Например:

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

Выделить код

Код:

Cu. import ("resource://gre/modules/ctypes.jsm");
var libuser = ctypes. open ("user32");
var activateKeyboardLayout = libuser. declare ("ActivateKeyboardLayout", ctypes. winapi_abi, ctypes. int32_t, ctypes. int32_t, ctypes. int32_t);
var getKeyboardLayoutName = libuser. declare ("GetKeyboardLayoutNameW", ctypes. winapi_abi, ctypes. bool, ctypes. jschar. ptr);
activateKeyboardLayout (1, 0);
var buf = new new ctypes. ArrayType (ctypes. jschar, 255);
var res = getKeyboardLayoutName (buf);
switch (buf. readString ())
{
    case "00000419": // RU
        this. tooltipText = "RU"; // Как-нибудь указываем раскладку "RU"
        break;
    case "00000409": // EN
        this. tooltipText = "EN"; // Как-нибудь указываем раскладку "EN"
        break;
    default:;
}
libuser. close ();

Отредактировано Anton (26-01-2012 23:58:23)


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№354027-01-2012 16:52:41

WW
Web traveler
 
Группа: Members
Откуда: Сибирь
Зарегистрирован: 21-12-2011
Сообщений: 95
UA: Firefox 10.0

Re: Custom Buttons

Приветствую! Чесно искал кнопку, но не н7ашёл( Кнопка, которая могла бы отображать загрузку на хосты, а именно, сколько осталось, сколько загрузилось.  На подобии uploudprogress, к сожалению, он у меня, чаще не работает, чем работает(


Firefox - самый лучший брауз!!!

Отсутствует

 

№354127-01-2012 17:34:52

Void Dragon
Участник
 
Группа: Members
Зарегистрирован: 13-04-2011
Сообщений: 521
UA: Firefox 9.0

Re: Custom Buttons

У меня кнопка для показа раскладки что-то не работает. Может кто подробнее?

Отсутствует

 

№354227-01-2012 18:25:18

WW
Web traveler
 
Группа: Members
Откуда: Сибирь
Зарегистрирован: 21-12-2011
Сообщений: 95
UA: Firefox 10.0

Re: Custom Buttons

а что Вам не понятно? кнопка которая отображает процесс загрузки на хост, сколько мб загрузилось, сколько осталось,  ведь даже пример разрешения привёл)))  Вы напишите, что Вам не ясно, без издёвок(
Вы же даже не модер, а отношением своим портите людям настроение, тем самым подрываете авторитет форума.


Firefox - самый лучший брауз!!!

Отсутствует

 

№354327-01-2012 18:57:27

mserv
Участник
 
Группа: Members
Зарегистрирован: 15-11-2008
Сообщений: 1025
UA: Nightly 12.0

Re: Custom Buttons

WW пишет

а что Вам не понятно? кнопка которая отображает процесс загрузки на хост, сколько мб загрузилось, сколько осталось,  ведь даже пример разрешения привёл)))  Вы напишите, что Вам не ясно, без издёвок(
Вы же даже не модер, а отношением своим портите людям настроение, тем самым подрываете авторитет форума.

скрытый текст
Я не  ради испортить и не из-за подрыва, а только любопытства для, скажите, вы сейчас с кем разговаривали? :)

Отсутствует

 

№354427-01-2012 19:20:06

WW
Web traveler
 
Группа: Members
Откуда: Сибирь
Зарегистрирован: 21-12-2011
Сообщений: 95
UA: Firefox 10.0

Re: Custom Buttons

mserv пишет

скрытый текст
Я не  ради испортить и не из-за подрыва, а только любопытства для, скажите, вы сейчас с кем разговаривали? :)

Я с  Void Dragon, показалось, его пост ко мне относится, если нет, тогда извиняюсь.
а минусить обязательно))  Хотя пофигу, ставьте ещё) а я только плюсую)))


Firefox - самый лучший брауз!!!

Отсутствует

 

№354527-01-2012 19:34:06

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

Re: Custom Buttons

WW пишет

Приветствую! Чесно искал кнопку, но не н7ашёл( Кнопка, которая могла бы отображать загрузку на хосты, а именно, сколько осталось, сколько загрузилось.  На подобии uploudprogress, к сожалению, он у меня, чаще не работает, чем работает(

Такой кнопки нет.

Отсутствует

 

№354627-01-2012 19:40:26

Void Dragon
Участник
 
Группа: Members
Зарегистрирован: 13-04-2011
Сообщений: 521
UA: Firefox 9.0

Re: Custom Buttons

WW
Причем тут загрузка на хост? Я об этом не слова же. А репа у меня скрыта, так что не волнует)

Я про раскладку писал. Код засовывал и в код и в инициализацию.

Отредактировано Void Dragon (27-01-2012 19:42:17)

Отсутствует

 

№354727-01-2012 19:48:47

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

Re: Custom Buttons

bunda1 пишет

WW пишет: Приветствую! Чесно искал кнопку, но не н7ашёл( Кнопка, которая могла бы отображать загрузку на хосты, а именно, сколько осталось, сколько загрузилось.  На подобии uploudprogress, к сожалению, он у меня, чаще не работает, чем работает(

Такой кнопки нет.

да вроде недавно искали, и вроде что-то находили, не кнопку может, а дополнение, но точно не uploudprogress

давай, WW, дерзай
найдёшь, доложишь

Отсутствует

 

№354827-01-2012 19:49:33

mserv
Участник
 
Группа: Members
Зарегистрирован: 15-11-2008
Сообщений: 1025
UA: Nightly 12.0

Re: Custom Buttons

Void Dragon пишет

У меня кнопка для показа раскладки что-то не работает. Может кто подробнее?

У меня работает, положил в Код (С). При нажатие меняет раскладку, при наведение показывает текущую.

Отсутствует

 

№354927-01-2012 20:02:51

Void Dragon
Участник
 
Группа: Members
Зарегистрирован: 13-04-2011
Сообщений: 521
UA: Firefox 9.0

Re: Custom Buttons

mserv
У меня не работает. У меня показывает раскладку только если она меняется через кнопку, если с клавиатуры, то не правильно.

Отредактировано Void Dragon (27-01-2012 20:04:20)

Отсутствует

 

№355027-01-2012 20:08:15

mserv
Участник
 
Группа: Members
Зарегистрирован: 15-11-2008
Сообщений: 1025
UA: Nightly 12.0

Re: Custom Buttons

Void Dragon
А, через клавиатуру у меня тоже не показывает.

Отсутствует

 

Board footer

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