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

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№1032609-07-2016 10:56:19

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

Отсутствует

 

№1032710-07-2016 09:06:04

selevo
Забанен
 
Группа: Members
Откуда: Ижевск
Зарегистрирован: 23-01-2008
Сообщений: 240
UA: Firefox 36.0
Веб-сайт

Re: Custom Buttons

Спасибо протестирую.

Отсутствует

 

№1032810-07-2016 12:48:45

Coroner
Участник
 
Группа: Members
Зарегистрирован: 29-10-2012
Сообщений: 4001
UA: Firefox 47.0

Re: Custom Buttons

Помогите разобраться с кнопкой Быстрое переключение параметров about:config
Нужен пункт меню, чтобы сбрасывал несколько параметров, иначе говоря удалял или очищал. В коде имеется сброс в дефолтное значение, но что такое дефолтное ? Дефолтное оно для браузера или для дополнения, которое его выставило, никак разобраться не могу.
То есть ситуация такая : после удаления дополнения остаётся три десятка параметров им заданных. Как их вычистить ? Или я сам должен задать им пустые значения в коде, но тогда какие они для integer, string и boolean ?
Заранее спасибо и прошу прощения если ответ очевиден. :angel:

Отсутствует

 

№1032910-07-2016 14:01:17

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

Re: Custom Buttons

Coroner
Дефолтное для браузера. Либо, если параметр добавляется расширением, то для него. При условии, что оно установлено и включено. Если разрешение отключено/удалено - то сброс на дефолт, после рестарта браузера, - удалит параметр из about:config.

после удаления дополнения остаётся три десятка параметров им заданных. Как их вычистить ?

Ручками проще. В about:config (пкм по пункту и выбрать "сбросить") или прямо в файле pref.js (при закрытом браузере) поиском пройтись и посбрасывать/поудалять. Это же разовая задача. Кнопка же предназначена для быстрого переключения параметров, которые требуется переключать регулярно. Вы потратите больше времени на добавление в нее параметров и сброс из нее (тем более, что возможности переключать/сбрасывать группу параметров - пока нет. Но, наверное, добавлю.), чем на вычищение вручную.

А вообще, есть аддоны, которые могут автоматически/полуавтоматически вычищать из about:config остатки настроек удаляемых аддонов.

Отсутствует

 

№1033010-07-2016 14:31:51

Coroner
Участник
 
Группа: Members
Зарегистрирован: 29-10-2012
Сообщений: 4001
UA: Firefox 47.0

Re: Custom Buttons

turbot пишет

Это же разовая задача.

В том-то и дело что возможно придётся делать это не один раз, а параметров десятка три-четыре, то есть по каждому клик ПКМ, выходит долго и однообразно. pref.js чистить - браузер перезапускать, время уходит. Пользуюсь обычно ECleaner 2.5.8, но тут какая-то мнительность обуяла, перепроверять за ним начал, хотя вроде и всё удаляет, да сомнения остались. :)
Спасибо за ответ. Возможно и правда проще в pref.js сносить, тем более параметры прописываются вроде как последовательно и в одном месте.

Отсутствует

 

№1033110-07-2016 14:56:43

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

Re: Custom Buttons

Coroner пишет

то есть по каждому клик ПКМ, выходит долго и однообразно.

Custom Buttons • View topic - about:config Multiple Selection - позволяет выделять и сбрасывать группу.

Возможно и правда проще в pref.js сносить

Можно просто из бекапа заменять после удаления аддона (при закрытом браузере).

Отсутствует

 

№1033210-07-2016 15:25:22

Coroner
Участник
 
Группа: Members
Зарегистрирован: 29-10-2012
Сообщений: 4001
UA: Firefox 47.0

Re: Custom Buttons

turbot пишет

позволяет выделять и сбрасывать группу.

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

Отсутствует

 

№1033310-07-2016 15:32:39

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

Re: Custom Buttons

Coroner

А вообще если экспериментировать с дополнениями, то страшно представить сколько мусора накопиться может, если вовремя не чистить.

У меня для экспериментов, есть портабельная копия которая открывается кнопкой.  В рабочий переносятся только готовые решения.

Отсутствует

 

№1033410-07-2016 18:36:33

selevo
Забанен
 
Группа: Members
Откуда: Ижевск
Зарегистрирован: 23-01-2008
Сообщений: 240
UA: Firefox 36.0
Веб-сайт

Re: Custom Buttons

я так и не понял как установить  свою иконку на кнопку ,где это описано ?

Отсутствует

 

№1033510-07-2016 18:53:01

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

Re: Custom Buttons

selevo
thumb_56df25e940f84cfc2f14a68d2cbb9032.jpg

Отсутствует

 

№1033610-07-2016 22:44:32

selevo
Забанен
 
