выдаст какие-нибудь ошибки/предупреждения в консоли или нет?
Firefox 128 выдал Hello без ошибок.
Но все равно за скрипт большое спасибо. Если мой скрипт совсем загнется, то теперь есть альтернатива.
Тут у многих проблема с поиском скрипта, который должен выполнять определёное действие, нужное пользователю.
Именно для этого я сделал Демо-профиль несколько лет назад, в котором собрал и обновляю множество полезных фишек.
Просто читаем справку Демо-профиля в шапке и там наверняка найдётся скрипт с нужным действием.
Если это полезная фишка входит в скрипт ucf_hookClicks.js, то наверняка эту фишку можно найти отдельным скриптом, т.к. весь код взят из этой темы или из CustomButtons.
Зачем в папке, куда сохраняется картинка, дополнительно создается папка _Pics с вложенной в неё папкой по названию картинки и можно ли это как-то отключить?
Это подкатегории папок в загрузках, автосортировка сайтов и фото, т.к. часто имена фото не имеют смысла и их источник можно узнать лишь по имени вкладки.
Справку трудно не заметить в самом скрипте: «Html/subdir|Pics/subdir» subdir: пусто | 0 заголовок | 1 домен
Вместо Загрузок можно сохранять сайты и фото в подпапки с именем вкладки или url хоста.
Для отключения прописать пустую строку в опцию extensions.user_chrome_files.savedirs
Мне поиск в Яндекс не нужен, для этого у меня есть другой скрипт и поэтому хотелось бы совсем убрать клик по колесу, а сохранение повесить на двойной клик.
Двойной клик по фото на многих сайтах приводит к проблемам, поэтому я просил Dumby сделать именно клик колёсиком.
А если Вам что-то не нравится в чужих скриптах, то код для Яндекса л
Похоже, что про скрипты потихоньку можно забывать.
Судя по всему, после ухода с форума Dumby и Виталия, других альтруистов, среди знатоков по скриптам, нет и помощи больше ждать не от кого.
Вместо первого есть ClickPicSave.mjs: Сохранить картинку кликом колёсика или перетащив вправо; Двойной клик поиск похожих в Яндекс.
Вы же разбираетесь в скриптах. Подскажите пожалуйста, как в этой конструкции избавиться от eval с сохранением функционала?
Здесь никак. А насчёт разбираетесь в скриптах -> я неплохо знаю Java-код и слабо понимаю Java-особенности и функции в Firefox, т.к. это практически целая операционная система.
tabcounter
Переделал вывод числа вкладок в кнопку extensions-button, так проще и не занимает место в строке адреса:
(async btn => { await document.documentReadyForIdle; btn.setAttribute("badged", true); btn.setAttribute("badgeStyle", "color: white; background-color: blue"); btn.textContent = ""; btn.render(); var tid, lab = () => { tid = null; btn.setAttribute("badge", String(gBrowser.tabs.length)); } var count = () => { tid && clearTimeout(tid); tid = setTimeout(lab, 500); } lab(); var tc = gBrowser.tabContainer; tc.addEventListener("TabOpen", count); tc.addEventListener("TabClose", count); ucf_custom_scripts_win.setUnloadMap(Symbol(), () => { tc.removeEventListener("TabOpen", count); tc.removeEventListener("TabClose", count); }, this); })(document.getElementById("unified-extensions-button"));
Dumby
не работает Toggle URL Tooltip "Ссылки во всплывающих подсказках", подключаю в scriptsbackground [System Principal]
Farby давал аналогичный UserScript, он выводит кнопку, но тоже не работает...
замена панели unified-extensions-button
Эта панель мало информативная, на мой взгляд, нужно открывать подменю каждого дополнения.
Кнопка меню с Дополнениями от Vitaliy V. более наглядная, ей проще пользоваться.
egorsemenov06
а чем не кошерна штатная кнопка "Забыть о части истории" или меню "Удалить недавнюю историю" по Ctrl+Shift+Del ?
Есть ещё "Автоматическое удаление истории", и всё это без сторонних костылей…
ucf_hookClicks 3.9 изменений около 1000, Demo-профиль пашет в новом UCF,
в подсказке кнопки Расширения отображаются версии UCF и ucf_hookClicks
Вывод 7 типов счётчика в любую кнопку, обновление по-умолчанию каждые 30 мин.
1) тип=пуст | учётка не та: количество расширений в кнопке (это по-умолчанию)
2) обратный отсчёт дней до замены пароля, зелёный фон (нужно указать число дней)
3) тип >0 дни, на которые превышен срок пароля, красный
4) тип=S срок от обновления выбранной учётки, серый
5) тип=Р количество паролей/пользователей, синий
6) тип=B количество закладок, голубой
7) aG! если чужой UserAgent, красный
Читаются лишь даты обновления учётной записи! без паролей!
синтаксис опции: тип[:update sec:button] | сайт | имя[:user] | текст меню %s
%s значение счётчика, %d склонение слова день, %u $USER из системы или [:user]
Изменить тип счётчика: нажать 1 сек мышь на кнопке Расширения, открыт
Dumby - не все картинки переименовываются.
Наверное, с Overlay проблемы, но имена получены и меняются для всех.
ClickPicSave.jsm нормально сохраняет не в папку Загрузки, но не переименовывает с некоторых сайтов.
Может, для подобных расширений тоже не сработает. Через "Сохранить изображение как…" всегда переименует.
[spoiler=Mod onDownloadChanged][code](async renamed => {
var view = {
onDownloadChanged(download) {
if (!download.succeeded || download[renamed] || this.skipRenameForDownload(download))
return;
var win = Services.wm.getMostRecentBrowserWindow();
var img = new win.Image();
img.onload = this.onImgLoad;
img.src = (img.u = Services.io.newFileURI(
img.f = win.FileUtils.File((img.d = download).target.path)
)).spec;
},
onImgLoad() {
var uri = this.u.QueryInterface(Ci.nsIURL);
var file = this.f, {parent}
Dumby
Помоги! Не смог прикрутить проверку графического файла к скрипту отслеживания загрузок!
для isGraf await тоже не помог, сбой на строке var src = download.source.url;
(async () => { var list = await Downloads.getList(Downloads.ALL); list.addView({ onDownloadChanged(download) { if (!download.succeeded) return; var isGraf = url => new Promise(resolve => { var img = new Image(); img.onload = img.onerror = e => resolve(e.type.startsWith("l")); img.src = url; }); var src = download.source.url; // var s = await isGraf(src); console.log(src); // alert(await isGraf(src)); } }); })();
Типа попытки загрузить в <img> Если удалось — значит графический.
Благодарю! пойдёт, за неимением лучшего, т.к. определять по расширению глупо.
Возвращает false для pcx tga tif и видимо, всех, не поддерживаемых на страницах HTML.
на Маке и Линукс тип можно получить через proc.runwAsync(file path) это слишком тупой способ…
Dumby - спасибо! (исчо другой вопрос в теме UCF задал)
На кнопке не получается показать 4 символа, видно первые три. Это ограничение Firefox ?
Делаю показ дней от смены/обновления пароля выбранной учётки или до смены пароля (если указан срок жизни пароля при регулярной замене)
Dumby помоги ещё! :beer:
Как определить, что загруженный файл является графическим по его содержанию, а не по расширению ?
В коде завершения загрузки надо переименовывать лишь картинки, взяв имя из Clipboard
P.S. пробовал некоторые примеры из сети, но не получилось в твой скрипт приспособить...
Приветствую!
Вопрос: как отображать цифру на любой кнопке ? и каждый час обновлять ?
Например, на своей кнопке или unified-extensions-button выводить справа сверху цифру аналогично AdBlock, но на синем фоне ?
Dumby - сделал подсчёт дней от смены пароля, через nsILoginManager не получилось...
(async ()=>{ // код выполнять в окне var AlLogins = await Services.logins.getAllLogins(); var PassInfo = urluser => AlLogins.filter(function(item){ if(item.origin +' '+ item.username == urluser) return item; })[0]; try {var dayPass = PassInfo("https://accounts.google.com USER@gmail.com").timePasswordChanged; } catch {dayPass = new Date()} var diffDays = Math.ceil(Math.abs(new Date().getTime() - new Date(dayPass).getTime())/86400000); console.log(diffDays); //прошло дней от смены пароля })();
Dumby - приветствую и с Наступающим НГ! :)
Вопрос про пароли – как получить в js из страницы about:logins# даты:
«Создан» ..... «Использован», для сайта и имени пользователя, например vk.com и +7... ???
В теме много скриптов с unloadlisteners, например ucf-appmenu-restart-button
В UCF 2024-30-11 нет unloadlisteners, в котором выполнялся .destructor()
Для нового UCF нужно в таких скриптах удалять unloadlisteners, переименовать ucf_custom_script_win и пр.
Вопрос: в новом UCF из-за таких скриптов не будет переполнения памяти или других ошибок ?
addEventListener в скриптах остаётся, нужно ли добавлять отдельный .destructor() вместо unloadlisteners ?
Dumby
со строкой list.removeView(this); работает однократно, без неё нормально.
Было нужно для фото с VK.com, открываемых отдельно, и автопереименования сохранённой картинки по имени из clipboard.
Возможно, для этого есть какой-либо userscript, но не нашёл…
Список можно получить так (если вместе с приватными)
await (await Downloads.getList(Downloads.ALL)).getAll();
Спасибо!
А как назначить код на событие ???.succeeded: «Загрузка завершена» ?
Всем привет!
На загруженные файлы можно перейти, нажав кнопку “Показать в проводнике», пока список Загрузок не очищен.
Вопрос: как из JS-кода показать в проводнике последний загруженный файл ?
В идеале не только последний, но и по номеру - перейти в проводнике на последний, предпоследний и т.д. файл.
Ещё надо получить полный путь к последнему загруженному файлу (чтоб переименовывать по имени из буфера обмена).
unter_officer - именно делает скрипт ucf_hookClicks.js из демо-профиля.
Как обычно, ответ стандартный – «Читайте шапку!» вторая строка справки из шапки:
…Добавить закладку без запроса…
вот код функции, можете вырезать его в ваш скрипт, только подсказка берётся отсюда…
xrun1
замечу: в МакОС (вставка по ^+Y) и Линукс (колёсико мыши) есть второй буфер обмена, работающий штатно, без сторонних приложений.
Den199
в шапке Контекстное меню "Открыть ссылку в…"
Если клик не по ссылке, берёт адрес страницы. Код действий можно вбить произвольный и пункты меню назвать как нужно…
iG0R здесь есть TST TabPreview.mjs
но включение эскизов работает на [firefox] 128 без скрипта: browser.tabs.hoverPreview.enabled = true
_zt нечего скрывать чужой труд, это не ваш скрипт, вы сами попрошайничаете:
И, пожалуйста, переделайте в mjs jsm-ки: … TST TabPreview