При переносе портативной версии на другой диск слетают все кнопки. Печаль.
А попробуйте, после переноса в другое место, удалить файл extensions.json в профиле. Потом запускайте FF.
Отсутствует
bunda1Можно ли исправить Autocopy+3
Присоединяюсь
И еще, проблема с Menuitem hider - скрывает, но после рестарта сбрасывает, окаянная
UP: переустановил - заработала
Отредактировано bezuma (30-11-2017 15:56:04)
Отсутствует
Я уже задавал вопрос в теме по стилям, но там мне смогли помочь только частично - подсказали как убрать замыливание последних букв названий вкладок.
Но это не совсем то. Хотелось бы вернуть вариант с точками в конце, как было в ранних версиях FF.
В связи с этим возник вопрос, а возможно ли убрать замыливание последних букв названий вкладок, и вернуть многоточие с помощью какой-либо кнопки?
Пример:
«The Truth Is Out There»
Отсутствует
Исправил Кодировать изображение или текстовой файл в base64 для Firefox 57.
Отсутствует
Исправил Кодировать изображение или текстовой файл в base64 для Firefox 57.
bunda1, спасибо, но есть нюансы.
При перетаскивании кнопки на панель инструментов, при запуске браузера, при выходе из персонализации, при закрытии окна редактирования кнопки - открывается окно с выбором файла.
А когда кнопка уже находится на панели, то при нажатии ничего не происходит.
В консоли ошибок нет.
P.S. Отбой. Разобрался с нюансами.
P.P.S. Нет, все-таки не получилось разобраться. Происходит всё описанное выше.
Отредактировано unter_officer (30-11-2017 21:54:56)
«The Truth Is Out There»
Отсутствует
Исправил Экспорт/импорт закладок в HTML-файл для Firefox 57.
Добавлено 30-11-2017 22:22:36
При перетаскивании кнопки на панель инструментов, при запуске браузера, при выходе из персонализации, при закрытии окна редактирования кнопки - открывается окно с выбором файла.
P.P.S. Нет, все-таки не получилось разобраться. Происходит всё описанное выше.
Перенеси всё из инициализации в вкладку код.
Отредактировано bunda1 (30-11-2017 22:22:36)
Отсутствует
Исправил Экспорт/импорт закладок в HTML-файл для Firefox 57.
Спасибо, всё отлично работает.
Перенеси всё из инициализации в вкладку код.
Перенёс. Тоже всё хорошо.
Есть вопросик. В старой версии кнопки был стиль для всплывающей подсказки (alertsService.showAlertNotification). Можно ли добавить стиль в эту версию кнопки?
«The Truth Is Out There»
Отсутствует
В старой версии кнопки был стиль для всплывающей подсказки (alertsService.showAlertNotification). Можно ли добавить стиль в эту версию кнопки?
Не помню, а что за стиль?
Отсутствует
Не помню, а что за стиль?
Вот, вырезал этот кусок кода:
var alertsService = Cc["@mozilla.org/alerts-service;1"].getService(Ci.nsIAlertsService) alertsService.showAlertNotification(self.image, "Кодировать в base64", "Скопировал файл как base64", false, "", null, ""); // стиль сплывающей подсказки var sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService); var uri = makeURI('data:text/css,'+ encodeURIComponent('\ .alertBox { ..... }\ #alertImage { ..... }\ #alertNotification:hover { ..... }\ .alertTitle { ..... }\ #alertTextLabel { ..... }\ ')); sss.loadAndRegisterSheet(uri, 0); // удалить стиль и подсказку через указанное время setTimeout(()=> { sss.unregisterSheet(uri, 0); alertsService.closeAlert(); }, 5000);
Отредактировано unter_officer (30-11-2017 23:39:28)
«The Truth Is Out There»
Отсутствует
Не помню, а что за стиль?
bunda1, спасибо за помощь. Всё работает. Со стилем разобрался сам.
А по поводу этого вопроса можете помочь:
Я уже задавал вопрос в теме по стилям, но там мне смогли помочь только частично - подсказали как убрать замыливание последних букв названий вкладок.
Но это не совсем то. Хотелось бы вернуть вариант с точками в конце, как было в ранних версиях FF.
В связи с этим возник вопрос, а возможно ли убрать замыливание последних букв названий вкладок, и вернуть многоточие с помощью какой-либо кнопки?
Пример:
«The Truth Is Out There»
Отсутствует
В связи с этим возник вопрос, а возможно ли убрать замыливание последних букв названий вкладок, и вернуть многоточие с помощью какой-либо кнопки?
Наверно можно, но для меня сложно. К сожалению мне нет для этого времени.
Отсутствует
возможно ли убрать замыливание последних букв названий вкладок
.tab-label-container[textoverflow]:not([pinned]) { mask-image: unset !important;}
это в стили, а насчет точек не знаю
Отсутствует
убрать замыливание последних букв названий вкладок, и вернуть многоточие
Попробуй так
((func, destroy) => { [...gBrowser.tabs].forEach(func); addEventListener("TabOpen", func, false, gBrowser.tabContainer); addEventListener("TabAttrModified", func, false, gBrowser.tabContainer); addDestructor(() => [...gBrowser.tabs].forEach(destroy)); })(e => { var tab = e.target || e; var lab = document.getAnonymousElementByAttribute(tab, "class", "tab-text tab-label"); if (!lab.hasAttribute("crop")) { lab.setAttribute("crop", "end"); lab.setAttribute("flex", "1"); } else if (lab.value == tab.label) return; lab.setAttribute("value", tab.label); }, tab => { var lab = document.getAnonymousElementByAttribute(tab, "class", "tab-text tab-label"); for(var attr of ["crop", "flex", "value"]) lab.removeAttribute(attr); });
Отсутствует
Dumby
Огромное спасибо! То, что надо.
«The Truth Is Out There»
Отсутствует
Здравствуйте.
Что нужно дописать к этим кодам:Выделить кодКод:
// Закрыть все вкладки [...gBrowser.tabs].forEach((tab)=> gBrowser.removeTab(tab)); // Закрыть вкладки слева gBrowser.visibleTabs.forEach((tab)=> tab._tPos < TabContextMenu.contextTab._tPos && gBrowser.removeTab(tab));чтобы при закрытии вкладок появлялость подобное сообщение:
Здесь я уже задавал этот вопрос. bunda1 мне подсказал, как это сделать, но тогда основательно потестировать не было времени.
Сейчас, пытаясь прикрутить на FF57, стал тестировать и оказалось, что это не совсем то. Да и работает с ошибками.
Я хотел бы, что бы появлялось стандартное окно FF. Например такое, как при закрытии вкладок справа или закрытии других вкладок. Такое, как на скрине выше.
Возможно ли такое сделать?
«The Truth Is Out There»
Отсутствует
Поправите кнопку? В fx 56 не работает.
// ПОКАЗАТЬ АДРЕС СУЩЕСТВУЮЩЕЙ ЗАКЛАДКИ ПРИ НАВЕДЕНИИ НА ЗВЕЗДОЧКУ var starbutt = document.getAnonymousElementByAttribute(document.getElementById('bookmarks-menu-button'), "anonid", "button"); starbutt.onmouseover = function() { var {bookmarks, placesRootId, tagsFolderId} = PlacesUtils, result = []; for(var id of BookmarkingUI._itemIds) { var arr = []; while((id = bookmarks.getFolderIdForItem(id)) != placesRootId) { if (id == tagsFolderId) { arr = []; break; } arr.unshift(bookmarks.getItemTitle(id) || "(без заголовка)"); } arr.length && result.push(arr.join("\\")); } if (result.join()) starbutt.tooltipText = "Редактировать эту закладку (Ctrl+D)" + "\n➥ " + result.join("\n➠ "); };
Отсутствует
unter_officer пишетубрать замыливание последних букв названий вкладок, и вернуть многоточие
Попробуй так
скрытый текстВыделить кодКод:
((func, destroy) => { [...gBrowser.tabs].forEach(func); addEventListener("TabOpen", func, false, gBrowser.tabContainer); addEventListener("TabAttrModified", func, false, gBrowser.tabContainer); addDestructor(() => [...gBrowser.tabs].forEach(destroy)); })(e => { var tab = e.target || e; var lab = document.getAnonymousElementByAttribute(tab, "class", "tab-text tab-label"); if (!lab.hasAttribute("crop")) { lab.setAttribute("crop", "end"); lab.setAttribute("flex", "1"); } else if (lab.value == tab.label) return; lab.setAttribute("value", tab.label); }, tab => { var lab = document.getAnonymousElementByAttribute(tab, "class", "tab-text tab-label"); for(var attr of ["crop", "flex", "value"]) lab.removeAttribute(attr); });
Я прошу прощение за оффтоп - а стилем такое можно сделать (убрать замыливание последних букв названий вкладок, и вернуть многоточие)? Спасибо
Отсутствует
Я прошу прощение за оффтоп - а стилем такое можно сделать (убрать замыливание последних букв названий вкладок, и вернуть многоточие)? Спасибо
Я задавал этот вопрос в теме по стилям. Там мне подсказали, как убрать замыливание, но с многоточием помочь не смогли. Поэтому я и попросил помощи здесь.
«The Truth Is Out There»
Отсутствует
bunda1
Может поправите кнопку Экспорт всех кнопок в HTML ?
Попробуй. Возможны глюки, пропадают названия кнопок которые скрыты.
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%u042D%u043A%u0441%u043F%u043E%u0440%u0442%20%u0432%u0441%u0435%u0445%20CB%20%u043A%u043D%u043E%u043F%u043E%u043A%20%u0432%20HTML%20%u0444%u0430%u0439%u043B%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aapplication/text%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAAJEylRHi9ZySAuVModLVTKHS1Uyh0sVModLFTKHCxUyhwsVMocLFTKHCxUyhwsVMocLFTKIS5UyR4vWc8JEymmHi9Zh4Oz6P92rNz7g7Ph/4Oz4f+Ds+H/g7Th/4S04f+EtOH/hbXh/4W14f+GteH/hLTh/3Ws3P2Cs+j/Hi9ZyyEvVIV0q9v/Wp7N+eny9/3v9/r96/P6/ejy+f3l8fn94u/5/eDu+P3d7Pj92uv4/d7s9v1cn877c6rb/yEvVMkfLlSHfLDf/2el0vvx9vv/4u34/9ro9v/W5vb/0OP1/8vg9f/G3fT/wdzz/7vZ9P/a6vn/bKfS/Xuv3/8fLlTKHi1Uh4Gz4v9sqdT78Pb7/+nx+v/h7fj/3uv4/9jo9//T5fb/z+P2/8rh9f/F3vb/2+v5/3Cr1P2Bs+H/Hi1Uyh0tVIeJt+T/c6zW+/H2+//q8vn/4u33/97r9//a6ff/1Ob2/9Dj9v/L4fX/xt71/9zr+P92rtf9h7bj/x0tVMoaK1OHnsPp/4S22/vu9fr/6vH4/+Ht9//e6/b/2uj2/9bm9v/Q5PX/zOH1/8ff9f/c6/j/fLHY/Y665f8dLFPKGitTh6/M7v+Tvt/77/X6//3+/v/0+Pz/8fb9/+zz/P/n8fz/4e76/9zq+f/W6Pr/3uz5/4C12f2Zwen/HS1UyhorU4e50/L/kr3e+93q9f/z9/v/7PT6/+vz+v/o8vn/5/H5/+Xv+f/i7vj/4u76/9rp9f99s9r9ocbs/x4tVMobLFOHv9f0/6zN5vuUv+H/m8Tl/5rD5P+aw+T/msPl/5nD5P+VweP/kb/j/4++4/+Gt97/jLzf/ajK7v8eLVTKHCxUh8HY9P/Q4vL7y93v/8XX6P/E1uf/wtTm/8DT5f++0uT/vNHj/7nP4/+2zOH/v9br/8Pb7/210fH/HCxTyhwsU4bE2fP/1+r7+6Svuf+MjIz/mJqc/5qcnf+eoKH/o6Sm/6WnqP+nqav/pKOj/6Ovuf/O5vn9utPx/xssU8kdLVOGy932/9jq+vqlrbb+oqCe/7S0tf+6ubn/wsLB/9HQ0P+5uLj/hYaF/87Myf+nsbv+z+T3/MTa9f8eLlXMGCpWgr/V8//0///7sLi9/5ybmv+wsLH/tLS0/7y7vP/Kysr/rq6u/3R1df/CwL//s7zD/+z///2wye7/FidStAQNJhFBXJu7fZTB9XuFm/WpqKT/s7O0/7q6uv/CwcL/0dHR/7q6uv+FhYb/1NLP/3+KoPV5k8H0OFCIwQAEEyUAAAEAAwQGCwAAAAA9PT2Gmpqa/5OTk/qZmZn/nZ2d/6Kiov+kpKT/o6Oj+rOzs/8/Pz+GAAAAAAMDBAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bself._handleClick%20%3D%28%29%3D%3E%20menuPopup.showPopup%28this%2C%20-1%2C%20-1%2C%20%22popup%22%2C%20%22bottomleft%22%2C%20%22topleft%22%29%3B%0A%0A%0Avar%20array%20%3D%20%5B%0A%20%20%20%5B%20%22%u042D%u043A%u0441%u043F%u043E%u0440%u0442%20%u0432%u0441%u0435%u0445%20CB%20%u043A%u043D%u043E%u043F%u043E%u043A%20%u0432%20HTML%20%u0444%u0430%u0439%u043B%22%2C%20%22setPathToHtmlFile%28%29%22%2C%20%22data%3Aimage/x-icon%3Bbase64%2CAAABAAEAEhIAAAEAIACABQAAFgAAACgAAAASAAAAJAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg/o/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg/o/w4P6P8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg/o/zUq6P8OD+j/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg/o/0RC//0cE+X/Dg/o/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQW5/8tMOT/Njfw/0BA+v9JSP//UU///1hT//9aVv3/RUL5/zQy+f8zNPH/JSHa/w4P6P8AAAAAAAAAAAAAAAAAAAAAAAAAABAR5v0UFeL/Hh7v/Soo+P80Mf39PDn+/0I+//05NPn/F5sr/zlO0/08PeL/NDbb/Rwdyv8OD+j/AAAAAAAAAAAAAAAAAAAAAA4P6P8XGOn/Hh7x/yQk9f8rKvX/MjD1/zk0+f85NPn/F5sr/xebK/8lQ6n/Hx/D/w4P6P8AAAAAAAAAAAAAAAAAAAAAAAAAAA4P6P8OD+j/Dg/o/w4P6P8OD+j/Dg/o/w4P6P8OD+j/F5sr/zfyX/0Xmyv/Dg/o/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH3EgP+W8J//m/Sk/6D5qv+k/K7/qPyz/6z8uP9t2H7/QuJf/zz/Xv8f7UX/F5sr/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOQFP8f5D3/KexI/zL3U/87/V3/Qf9k/0T/aP9K/2v/Qf9j/zn5Wf8571X/Kt1J/xebK/8AAAAAAAAAAAAAAAAAAAAAAAAAAAeUGf0Y6Tj/IvNE/Sn6Tv81/lj9Pv9h/0X9Z/1H/mf/Rvpk/0HvXP064VP/MtZL/RrHN/8Xmyv/AAAAAAAAAAAAAAAAAAAAAAmYHP8JmBz/CZgc/wmYHP8JmBz/CZgc/wmYHP8JmBz/CZgc/zjgUf8x1kj/FMIy/xebK/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKL08/zDXSP0NvCz/F5sr/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHKsv/xS9Lv8Xmyv/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF5sr/xebK/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF5sr/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//8BB/9/AQf/PwEH/x8BB/8PAQcABwEHAAMBBwAHAQcADwEHAA8BBwAHAQcAAwEHAAcBB/8PAQf/HwEH/z8BB/9/AQf//wEE%3D%22%5D%2C%0A%20%20%20%5B%20%22%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u0432%20%u0432%u043A%u043B%u0430%u0434%u043A%u0435%20HTML%20%u0444%u0430%u0439%u043B%22%2C%20%22openHtmlFileInTab%28%29%22%2C%20%22data%3Aimage/x-icon%3Bbase64%2CAAABAAEAEhIAAAEAIACABQAAFgAAACgAAAASAAAAJAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF5sr/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXmyv/F5sr/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABebK/8UvS7/HKsv/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF5sr/w28LP8w10j9KL08/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXmyv/FMIy/zHWSP844FH/CZgc/wmYHP8JmBz/CZgc/wmYHP8JmBz/CZgc/wmYHP8JmBz/AAAAAAAAAAAAAAAAAAAAABebK/8axzf/MtZL/TrhU/9B71z9Rvpk/0f+Z/9F/Wf9Pv9h/zX+WP0p+k7/IvNE/RjpOP8HlBn9AAAAAAAAAAAAAAAAAAAAAAAAAAAXmyv/Kt1J/znvVf85+Vn/Qf9j/0r/a/9E/2j/Qf9k/zv9Xf8y91P/KexI/x/kPf8DkBT/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF5sr/x/tRf88/17/QuJf/23Yfv+s/Lj/qPyz/6T8rv+g+ar/m/Sk/5bwn/99xID/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg/o/xebK/838l/9F5sr/w4P6P8OD+j/Dg/o/w4P6P8OD+j/Dg/o/w4P6P8OD+j/AAAAAAAAAAAAAAAAAAAAAAAAAAAOD+j/Hx/D/yVDqf8Xmyv/F5sr/zk0+f85NPn/MjD1/ysq9f8kJPX/Hh7x/xcY6f8OD+j/AAAAAAAAAAAAAAAAAAAAAA4P6P8cHcr/NDbb/Tw94v85TtP9F5sr/zk0+f9CPv/9PDn+/zQx/f0qKPj/Hh7v/RQV4v8QEeb9AAAAAAAAAAAAAAAAAAAAAAAAAAAOD+j/JSHa/zM08f80Mvn/RUL5/1pW/f9YU///UU///0lI//9AQPr/Njfw/y0w5P8UFuf/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg/o/xwT5f9EQv/9Dg/o/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4P6P81Kuj/Dg/o/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOD+j/Dg/o/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg/o/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//8BB/v/AQfz/wEH4/8BB8P/AQeAAwEHAAMBB4ADAQfAAwEHwAMBB4ADAQcAAwEHgAMBB8P/AQfj/wEH8/8BB/v/AQf//wEE%3D%22%5D%2C%20%0A%20%20%20%5B%20%22separator%22%20%5D%2C%0A%20%20%20%5B%20%22%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u043F%u0430%u043F%u043A%u0443%20%u0434%u043B%u044F%20%u044D%u043A%u0441%u043F%u043E%u0440%u0442%u0430%20CB%20%u043A%u043D%u043E%u043F%u043E%u043A%22%2C%20%22openHtmlFileFolder%28%29%22%2C%20%22data%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAK8AAACvABQqw0mAAAABZ0RVh0Q3JlYXRpb24gVGltZQAwOC8xMS8wNdiEE10AAAAldEVYdFNvZnR3YXJlAE1hY3JvbWVkaWEgRmlyZXdvcmtzIE1YIDIwMDSHdqzPAAACiUlEQVR4nKWTy0uUYRTGf+/np6PTODOmMpaGhJRaZmQgRAQtglaBf4BRtGgTFLUqKjBoF1QQlBLdKCgrscuiFEq6gGmQBWWSYLfpMqXMTM71+773PS0kQXBR9MBvdZ7z8HDgKBHhf2T9jUkdUbVKKTXfzH7eqVpdXbDDzWvRmrDngePyMZniXfsxLtLBFuAWhziqlOoQET0n4dlprk5/uysisTncO7Gqt3s/N5eeWCjD8T5ZcWa5nNvFmc6d7AEKRAQRgaHT9Gcyb0XyB+ain8jGC+ul5/15GXTuSN+3bmntapHj2+kFyv6E2K7DSrw0Yw9v8ys6gS9chfbgWvA5K2qXUb2knAfZflaXrWXTqg2MByNt12sG25JTiaRSqsI2wuLU5HdyU19p2TZOga+IfX27CUdqqG8KMeK9IKdchtLP8GpdaivXcN8S1g3cDwERWxvIJmP4K1qwfRmQl5wc6p450B14dLiHCecTzf5mtp7aC0BlqJx1M44iywjk4q/xVzSDxMEkkYNXkIOXKSsOoESwUChgoS+At/8GI5u7JOswDIhlDKR/DBKoXA4mCiYxS124nBLxqKCQoGjqwuV46QSTH0fIOYwCjm0MuOnPFAXrwB2eKWY8yKdoDJbgd35S5eYJmWkaQqWYfCGf3wyQc4gCrm0EvMwXiksXQW4SslnIZ0GEhkAJC3IJIq4mpNM0lgaxiqpJTX1SP38xCni2ESgtsxBjgd0OAYHATJHGmgH8Ja1ECusIWSHqa6rI5MKk4lGejjEKuLbWvJqMmdVDZ5vwPGbRGr5rxeDjahJuCtsUE43FSOaFRJpLIx9IAK4CbKAS8AHzPsw8MkAaiCsRQSll/8PybIiI6N8D8VYf0gJ8eQAAAABJRU5ErkJggg%3D%3D%22%5D%2C%0A%20%20%20%5B%20%22%u042D%u043A%u0441%u043F%u043E%u0440%u0442%20%u0432%u0441%u0435%u0445%20CB%20%u043A%u043D%u043E%u043F%u043E%u043A%20%u0432%20HTML%20%u0444%u0430%u0439%u043B%20%u0431%u0435%u0437%20%u0437%u0430%u043F%u0440%u043E%u0441%u0430%22%2C%20%22exportsButtonsToHtmlFile%28%29%22%2C%20%22data%3Aimage/x-icon%3Bbase64%2CAAABAAEAEhIAAAEAIACABQAAFgAAACgAAAASAAAAJAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE8A/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE8A/wBPAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE8A/wBkAP8ATwD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE8A/wB6AP0AUgD/AE8A/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAP8AZQD/AG4A/wB3AP8AfwD/AIQA/wCHAP8AiAD/AHkA/wBtAP8AbAD/AFgA/wBPAP8AAAAAAAAAAAAAAAAAAAAAAAAAAABQAP0AUgD/AFwA/QBmAP8AbgD9AHQA/wB4AP0AbwD/F5sr/wBzAP0AbgD/AGcA/QBQAP8ATwD/AAAAAAAAAAAAAAAAAAAAAABPAP8AVgD/AF0A/wBiAP8AZwD/AGsA/wBvAP8AbwD/F5sr/xebK/8AXgD/AFAA/wBPAP8AAAAAAAAAAAAAAAAAAAAAAAAAAABPAP8ATwD/AE8A/wBPAP8ATwD/AE8A/wBPAP8ATwD/F5sr/zfyX/0Xmyv/AE8A/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH3EgP+W8J//m/Sk/6D5qv+k/K7/qPyz/6z8uP9t2H7/QuJf/zz/Xv8f7UX/F5sr/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOQFP8f5D3/KexI/zL3U/87/V3/Qf9k/0T/aP9K/2v/Qf9j/zn5Wf8571X/Kt1J/xebK/8AAAAAAAAAAAAAAAAAAAAAAAAAAAeUGf0Y6Tj/IvNE/Sn6Tv81/lj9Pv9h/0X9Z/1H/mf/Rvpk/0HvXP064VP/MtZL/RrHN/8Xmyv/AAAAAAAAAAAAAAAAAAAAAAmYHP8JmBz/CZgc/wmYHP8JmBz/CZgc/wmYHP8JmBz/CZgc/zjgUf8x1kj/FMIy/xebK/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKL08/zDXSP0NvCz/F5sr/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHKsv/xS9Lv8Xmyv/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF5sr/xebK/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF5sr/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//8BB/9/AQf/PwEH/x8BB/8PAQcABwEHAAMBBwAHAQcADwEHAA8BBwAHAQcAAwEHAAcBB/8PAQf/HwEH/z8BB/9/AQf//wEE%3D%22%5D%0A%5D%3B%0Avar%20menuPopup%20%3D%20self.appendChild%28document.createElement%28%22menupopup%22%29%29%3B%0Aarray.forEach%28%28m%2Ci%29%3D%3E%20%7B%0A%20%20%20if%20%28%20m%5B0%5D%20%3D%3D%20%22separator%22%20%29%20%7B%20menuPopup.appendChild%28document.createElement%28%22menuseparator%22%29%29%3B%20return%20%7D%3B%0A%20%20%20var%20mItem%20%3D%20menuPopup.appendChild%28document.createElement%28%22menuitem%22%29%29%3B%0A%20%20%20mItem.setAttribute%28%22label%22%2C%20m%5B0%5D%29%3B%0A%20%20%20mItem.setAttribute%28%22class%22%2C%20%22menuitem-iconic%22%29%3B%0A%20%20%20mItem.setAttribute%28%22image%22%2C%20m%5B2%5D%29%3B%20%0A%20%20%20mItem.addEventListener%28%22command%22%2C%20%28%29%3D%3E%20eval%28m%5B1%5D%29%29%3B%0A%7D%29%3B%0AmenuPopup.setAttribute%28%22onclick%22%2C%20%22event.stopPropagation%28%29%22%29%3B%0A%0A%0Afunction%20openHtmlFileInTab%28%29%20%7B%0A%20%20%20var%20fp%20%3D%20window.makeFilePicker%28%29%3B%0A%20%20%20fp.init%28window%2C%20%22%u0412%u044B%u0431%u0435%u0440%u0438%u0442%u0435%20HTML-%u0444%u0430%u0439%u043B%20%u0434%u043B%u044F%20%u0438%u043C%u043F%u043E%u0440%u0442%u0430%20%u0437%u0430%u043A%u043B%u0430%u0434%u043E%u043A%22%2C%20fp.modeOpen%29%3B%0A%20%20%20fp.appendFilters%28fp.filterHTML%29%3B%0A%20%20%20Cu.import%28%22resource%3A//gre/modules/FileUtils.jsm%22%29%3B%0A%20%20%20fp.displayDirectory%20%3D%20FileUtils.File%28%20getPathToHtmlFileFolder%28%29%20%29%3B%0A%20%20%20fp.open%28re%3D%3E%20%7B%20%0A%20%20%20%20%20%20if%20%28%20re%20%3D%3D%20fp.returnOK%20%29%20gBrowser.selectedTab%20%3D%20gBrowser.addTab%28fp.file.path%29%3B%0A%20%20%20%7D%29%0A%7D%3B%0A%0Afunction%20exportsButtonsToHtmlFile%28%29%20%7B%0A%20%20%20var%20visibleCBbuttons%20%3D%20%5B...document.querySelectorAll%28%27%5Bcb-mode%5D%27%29%5D%3B%0A%20%20%20var%20paletteCBbuttons%20%3D%20%5B...custombuttons.palette.querySelectorAll%28%27%5Bcb-mode%5D%27%29%5D%3B%0A%20%20%20var%20allCBbuttons%20%3D%20visibleCBbuttons.concat%28paletteCBbuttons%29%3B%0A%0A%20%20%20var%20array%20%3D%20%5B%5D%3B%0A%20%20%20allCBbuttons.forEach%28but%3D%3E%20%7B%0A%20%20%20%20%20%20if%20%28%20%21but.URI%20%29%20return%3B%0A%20%20%20%0A%20%20%20%20%20%20var%20name%20%3D%20but.getAttribute%28%22label%22%29%20%7C%7C%20%22%u0411%u0435%u0437%20%u043D%u0430%u0437%u0432%u0430%u043D%u0438%u044F%22%3B%0A%20%20%20%20%20%20if%20%28%20but.URI.endsWith%28%22custombutton%253E%22%29%20%29%20var%20uri%20%3D%20but.URI%3B%0A%20%20%20%20%20%20var%20image%20%3D%20but.getAttribute%28%22image%22%29%20%7C%7C%20%22data%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAACNFBMVEXDRgDweQDnbwC0NgDCRQC7PQDtpTu+QQD78q3PUwDCRAD//8vbYQDLTgDocAD0iQX1jQbGSgD7iAD4gwDVaw7vdwDyegD+igDweQDlawDyhAXveADmZwDzmBbtcwDwkhHveADmhBTkgxbweADkfRH+igD7hADXZQX0gADyjA/tfgvveQDiawDQVADRXgfnbwD1jAb9iQD9z0PVZAbxpinykRHtdgD5mRbERQDDRgDOYArCRAD9iQD3ewDxegD3dwDFRgDAQAD+hgD4fQDucgDtgQftfwTISQDCRQDvdgD5lxb1kRb2qh7wnynkagD766LDRQDDRwDDRQDspjbtpzbuqDbvqzv//8DUZAbCRQD//83pjhvveQbvggW+QQDfcxLlmUb//8veYADMTwDHSADVVwC8PgDwixb78q3oZgDUWADRVADCRQD9iQDERwDBQQDYVQC+PgC0NgDbYQDWWgDUWADSVQDFSAC+QAC7PAC0NgD+wRL+/kD+/zb+7i3+8Cv+/DX+wBL/+DD/rwz+qgz+rwz/tAz+sQzfbAT+3iP/+jD//Dz1jwP+nwf5iwf7pBz2tRr4lwb/ogfsdQT+2R7/9ET+2iT8yyLmgBL5iQL2egLokhP7zzT60zv1zUr0gAL1ewP50yn9+UL++EXooyngaAH41EPzowzyySj+xxzlhhHvvyruwjXxvTnUag3+zxrwigP+swz86U/ZXwD75lHqegD6xzb//kn+uhPTXAG3OAD/+UC2vFeJAAAAe3RSTlMAAAAAAAAAAAAAAAAAAAAAAAAAAACfnwAIaelpAAA2+wD7UQAAa3oArKzRzMysnwgAvPQA/gAAw3prw0oALr16vS4AACnF6bspAAAA/mIAADQAAAAAAI8AAEwA0vv7kd2yAuuvr+vKABL23U+8Sk/d9vUDIIAQAAAQgCAfvupHAAABB0lEQVR4Xi3IU3fDABgA0C+u26FdZ9u2bdu2vZSzbds2/tyac3IfLxjpGyA6MimqY6gHTNgiiNwkwRM1E7EhTrYyTfMzzsh0ZEPiH+D6+u5mV1jEhpe5haVCYW1T4suEvUOkk7PLpVJ5WFnl7hEUDN5LPvsHJ6cazdn13f3DYxu0B35+/Y2qVSr17NzGeUgohIVHLK/PMDa39qKieRATGxd/9cS4uU1MwnmQktqY/qGlaVr7/ZOVDTmQm5df8PwyNj4xOTVdjOM4kCRZOr+wWFa+srpWQVEU8PnV2zu7NbV19UfHDQRBAIfTdNHc0soVdnR2dfdgGAgEvW99/QNc4eDQ8O8Ihv0D77NPgbVLZ6kAAAAASUVORK5CYII%3D%22%3B%0A%0A%20%20%20%20%20%20array.push%28%22%3Cimg%20src%3D%22%20+%20image%20+%20%22%3E%26nbsp%3Ca%20href%3D%22%20+%20uri%20+%20%22%3E%22%20+%20name%20+%22%3C/a%3E%3Cbr%3E%5Cn%22%29%3B%0A%20%20%20%7D%29%3B%0A%20%20%20%0A%20%20%20var%20before%20%3D%20%22%3Chtml%3E%5Cn%3Chead%3E%5Cn%3Cmeta%20http-equiv%3D%27Content-Type%27%20content%3D%27text/html%3B%20charset%3Dutf-8%27%3E%5Cn%3C/head%3E%5Cn%3Cbody%3E%5Cn%22%3B%0A%20%20%20var%20after%20%3D%20%22%5Cn%3C/body%3E%5Cn%3C/html%3E%22%3B%0A%20%20%20var%20text%20%3D%20before%20+%20array.join%28%22%22%29%20+%20after%3B%0A%20%20%20var%20text%20%3D%20convertFromUnicode%28%22UTF-8%22%2C%20text%29%3B%20%0A%0A%20%20%20var%20file%20%3D%20Cc%5B%22@mozilla.org/file/local%3B1%22%5D.createInstance%28Ci.nsIFile%29%3B%0A%20%20%20file.initWithPath%28%20getPathToHtmlFileFolder%28%29%20%29%3B%0A%20%20%20file.append%28%22CB%20buttons%20%22%20+%20new%20Date%28%29.toLocaleFormat%28%22%25d.%25m.%25Y.%20%25H%B7%25M%B7%25S%22%29%20+%20%22.html%22%29%3B%0A%20%20%20custombuttonsUtils.writeFile%28file.path%2C%20text%29%3B%0A%0A%20%20%20var%20alertsService%20%3D%20Cc%5B%22@mozilla.org/alerts-service%3B1%22%5D.getService%28Ci.nsIAlertsService%29%0A%20%20%20alertsService.showAlertNotification%28self.image%2C%20self.label%2C%20%22%u042D%u043A%u0441%u043F%u043E%u0440%u0442%u0438%u0440%u043E%u0432%u0430%u043B%20%u0432%u0441%u0435%20CB%20%u043A%u043D%u043E%u043F%u043A%u0438%20%u043A%u0430%u043A%20HTML%20%u0432%20%22%20+%20file.path%29%3B%0A%20%20%20setTimeout%28%28%29%3D%3E%20alertsService.closeAlert%28%29%2C%204000%29%3B%0A%7D%3B%0A%0A%0Afunction%20openHtmlFileFolder%28%29%20%7B%0A%20%20%20var%20folder%20%3D%20Cc%5B%22@mozilla.org/file/local%3B1%22%5D.createInstance%28Ci.nsIFile%29%3B%0A%20%20%20folder.initWithPath%28%20getPathToHtmlFileFolder%28%29%20%29%3B%0A%20%20%20folder.launch%28%29%3B%0A%7D%3B%0A%0A%0Afunction%20setPathToHtmlFile%28%29%20%7B%20%20%20%20%20%0A%20%20%20var%20fp%20%3D%20window.makeFilePicker%28%29%3B%0A%20%20%20fp.init%28window%2C%20%22%u0423%u043A%u0430%u0436%u0438%u0442%u0435%20%u043F%u0430%u043F%u043A%u0443%20%u0434%u043B%u044F%20%u044D%u043A%u0441%u043F%u043E%u0440%u0442%u0430%20CB%20%u043A%u043D%u043E%u043F%u043E%u043A%21%22%2C%20fp.modeGetFolder%29%3B%0A%20%20%20fp.open%28re%3D%3E%20%7B%20%0A%20%20%20%20%20%20if%20%28%20re%20%21%3D%20fp.returnOK%20%29%20return%3B%0A%20%20%20%20%20%20cbu.setPrefs%28%22CB.exportsButtonsToHtmlFile.path%22%2C%20convertFromUnicode%28%22UTF-8%22%2C%20fp.file.path%29%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20exportsButtonsToHtmlFile%28%29%3B%0A%20%20%20%7D%29%0A%7D%3B%0A%0A%0Afunction%20getPathToHtmlFileFolder%28%29%20%7B%20%20%20%20%20%0A%20%20%20try%20%7B%20return%20Services.prefs.getComplexValue%28%22CB.exportsButtonsToHtmlFile.path%22%2C%20Ci.nsISupportsString%29.data%20%7D%20%0A%20%20%20catch%28e%29%20%7B%20return%20%22C%3A%22%20%7D%3B%0A%7D%3B%0A%0A%0Afunction%20convertFromUnicode%28charset%2C%20str%29%20%7B%0A%20%20%20var%20converter%20%3D%20Cc%5B%22@mozilla.org/intl/scriptableunicodeconverter%22%5D.createInstance%28Ci.nsIScriptableUnicodeConverter%29%3B%0A%20%20%20converter.charset%20%3D%20charset%3B%0A%20%20%20str%20%3D%20converter.ConvertFromUnicode%28str%29%3B%0A%20%20%20return%20str%20+%20converter.Finish%28%29%3B%0A%7D%3B%0A%0A%0Athis.onmouseover%20%3D%28%29%3D%3E%20%7B%20%0A%20%20%20this.tooltipText%20%3D%20self.label%20+%20%22%5Cn%u041B%3A%20%u041C%u0435%u043D%u044E%20%u043A%u043D%u043E%u043F%u043A%u0438%5Cn%u041F%3A%20CB%20%u043C%u0435%u043D%u044E%5Cn%5Cn%u041F%u0430%u043F%u043A%u0430%20%u0434%u043B%u044F%20%u044D%u043A%u0441%u043F%u043E%u0440%u0442%u0430%3A%5Cn%22%20+%20getPathToHtmlFileFolder%28%29%3B%0A%7D%3B%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
Отсутствует