Группа: Members
Откуда: Ижевск
Зарегистрирован: 23-01-2008
Сообщений: 240
UA: Firefox 36.0
Веб-сайт

Re: Custom Buttons

оо так просто,само  уменьшает до иконки )))
спасибо

Отсутствует

 

№1033711-07-2016 01:11:21

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1224
UA: Firefox 47.0

Re: Custom Buttons

Coroner пишет

А вообще если экспериментировать с дополнениями, то страшно представить сколько мусора накопиться может, если вовремя не чистить.

Как правильно заметил

oleg.sgh пишет

для экспериментов, есть портабельная копия

У меня не портабельная версия, но есть профиль профиль test, который запускаю c:\Program Files (x86)\Mozilla Firefox\firefox.exe -P "test" -no-remote
Зачем искать приключения и ставить эксперименты на рабочем профиле?;)
turbot
У меня просьба по кнопке. Можно прикрутить маленький комментарий в параметры? Например, сегодня я помню, что этот параметр разрешает воспроизводить гифки, а если "false", то гифки становятся статичными, например, на одноклассниках. А то вдруг завтра забуду...;)

скрытый текст
2Qqkq6Y.png

Отсутствует

 

№1033811-07-2016 01:40:39

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

Re: Custom Buttons

xrun1

скрытый текст
Добавьте после:

Выделить код

Код:

var browserRestart = '';

-

Выделить код

Код:

var tooltip = '';

  if ("tooltip" in m) {
    tooltip = m.tooltip
    mItem.setAttribute('tooltiptext', tooltip);
  }

и замените строку:

Выделить код

Код:

mItem.setAttribute('tooltiptext', val || 'This preferences has null value or does not exist.');

на:

Выделить код

Код:

mItem.setAttribute('tooltiptext', val + '\n' + tooltip || 'This preferences has null value or does not exist.\n' + tooltip);

Соответственно, добавлять комментарий, как и остальные параметры, в ввиде:

Выделить код

Код:

tooltip: 'bla-bla-bla'

Отсутствует

 

№1033911-07-2016 07:40:18

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

Re: Custom Buttons

Rekrut 2012 просит помочь:

Rekrut 2012 пишет

Ребята помогите разобраться Rekrut 2012
Вот есть скрипт: https://gist.github.com/huafu/9867833#f … tc-date-js, от меняет пояс на UTC 0 и время тоже меняет.
Можно припинать его в NoScript
Выделить код
Код:

noscript.surrogate.test.replacement;(function(){   var __dateWrapper, … и так далее
noscript.surrogate.test.sources; @^https?:// для всех сайтов, или @example.ru для одного сайта.
Можно добавлять исключения noscript.surrogate.test.exceptions;example.com (просто адреса или регулярка)
Наверное можно этот же скрипт в GM попробовать использовать. Как менять время на другое — не знаю.
По идее, пишется в минутах в getTimezoneOffset: +360, -600 и т.п., но не получилось. Может наши местные скриптописатели помогут.
Если удастся сделать несколько скриптов для разного времени, то можно будет переключать их кнопкой CB.
В эту же кнопку можно добавить несколько языков для быстрого переключения.

Отсутствует

 

№1034011-07-2016 23:48:43

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

Re: Custom Buttons

b7a373fca9db.jpg

Всем привет, а можно сюда как-то добавить команду - отрыть в плеере: "C:\\Program Files\\SMPlayer\\smplayer.exe" -add-to-playlist "%1"

Отсутствует

 

№1034112-07-2016 01:17:23

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1224
UA: Firefox 47.0

Re: Custom Buttons

turbot
Спасибо. Получилось так

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

Выделить код

Код:

{nodeName: "menuitem", pref: "media.autoplay.enabled", userChoice: "true", tooltip: "true - анимированные gif\nfalse - статичные"}

XY9DRZ5.png

Отсутствует

 

№1034212-07-2016 16:29:00

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

Re: Custom Buttons

xrun1
Все замечательно, только нужная вам настройка - это image.animation_mode. А media.autoplay.enabled - отвечает за автовоспроизведение html5 медиа-контента. :)
А, и ту строку, что надо было заменить, лучше на этот вариант замените:

Выделить код

Код:

mItem.setAttribute('tooltiptext', val ? val + '\n' + tooltip : 'This preferences has null value or does not exist.\n' + tooltip);

Добавлено 12-07-2016 16:30:34
fokanik
Есть Открыть видео в PotPlayerMini. Поправьте там под себя пути и аргументы.

Отредактировано turbot (12-07-2016 16:38:58)

Отсутствует

 

№1034312-07-2016 21:26:17

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

Re: Custom Buttons

turbot пишет

Есть Открыть видео в PotPlayerMini. Поправьте там под себя пути и аргументы.

У меня такая кнопка есть, но хочется чтоб еще и из контекстного меню панели закладок можно было передать ссылку программе.
Или перетаскиванием ссылки на кнопку могу обойтись, но не знаю как это реализовать. :dumb:

Отсутствует

 

№1034412-07-2016 21:34:14

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

Re: Custom Buttons

fokanik пишет

Или перетаскиванием ссылки на кнопку могу обойтись, но не знаю как это реализовать. :dumb:

Выделить код

Код:

this.ondragover =()=> Cc["@mozilla.org/widget/dragservice;1"].getService(Ci.nsIDragService).getCurrentSession().canDrop = true;
this.ondrop =e=> {
  var link = e.dataTransfer.getData("text/x-moz-url").split("\n")[0];
  if (!link) return;
  play(link, "");
}

Добавлено 12-07-2016 21:37:53
Или

Выделить код

Код:

play(link, "-add-to-playlist");

Отредактировано turbot (12-07-2016 21:38:14)

Отсутствует

 

№1034512-07-2016 22:07:06

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

Re: Custom Buttons

turbot пишет

if (!link) return;

Кнопка работает, ссылки открывает :music:, но теперь еще захотелось большего - как открыть все ссылки из папки при перетаскивании ее на кнопку (без ссылок в подпапках) ?  Вот такой вариант будет идеальным :)

