tiun
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Kero1 Вот скрипт, копирующий все параметры и их значения в буфер: Код: var Prefs = Services.prefs; var ParamArray = Prefs.getChildList("").map(function(p) { switch (Prefs.getPrefType(p)) { case Prefs.PREF_BOOL: return p + '\t' + Prefs.getBoolPref(p); case Prefs.PREF_INT: return p + '\t' + Prefs.getIntPref(p); case Prefs.PREF_STRING: return p + '\t"' + Prefs.getCharPref(p) +'"'; } }); Cc["@mozilla.org/widget/clipboardhelper;1"].getService(Ci.nsIClipboardHelper).copyString(ParamArray.join("\r\n")); | Нюансики: 1. В about:config браузер копирует в буфер в формате "имя;значение". Но так как и в именах параметров, и в их значениях допустимы любые символы, в том числе и ";", от использования этого формата пришлось отказаться. И от использования запятой (CSV) тоже. Поэтому используется формат TSV - с табуляцией в качестве разделителя. У браузера табуляция тоже допустима и в именах, и в значениях, но там она заменяется на \t, поэтому даже в таком экзотическом случае конфликтов не будет. 2. Параметры копируются в том порядке, в котором о них сообщает браузер. Сортировкой по алфавиту скрипт не занимается. 3. Строго говоря, кроме трёх всем известных типов параметров, есть ещё и четвёртый - "комплексный". Его обработку я не делал - во-первых, никогда его не встречал, и во-вторых, всё равно его потом назад в браузер не вставить - вон, в about:config он в менюшке "Добавить новый параметр" даже не упоминается. И в самом окне about:config такие параметры не показываются - не предусмотрено. (Это к слову о скрытых параметрах.) 4. У Mypal в консоли обнаружились глюки. Когда я вставляю туда этот скрипт, сразу пишется ошибка синтаксического анализа, хотя скрипт абсолютно правильный. Когда запускаю первый раз, пишется ошибка, но уже другая. И только при втором запуске скрипт отрабатывает. Но в других браузерах с ним никаких проблем нет. grey_rat Цитата: Менять даёт без проблем. Но изменения действуют только во время текущего сеанса. После перезапуска браузера возвращаются те значения, которые прописаны в user.js - поскольку user.js именно для этого и предназначен. А так, чтобы совсем-совсем изменить нельзя было (даже на время сеанса), -это уже немного другим файлом делается. Kero1 Цитата: Про невозможность сортировки по тем столбцам в стандартных таблицах браузера, которые туда расширения добавили. Это фундаментальное ограничение движка браузера, так как сортировкой занимается откомпилированная часть, а она это делает только по стандартным столбцам. Вон, в окно закладок в Pale Moon два столбца его авторы добавили, но даже они сортировку по ним не сделали. Хотя могли бы. Но для этого уже надо не чужой готовый JS-код позаимствовать, а самим сидеть и долго-нудно в сишном коде разбираться. | Всего записей: 607 | Зарегистр. 02-11-2007 | Отправлено: 22:01 16-10-2025 | Исправлено: tiun, 22:24 16-10-2025 |
|