Отсутствует
Спасибо протестирую.
Отсутствует
Помогите разобраться с кнопкой Быстрое переключение параметров about:config
Нужен пункт меню, чтобы сбрасывал несколько параметров, иначе говоря удалял или очищал. В коде имеется сброс в дефолтное значение, но что такое дефолтное ? Дефолтное оно для браузера или для дополнения, которое его выставило, никак разобраться не могу.
То есть ситуация такая : после удаления дополнения остаётся три десятка параметров им заданных. Как их вычистить ? Или я сам должен задать им пустые значения в коде, но тогда какие они для integer, string и boolean ?
Заранее спасибо и прошу прощения если ответ очевиден.
Отсутствует
Coroner
Дефолтное для браузера. Либо, если параметр добавляется расширением, то для него. При условии, что оно установлено и включено. Если разрешение отключено/удалено - то сброс на дефолт, после рестарта браузера, - удалит параметр из about:config.
после удаления дополнения остаётся три десятка параметров им заданных. Как их вычистить ?
Ручками проще. В about:config (пкм по пункту и выбрать "сбросить") или прямо в файле pref.js (при закрытом браузере) поиском пройтись и посбрасывать/поудалять. Это же разовая задача. Кнопка же предназначена для быстрого переключения параметров, которые требуется переключать регулярно. Вы потратите больше времени на добавление в нее параметров и сброс из нее (тем более, что возможности переключать/сбрасывать группу параметров - пока нет. Но, наверное, добавлю.), чем на вычищение вручную.
А вообще, есть аддоны, которые могут автоматически/полуавтоматически вычищать из about:config остатки настроек удаляемых аддонов.
Отсутствует
Это же разовая задача.
В том-то и дело что возможно придётся делать это не один раз, а параметров десятка три-четыре, то есть по каждому клик ПКМ, выходит долго и однообразно. pref.js чистить - браузер перезапускать, время уходит. Пользуюсь обычно ECleaner 2.5.8, но тут какая-то мнительность обуяла, перепроверять за ним начал, хотя вроде и всё удаляет, да сомнения остались.
Спасибо за ответ. Возможно и правда проще в pref.js сносить, тем более параметры прописываются вроде как последовательно и в одном месте.
Отсутствует
то есть по каждому клик ПКМ, выходит долго и однообразно.
Custom Buttons • View topic - about:config Multiple Selection - позволяет выделять и сбрасывать группу.
Возможно и правда проще в pref.js сносить
Можно просто из бекапа заменять после удаления аддона (при закрытом браузере).
Отсутствует
позволяет выделять и сбрасывать группу.
Спасибо ! Пожалуй лучший выход.
А вообще если экспериментировать с дополнениями, то страшно представить сколько мусора накопиться может, если вовремя не чистить.
Отсутствует
Coroner
А вообще если экспериментировать с дополнениями, то страшно представить сколько мусора накопиться может, если вовремя не чистить.
У меня для экспериментов, есть портабельная копия которая открывается кнопкой. В рабочий переносятся только готовые решения.
Отсутствует
А вообще если экспериментировать с дополнениями, то страшно представить сколько мусора накопиться может, если вовремя не чистить.
Как правильно заметил
для экспериментов, есть портабельная копия
У меня не портабельная версия, но есть профиль профиль test, который запускаю c:\Program Files (x86)\Mozilla Firefox\firefox.exe -P "test" -no-remote
Зачем искать приключения и ставить эксперименты на рабочем профиле?
turbot
У меня просьба по кнопке. Можно прикрутить маленький комментарий в параметры? Например, сегодня я помню, что этот параметр разрешает воспроизводить гифки, а если "false", то гифки становятся статичными, например, на одноклассниках. А то вдруг завтра забуду...
Отсутствует
xrun1
-
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);
Соответственно, добавлять комментарий, как и остальные параметры, в ввиде:
Отсутствует
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.
В эту же кнопку можно добавить несколько языков для быстрого переключения.
Отсутствует
turbot
Спасибо. Получилось так
{nodeName: "menuitem", pref: "media.autoplay.enabled", userChoice: "true", tooltip: "true - анимированные gif\nfalse - статичные"}
Отсутствует
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)
Отсутствует
Есть Открыть видео в PotPlayerMini. Поправьте там под себя пути и аргументы.
У меня такая кнопка есть, но хочется чтоб еще и из контекстного меню панели закладок можно было передать ссылку программе.
Или перетаскиванием ссылки на кнопку могу обойтись, но не знаю как это реализовать.
Отсутствует
Или перетаскиванием ссылки на кнопку могу обойтись, но не знаю как это реализовать.
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
Или
Отредактировано turbot (12-07-2016 21:38:14)
Отсутствует
if (!link) return;
Кнопка работает, ссылки открывает , но теперь еще захотелось большего - как открыть все ссылки из папки при перетаскивании ее на кнопку (без ссылок в подпапках) ? Вот такой вариант будет идеальным
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); }
Спасибо
Отредактировано fokanik (12-07-2016 22:17:13)
Отсутствует
открыть все ссылки из папки при перетаскивании ее на кнопку
А вот не знаю. Если кто подскажет, чем для перетаскиваемой папки 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, ау.)
Отсутствует
Все замечательно, только нужная вам настройка - это image.animation_mode. А media.autoplay.enabled - отвечает за автовоспроизведение html5 медиа-контента.
В обычной жизни так и есть, но на сайте одноклассников свои правила.
Отсутствует
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)
Отсутствует
Dumby
Ух, как непросто, оказывается. Спасибо. Вроде, все корректно работает.
Вот только 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);
Отсутствует
Но, может, ваш плеер, 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)
Отсутствует