Выделить код

Код:

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%u042E%u0442%u0443%u0431%u0430%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/jpeg%3Bbase64%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%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bthis.ondragover%20%3D%28%29%3D%3E%20Cc%5B%22@mozilla.org/widget/dragservice%3B1%22%5D.getService%28Ci.nsIDragService%29.getCurrentSession%28%29.canDrop%20%3D%20true%3B%0Athis.ondrop%20%3De%3D%3E%20%7B%0A%20%20var%20link%20%3D%20e.dataTransfer.getData%28%22text/x-moz-url%22%29.split%28%22%5Cn%22%29%5B0%5D%3B%0A%20%20//if%20%28%21link%29%20return%3B%0A%20%20Play%28%22C%3A%5C%5CProgram%20Files%5C%5CSMPlayer%5C%5Csmplayer.exe%22%2C%20%22-add-to-playlist%22%2C%20link%29%0A%7D%0A%0Afunction%20Play%28path%2C%20param%2C%20link%29%7B%0A%20%20%20var%20file%20%3D%20Cc%5B%22@mozilla.org/file/local%3B1%22%5D.createInstance%28Ci.nsILocalFile%29%3B%0A%20%20%20file.initWithPath%28path%29%3B%0A%20%20%20var%20process%20%20%3D%20Cc%5B%22@mozilla.org/process/util%3B1%22%5D.createInstance%28Ci.nsIProcess%29%3B%0A%20%20%20process.init%28file%29%3B%0A%20%20%20process.run%28false%2C%20%5Blink%2C%20param%5D%2C%202%29%3B%0A%7D%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
Выделить код

Код:

this.ondragover =()=> Cc["@mozilla.org/widget/dragservice;1"].getService(Ci.nsIDragService).getCurrentSession().canDrop = true;
this.ondrop =e=> {
  var link = e.dataTransfer.getData("text/x-moz-url").split("\n")[0];
  if (!link) return;
  Play("C:\\Program Files\\SMPlayer\\smplayer.exe", "-add-to-playlist", link)
}

function Play(path, param, link){
   var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
   file.initWithPath(path);
   var process  = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
   process.init(file);
   process.run(false, [link, param], 2);
}

Спасибо :cool:

Отредактировано fokanik (12-07-2016 22:17:13)

Отсутствует

 

№1034612-07-2016 23:05:48

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

Re: Custom Buttons

fokanik пишет

открыть все ссылки из папки при перетаскивании ее на кнопку

А вот не знаю. Если кто подскажет, чем для перетаскиваемой папки node заменить в

Выделить код

Код:

var node = popup._view.selectedNode;
   var urlsToOpen = PlacesUtils.getURLsForContainerNode(node);
   if (!urlsToOpen.length) return;
   var urls = [];
   for (var item of urlsToOpen) {
      urls.push(item.uri);
   };
   var uriList = PlacesUtils.toISupportsString(urls.join("|"));
   var args = Cc["@mozilla.org/supports-array;1"].createInstance(Ci.nsISupportsArray);
   args.AppendElement(uriList);

, я б, наверное, смог бы сделать. (кхе-кхе... Dumby, ау.) :rolleyes:

Отсутствует

 

№1034712-07-2016 23:26:25

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1224
UA: Firefox 47.0

Re: Custom Buttons

turbot пишет

Все замечательно, только нужная вам настройка - это image.animation_mode. А media.autoplay.enabled - отвечает за автовоспроизведение html5 медиа-контента.

В обычной жизни так и есть, но на сайте одноклассников свои правила.:)

Отсутствует

 

№1034813-07-2016 06:17:20

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

