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

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.

Сustom Buttons » Custom Buttons » Вчера 21:23:56

Infocatcher На 66 появилось контекстное меню, кроме 2-х предпоследних пунктов. Но оно неактивно. Т.е. отменить, вырезать , копировать, вставить, удалить, выделить все  не работает.
Да еще вопрос можно ли добавить, где нибудь в опциях выбор размера шрифта, а то в редакторе для меня строчки слишком маленькие.
Да было бы вообще классно, если ваши наработки  Source Editor, Toggle on Top button for Custom Buttons и Edit Custom Button in Tab внедрить совместно с Dumby в сам адон Custom Buttons.
Хотя мечтать не вредно.

Сustom Buttons » Custom Buttons » Вчера 18:09:30

Подскажите пожалуйста в 66 перестал работать из кода [spoiler][code]((bar, button = true, insertAtTop = false, ctrlFcloseFinbar = false) => ({
    init(parent) {
        var has = bar = parent.querySelector("#appcontent > findbar");
        has || this.initFinbar(parent);
        var lo = bar.linkedObject;
        lo.listenCtrlF = ctrlFcloseFinbar
            ? listen => listen
                ? addEventListener("keydown", lo, true)
                : removeEventListener("keydown", lo, true)
            : () => {};
        has && !bar.hidden && lo.listenCtrlF(true);
        if (button) self._handleClick = () => bar.hidden
            ? bar.startFind(bar.FIND_NORMAL)
            : bar.collapsed || bar.close();
        addDestructor(lo.destroy, lo);
    },
    destroy(reason) {
        if (reason[5] != "e") return;
        bar.close();
        bar._browser = {};
        bar.remove();
        this.setProgressListener(false);
        for(var key of ["gFindBar", "gFindBarInitialized"])
     

Поддержка пользователей » Попытка перехода на современные версии Firefox » 23-02-2019 18:55:54

Najlus пишет:

Есть ли что-то подобное расширению locationbar - эта штука позволяла при клике на часть url перейти к нему. Например, есть некий url с адресом site.domen/forum/loremipsum, и при клике на слово "forum" в нём, браузер переходил на адрес site.domen/forum. ОЧЕНЬ не хватает этой возможности.

Кнопка[spoiler][code](function () {
        if (location != "chrome://browser/content/browser.xul") return;
        var URLBarInput = gURLBar.mInputField;
        var locationBar = URLBarInput.parentNode.appendChild(document.createElement("hbox"));
        locationBar.style.display = "none";
        URLBarInput.parentNode.addEventListener("click", function () {
            if (URLBarInput.style.display === "none") {
                URLBarInput.style.display = "";
                locationBar.style.display = "none";
                gURLBar.select();
            }
        }, false);
        URLBarInput.parentNode.addEventListener("mouseout", function () {
            if (document.acti

Сustom Buttons » Custom Buttons » 18-02-2019 14:37:09

Garalf не пользуюсь. Ее по моему Dumby делал. К нему обратитесь.

Сustom Buttons » Custom Buttons » 17-02-2019 16:41:38

Garalf это уже раньше обсуждалось. https://forum.mozilla-russia.org/viewto … 86#p761786
Замени везде addTab на  addTrustedTab

В нижней панели - пример[spoiler][code]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%3E%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u0432%20%u043D%u0438%u0436%u043D%u0435%u0439%20%u043F%u0430%u043D%u0435%u043B%u0438%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABxUlEQVR4XqWRP2oVURSHvztzXyZg/ENiZ2NjOsUtCHYuQndh4QIs3YCbsLBRwQUIgpViIQQFQdTE5M2bNzPnj+cy7zGFgRT+4OM7d5hzONybbj89enVwrbkngzO0wtBpEF7N9bgOr5SxG5HesF5wWePd0dt0//nP9d3D/ebkBJan0LZwVhwsC2ewCrpgHWdrAQcMaF/2eX83jbf2aE6BdRNcDq5Ctw534dXGhRaGHsyhwvn8IY/58MB5dAfcAcK2MYDPtRmoGmqKidMs4OGTilwDi4o5NefG3RFxzILsNDXkysmYclFKk4iFDdVpSAWohvWCfndH1cIW3g5RrOBGFjF+LwcS6fy1tWBTg3kx

Сustom Buttons » Custom Buttons » 16-02-2019 20:42:28

drage2 у меня есть очень старая кнопка - ручная работа с сессиями, устанавливается в главное меню (AppMenu), посмотри повторяется этот глюк или нет.
[spoiler][code]// Добавить восстановление сессии в Appmenu ....

(function () {
var overwrite = 1, //Если восстановление сессии устанавливается для покрытия открытых страниц, 0 при отсутствии покрытия, чтобы покрыть 2 охвата и восстановления сессию в новом окне
Cc = Components.classes,
Ci = Components.interfaces,
Cu = Components.utils;
//SS = Cc["@mozilla.org/browser/sessionstore;1"].getService(Ci.nsISessionStore);
     var SS = "nsISessionStore" in Components.interfaces
                            ? (
                                Components.classes["@mozilla.org/browser/sessionstore;1"]
                                || Components.classes["@mozilla.org/suite/sessionstore;1"]
                            ).getService(Components.interfaces.nsISessionStore)
                            : SessionStore;

if (!window.Services) {
Cu.im

Сustom Buttons » Custom Buttons » 09-02-2019 17:55:14

func4ptch4 пишет:

Вопрос у вас в Clipboard такой код?

у меня на 65 вот такой код работает
[spoiler][code]/*Initialization Code*/
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Блок инициализации глоб. переменных и функций
// срок существования - один сеанс браузера
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//
bbBBCodeStat=true                                                   // разрешить/включить BBCode
window.arycb_BBCodeClipboardStrings = this.clipboardStrings = [];   // Массив буфера обмена

//
//********************************************************
//--------Общие функции для вставки BBCode----------------
//*********************************************************

//++++++++++++++++++BEGIN DEF++++++++++++++++++++++++++++++
//--------------------------------------------------------
// Функция lb_BBCodePrim
// [bbCode]выделенный[/bbCode]
//  по умолчанию от ЛКМ)
lb_BBCodePrim = function (open,close){
var theBox = document.commandDispat

Сustom Buttons » Custom Buttons » 31-01-2019 19:49:01

Dumby спасибо да действительно так лучше, а еще также спасибо за DOM Inspector

Сustom Buttons » Custom Buttons » 31-01-2019 14:31:11

Dumby пишет:
типа как-то так (не проверял)

нормально все показывает.
А с richlistbox, listcol и richlistitem то же что изменили?
У меня есть код на 64 работал, на 65 перестал, т.е функции все отрабатываются, кнопки все работают, но в полях ничего не видно, словно текст стал белым.
[spoiler][code]/*CODE*/

var btn = this, br = gBrowser;
var img2 = "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAABwWjpocFs8zHFbPP9xWzz/cVs8/3FbPP9xWzz/cVs8/3FbPP9xWzz/cVs8/3FbPP9xWzz/cVs8/3BbPMxwWjpodWBB4bWwqv/o6Oj/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+fn5//n5+f/5+fn/+rq6v+1sKr/dWBB4XtlR//f39//6Ojo/8e7q/+0oIf/po1t/6aNbf+mjW3/po1t/6aNbf+mjW3/po1t/+rq6v/s7Oz/39/f/3tlR/+Ba07/29vb/+fn5//f39//3Nzc/9nZ2f/Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/9nZ2f/l5eX/5+fn/9vb2/+Ba07/h3FV/9bW1v/k5OT/5OTk/+Dg4P+bhGb/k3hX/5N4WP+TeFf/m4Rm/+Dg4P+WfF3/rp2H/+Dg4P/U1NT/h3FV/454XP/Z2dn/5+fn/+Pj4//j4+P/ysK3/8nCtv/Jwrb/xr2w/8e9sP/d29j/2NjY/5d9Xv+vnon/1dXV/454XP+UgGP/3N

Сustom Buttons » Custom Buttons » 31-01-2019 10:26:15

Dumby не подскажите?
1. В 65 убрали файл chrome://global/content/platformHTMLBindings.xml из которого можно было вывести команды. Сейчас в 65 такое возможно или нет?
[spoiler][code]var tagNames = ["command", "broadcaster", "key", "menuitem"];
  var collection = new Object();
  for (var i = 0; i < tagNames.length; i++) {
    collection[tagNames[i]] = document.getElementsByTagName(tagNames[i]);
  }
  var out = new Array();
  var xai = Components.classes["@mozilla.org/xre/app-info;1"].
    getService(Components.interfaces.nsIXULAppInfo);
  out.push(xai.name + " " + xai.version);
  out.push(document.documentElement.getAttribute("windowtype"));
  var menuitems = document.getElementsByTagName("menuitem");
  for (var i in collection) {
    var count = 0;
    out.push("_____ ^ " + i + " " + Array(72 - i.length).join("_"));
    for (var j = 0; j < collection[i].length; j++) {
      var id = collection[i][j].getAttribute("id");
      var oncommand = collection[i][j].getAttribute("oncomman

Сustom Buttons » Обсуждение кнопок CB » 18-01-2019 09:14:40

rubel там же в коде написано  var keyuser = "региструемся на сайте яндекс и беспалатно получаем ключ и вставляем вместо этого сообщения";
иначе если все будут пользоваться, то быстро слетит

Сustom Buttons » Обсуждение кнопок CB » 18-01-2019 08:29:40

rubel[spoiler][code]
/*Initialization Code*/
//--------------------------------Перевод----------------------------------------

//Варианты выбора языка переводчика для перевода текста в окне. Нужное разкоментировать. Остальное закоментировать.
//Google,
var langFrom_google_text = "auto";//авто
var langTo_google_text = "ru";
//Microsoft
var langFrom_Microsoft_text = "";//авто
var langTo_Microsoft_text = "ru";
//Promt
var langFrom_PROMT_text = "a";//авто
var langTo_PROMT_text = "r";
//Яндекс
var langFrom_yandex_text = ""; //авто
//var langFrom_yandex_text = "en-"; //английский и так же другие языки, тире обязательно
var langTo_yandex_text = "ru";



var safeHTMLParser = function(code) {
    var gUnescapeHTML = Cc["@mozilla.org/feed-unescapehtml;1"].getService(Ci.nsIScriptableUnescapeHTML);
    var doc = document.implementation.createDocument(xhtmlns, "html", null);
    var body = document.createElementNS(xhtmlns, "body");
    doc.documentElement.appendChild(body);
    bod

Сustom Buttons » Custom Buttons » 17-01-2019 10:48:55

Подправил под 64 - Добавление на вкладке дополнения в меню расширений дополнительных пунктов
[spoiler][code]//Добавление на вкладке дополнения в меню расширений дополнительных пунктов
(function(){

        var iconURL = ""; 



    if (window.AM_Helper) {
        window.AM_Helper.uninit();
        delete window.AM_Helper;
    }
   

    Cu.import("resource://gre/modules/Services.jsm");
    Cu.import("resource://gre/modules/AddonManager.jsm");

   
    window.AM_Helper = {
        init: function() {
            document.addEventListener("DOMContentLoaded", this, false);
            this.platformVersion = parseFloat(Services.appinfo.platformVersion);
        },
        uninit: function() {
            document.removeEventListener("DOMContentLoaded", this, false);
        },
          handleEvent: function(event){
            switch(event.type){
                    case "DOMContentLoaded":
                    var doc = event.target;
                    var win = doc.defaultView;
     

Сustom Buttons » Обсуждение кнопок CB » 17-01-2019 10:21:36

rubel это можно, но куда впихнуть не знаю, вот пример:
[spoiler][code]
/*Initialization Code*/
//Варианты выбора языка переводчика для перевода текста в окне. Нужное разкоментировать. Остальное закоментировать.
//Google,
var langFrom_google_text = "auto";//авто
var langTo_google_text = "ru";


var mainicon="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAALCAIAAAD5gJpuAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQtJREFUKM9VkSFOhFEQg799/CjEihWAwKDgIFwAyWHgLDjuAGfZgMCQDQkG8abtQ/z8u9A0k4rOTCez2u0GB0gCsLELbCuxLduJy0zAZgOQBBqQALEbtOQoyRgjSZLt9nOaJyf5K2zPjr01SWst8ermZtzd5euLhCQ2Y9iOHXssIvZYr1f39x/T87Ourtr7O3ZUyK6KlN5HVRaOqlxcNGACJKRItigdHFXpFdXoPVWRGmSac0suRYWUWhz7zt5/BXh65Pi6Hr7rI/IopZyqpSqldLsq9onPX3iabuHYr6o3pCVHP2Sa11nIzZdnMAmOSpyejiocVEhtjrwc15L5l4HVDgReCGTR+V9n/AAByma0J+vVwwAAAABJRU5ErkJggg==";

function readFromClipboard() {
  var string;
  try {
      var clipboard = Cc["@mozilla.org/widget/clipboard;1"].
                      getService(Ci.nsIClipboard);
      va

Сustom Buttons » Custom Buttons » 17-01-2019 01:02:55

rubel Только сейчас заметил ваше сообщение  - Save snapshot to html
У меня на 64 работает так -[spoiler][code]// Добавить новый пункт "Сохранить страницу или выбранное как  HTML" в главном меню .....................................................
(function() {
    // блокировать дублирование пункта при открытии настройки панелей
  if ( document.getElementById("SaveHTML") ) return;

function SaveHTML(event) {
var saveToFile = function (fileContent, fileName) {
    var uc = Components.classes['@mozilla.org/intl/scriptableunicodeconverter'].createInstance(Components.interfaces.nsIScriptableUnicodeConverter);
    uc.charset = 'utf-8';
    fileContent = uc.ConvertFromUnicode(fileContent);

    var nsIFilePicker = Components.interfaces.nsIFilePicker;
    var fp = Components.classes['@mozilla.org/filepicker;1'].createInstance(nsIFilePicker);
    fp.init(window, '', fp.modeSave);
    fp.defaultString = fileName;
    fp.appendFilters(fp.filterHTML);
    fp.appendFilters(fp.filterAll);

Сustom Buttons » Обсуждение кнопок CB » 17-01-2019 00:53:40

Насчет перевода
1. kokoss Google Translate у меня работает и на 64 без проблем (кроме некоторых сайтов, например - https://addons.mozilla.org и еще наподобие
2. Есть скрипт, который работает на всех версиях Google Translator Tooltip Expanded Fork

Сustom Buttons » Обсуждение кнопок CB » 16-01-2019 23:48:47

Dumby  Вы  не могли бы мне подсказать, раньше у меня работал вот такой код для перевода текста (заменял на странице выделенный текст с другого языка на русский. Выдает ошибку - TypeError: tempResz[1] is undefined и ссылается на строку - var kimenet = tempResz[1].split('</span></div>'); ) [spoiler][code]//----------Заменить текст переводом------------
function ujs_TexReplace_translate() {
        var win = content, txt = getSel(win); 
        if (txt) {
        var httpRequest = null;
        //var baseUrl = "http://translate.google.com/translate_t";
        var urlParams = "text=" + encodeURIComponent(txt) + "&hl==ru&langpair=auto|ru&tbb=1";
var baseUrl="http://translate.google.com/translate_t?"+ urlParams;
   
        function removeHTMLTags(mitkell) {
        var strTagStrippedText = mitkell.replace(/this.style.backgroundColor='#fff'/ig, "").replace(/this.style.backgroundColor='#ebeff9'/ig, "");
                return strTagStrippedText;
            }

        function infoR

CSS-стили » Настройка внешнего вида Firefox в userChrome.css » 02-01-2019 20:31:52

Vitaliy V.

Vitaliy V. пишет:

и там где не нужно, ну и визуально не красиво, если загружается другой сайт адрес в адресной строке сменился а иконка от другого сайта

У себя вроде не наблюдаю, может просто не  замечал. Вот пример руборд

скрытый текст
https://yadi.sk/i/qYGJKjF2fGN4pg

CSS-стили » Настройка внешнего вида Firefox в userChrome.css » 02-01-2019 19:08:41

rubel не знаю как со стилем, а вот с CB от bunda1  вроде везде работает

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

Выделить код

Код:

// Вернуть иконки сайтов в адресной строке от 04.02.2016. ...............
addEventListener("TabAttrModified", (e, tab = e.target)=> {
   if ( tab.selected )   
        favIcon.src = tab.image || "chrome://global/skin/icons/Portrait.png";
}, true, gBrowser.tabContainer);
var favIcon = document.getElementById("page-proxy-favicon") || document.getElementById("identity-icon");
addDestructor(()=> favIcon.removeAttribute("src") );   

Сustom Buttons » Custom Buttons » 02-01-2019 08:39:21

rubel у меня вообще  в коде  нет иконки в виде дискеты .
1. Возьмите старую кнопку, замените весь старый код на мой.
или
2. Возьмите создайте новую кнопку, вставьте мой код в инициализацию, вместо звездочки, вставьте изображение дискеты.

У меня есть еще для 64 Дополнительные пункты в контекстном меню кнопки
[spoiler][code]
  /*Initialization Code*/

/////////////////////////////////////////////////////////////////////////////
/////////////////////////////// Создание меню ///////////////////////////////
/////////////////////////////////////////////////////////////////////////////

function $(aId) {
  return document.getElementById(aId);
};

function addMenuItem(aNewIDs, aNodeIDs, aLabel, aIcon, aCommand) {
  for (var i = 0; i < aNewIDs.length; i++) {
   
    if ($(aNewIDs[i])) $(aNewIDs[i]).parentNode.removeChild($(aNewIDs[i]));

  var mi = document.createElement("menuitem");
           mi.setAttribute("id", aNewIDs[i]);
           mi.setAttribute("class", "menuitem-ic

Сustom Buttons » Custom Buttons » 30-12-2018 15:41:28

Dumby спасибо. А можно еще для примера еще кнопку (как в предыдущем посту), только для штатной кнопки "Перевести", которая появляется при переходе на сайты отличные от русского языка.

xul:button [102×30]
namespaceURI: XUL
class = translate-infobar-element
anonid = translate
label = Перевести
oncommand = document.getBindingParent(this).translate();

Сustom Buttons » Custom Buttons » 30-12-2018 14:49:07

Rag так же как и на обычную, там где находится Firefox.exe и все его файлы и папки, там же папка defaults\pref, - туда config-prefs.js.  На 64 лучше брать config.js и саму кнопку из поста Dumby. Работает как на 64 так и на 66

Сustom Buttons » Custom Buttons » 30-12-2018 13:07:37

Garalf ты про какой код? Они все работают, просто я хотелки свои добавляю. Это коды из Дополнительные пункты в контекстном меню кнопки  Дополнительные пункты в контекстном меню кнопки, что я тебе давал несколько страниц назад.
PS можешь попробовать такой вариант:
Чуть обновил для 64 кнопку - "Экспорт всех CB кнопок в HTML файл", убрал из нее все пункты, кроме экспорта, остальные пункты, кто хочет, сами доделывайте, добавил нумерацию, сделал благодаря Dumby по алфавиту, добавил в заголовок разную информацию, поменял фон.
[spoiler][code]/*Initialization Code*/

this.onclick = function(e) {

     // действие при клике ЛКМ ....
     if ( e.button == 0 ) {
          exportsButtonsToHtmlFile();
          }
};

var options1 = {year: "numeric"};
var options2 = {day: "numeric", month: "long"};
var cDate = new Date().toLocaleDateString("ru-RU", options1);
var dDate = new Date().toLocaleDateString("r

Сustom Buttons » Custom Buttons » 29-12-2018 23:43:35

Dumby, спасибо, что то я даже не подумал про этот вариант. А вот еще вопрос. Есть код сохранения иконки кнопки.  Если же я убираю gBrowser.removeCurrentTab();    то иконка сохраняется нормально, но остается открытая вкладка с изображением иконки.  Если же я оставляю удаление вкладки с изображением иконки, то   открывается вкладка с изображением иконки, потом запускается диалог сохранения и закрывается вкладка и ничего не сохраняется.
[spoiler][code]var btn = document.popupNode;
  if (!btn) return;
  if(btn.image != "") {
     var tab = gBrowser.selectedTab;   
     gBrowser.selectedTab = gBrowser.addTab(btn.image, {
    triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal()
});
          setTimeout( function() {   
                      window.content.document.title = btn.name;
                      saveDocument(window.content.document);
            gBrowser.removeCurrentTab();   
                       
        }, 2000);
  } else custombuttons.alertBox("Эта к

Сustom Buttons » Custom Buttons » 29-12-2018 18:45:22

Dumby Подскажи пожалуйста, есть код сохранения кнопок, кнопки сохраняются но не в алфавитном порядке, как это можно исправить. Я пытался в function getPaleteButtonsURI(but) делать по разному сортировки, но что знаний не хватает
[spoiler][code]this.saveToHTMLALLCode = function saveToHTMLALLCode() {
var visibleCBbuttons = [...document.querySelectorAll('[cb-mode]')];
   var paletteCBbuttons = [...custombuttons.palette.querySelectorAll('[cb-mode]')];
   var allCBbuttons = visibleCBbuttons.concat(paletteCBbuttons);

var array = [];
   allCBbuttons.forEach(but=> {
      var uri = but.URI ? but.URI : getPaleteButtonsURI(but);
      var name1 = but.getAttribute("label") || "Без названия";
      var image = but.getAttribute("image") || "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAACNFBMVEXDRgDweQDnbwC0NgDCRQC7PQDtpTu+QQD78q3PUwDCRAD//8vbYQDLTgDocAD0iQX1jQbGSgD7iAD4gwDVaw7vdwDyegD+igDweQDlawDyhAXveADmZwDzmBbtcwDwkhHveADmhBTkgxbweADkfRH+igD7hADXZQX0gADyjA/tfgvveQDi

Board footer

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