Re: Custom Buttons

turbot пишет

Dumby, ау

Я фик знает, может попробуй подропать на

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

Выделить код

Код:

(({history}) => {
    this.ondragover = () => false;
    var array, level;
    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 query = history.getNewQuery();
            query.setFolders([obj.id], 1);
            var node = history.executeQuery(query, history.getNewQueryOptions()).root;

            array = [], level = 0; recData(node);
            alert(array.join("\n"));

        } else if (true) {
            alert("Maybe not a (normal) bookmarks folder ?");
        }
    }
    var cut = string => string.slice(0, 64);

    function recData(node) {
        var prefix = new Array(level).fill("\t").join("");

        array.push(prefix + "█ FOLDER: " + cut(node.title || "Unnamed"));

        var result = node.parentResult;
        var wasOpen = node.containerOpen, didSuppressNotifications = false;
        if (!wasOpen) {
            didSuppressNotifications = result.suppressNotifications;
            if (!didSuppressNotifications) result.suppressNotifications = true;
            node.containerOpen = true;
        }
        for (var ind = 0; ind < node.childCount; ind++) {
            var child = node.getChild(ind), {uri} = child;
            if (PlacesUtils.nodeIsBookmark(child) && isGoodURL(uri))
                array.push(prefix + "\t" + cut(uri));
            else if (child.type == child.RESULT_TYPE_FOLDER)
                recData(child.QueryInterface(Ci.nsINavHistoryContainerResultNode), level++);
        }
        if (!wasOpen) {
            node.containerOpen = false;
            if (!didSuppressNotifications) result.suppressNotifications = false;
        }
        level--;
    }
    function isGoodURL(url) {
        return true;
    }
})(PlacesUtils);

Отредактировано Dumby (13-07-2016 06:26:12)

Отсутствует

 

№1034913-07-2016 11:45:27

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

Re: Custom Buttons

Dumby
Ух, как непросто, оказывается. Спасибо. Вроде, все корректно работает. :beer:

Вот только PotPlayer не дает добавить несколько файлов одновременно в плейлист. По всякому пробовал (из системы тоже, на случай, если напутал что в коде) - добавляет только первый файл.
Но, может, ваш плеер, fokanik, умеет это. Пробуйте:

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

Выделить код

Код:

(({history}) => {
   this.ondragover = () => false;
   var array, level;
   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 query = history.getNewQuery();
         query.setFolders([obj.id], 1);
         var node = history.executeQuery(query, history.getNewQueryOptions()).root;

         array = [], level = 0; recData(node);

         play(array.join(" "), "/add");
      } else if (true) {
         var link = e.dataTransfer.getData("text/x-moz-url").split("\n")[0];
         if (!link) return;
         play(link, "/add");
      }
   }
   var cut = string => string.slice(0, 64);

   function recData(node) {
      var result = node.parentResult;
      var wasOpen = node.containerOpen, didSuppressNotifications = false;
      if (!wasOpen) {
         didSuppressNotifications = result.suppressNotifications;
         if (!didSuppressNotifications) result.suppressNotifications = true;
         node.containerOpen = true;
      }
      for (var ind = 0; ind < node.childCount; ind++) {
         var child = node.getChild(ind), {uri} = child;
         if (PlacesUtils.nodeIsBookmark(child) && isGoodURL(uri) && child.type != child.RESULT_TYPE_FOLDER)
            array.push(cut(uri));
      }
      if (!wasOpen) {
         node.containerOpen = false;
         if (!didSuppressNotifications) result.suppressNotifications = false;
      }
   }
   function isGoodURL(url) {
      return true;
   }
})(PlacesUtils);


.join(" ") - разделитель между добавляемыми адресами (т.е., с .join(" | ") - командная строка будет выглядеть так: "урл1 | урл2 | и т.д" /add)

Отсутствует

 

№1035013-07-2016 18:18:32

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

Re: Custom Buttons

turbot пишет

Но, может, ваш плеер, fokanik, умеет это. Пробуйте:
.join(" ") - разделитель между добавляемыми адресами (т.е., с .join(" | ") - командная строка будет выглядеть так: "урл1 | урл2 | и т.д" /add)

Тоже не работает, первая ссылка открывается и все - наверное нужно так: командная строка будет выглядеть так - smplayer.exe  "урл1" "урл2" "урл3" -add-to-playlist
Проверил на ярлыке от программы, работает даже так - smplayer.exe урл1 урл2 урл3 -add-to-playlist

Вот так еще можно:

Выделить код

Код:

play(array.join(" "), "/add"); 
меняем на
play(array[0], "/add");
play(array[1], "/add");
play(array[2], "/add");

Проверил, работает - цикл только нужен.

Отредактировано fokanik (13-07-2016 18:59:19)

Отсутствует

 

Board footer

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