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

Многие проблемы быстрее решаются поиском по форуму и чтением FAQ, чем созданием новой темы и томительным ожиданием ответа.

№1362613-08-2019 23:32:06

func4ptch4
Участник
 
Группа: Members
Зарегистрирован: 03-05-2018
Сообщений: 97
UA: Firefox 68.0

Re: Custom Buttons

drage

sql.vbs

Выделить код

Код:

Set WshShell=CreateObject("WScript.Shell") 
RetCode=WshShell.Run("chrome\user_chrome_files\_Local\Updates\sqlite[Fix].bat",0,false)


Вроде же портабл? просто хотел обойтись без vbs, и чтобы батник выходил без окна.
А ты как сделал?

mokujin, спасибо кстати насчет этого кода, так запускаю.
hotk ctrl+q

Выделить код

Код:

var prof=Services.dirsvc.get('ProfD',Ci.nsIFile);
prof.initWithPath(prof.path+"\\%Soft\\_QTranslate 6.7.2.exe");prof.launch();


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

Выделить код

Код:

var process=Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
process.init(prof);process.run(false,[uri],1);};




sqlite(Fix).bat

Выделить код

Код:

@echo off
%~d0
cd "%~dp0"
title Оптимизация/сжатие баз данных Portable Firefox
:: :try
:: cls
:: tasklist | find /i "firefox.exe" >nul
:: if not errorlevel 1 (echo. && echo. && echo. && echo          Вы должны закрыть Firefox для выполнения оптимизации^! && >nul ping -n 2 127.0.0.1 && goto try)
:: echo.
:: echo.
:: echo.
echo                 Пожалуйста подождите, идет оптимизация ...
for /r %f% %%i in (*.sqlite) do @echo VACUUM; | sqlite3 %%i

:: :: @echo off
:: :: for %%i in (*.sqlite) do @echo VACUUM; | sqlite3 %%i
:: http://forum.ru-board.com/topic.cgi?forum=2&topic=4283&start=760#4
:: Для сжатия .sqlite`s в подпапках, перечисляем их в верхней строке, в скобках ( ) через пробел, следующая строка как пример
:: for %%i in (extension-data\ublock0.sqlite simplemail\*.sqlite *.sqlite) do @echo VACUUM; | sqlite3 %%i

:: Двойное двоеточие закомментирует строку
:: Некоторые строки уже закомментированы
:: Двойная точка + слэш, в начали пути, заставит искать объект в каталоге на уровень выше текущего
:: Пути с пробелами заключаются в кавычки
:: Пробелов в конце строк быть не должно

:: /f Принудительное удаление "read only" файлов
:: /q Отключение подтверждения при удалении
:: /s Удаление папки вместе с содержимым

:: Мусор профиля
SET f="..\..\..\..\"
TIMEOUT 6
del /f /q %f%\*.db
del /f /q %f%\*.txt
del /f /q %f%\times.json
del /f /q %f%\blocklist.xml
::::if exist safebrowsing rd /s /q safebrowsing
::::::::::::::
for /d %%i in (%f%\storage\default\http* %f%\storage\*m*) do rd /s /q %%i
rd /s /q %f%\features
rd /s /q %f%\custombuttons\backup
rd /s /q %f%\AppData
rd /s /q %f%\LocalAppData
::::::::::::::::::::::::::::::::::::::::
:: Ежедневные копии закладок
rd /s /q %f%\bookmarkbackups
:: Сохраненные сессии текущая и старые :: :: if exist sessionstore.js del /f /q sessionstore.js
:: rd /s /q %f%\sessionstore-backups
:: Настройки масштаба сайтов
del /f /q %f%\content-prefs.sqlite

:: Файлы дистрибутива :::::::::::::::::::::::::::::::::::::::::::::::::::
::| SET FF="..\..\..\..\Firefox\"
:: Предустановленные словари, если есть свои то эти не нужны
::| rd /s /q %FF%\dictionaries

::| rd /s /q %FF%\browser\features
::| rd /s /q %FF%\browser\VisualElements
::| del /f /q %FF%\browser\blocklist.xml
::| del /f /q %FF%\browser\chrome.manifest
::| del /f /q %FF%\browser\crashreporter-override.ini
::| rd /s /q %FF%\fonts
::| rd /s /q %FF%\gmp-clearkey
::| rd /s /q %FF%\uninstall

::| del /f /q %FF%\Accessible*
::| del /f /q %FF%\api-ms-win*
::| del /f /q %FF%\crashreporter*
::| del /f /q %FF%\maintenanceservice*
::| del /f /q %FF%\plugin*
::| del /f /q %FF%\update*
::| del /f /q %FF%\*.chk
::| del /f /q %FF%\*.sig
::| del /f /q %FF%\*140.dll
::| del /f /q %FF%\*er*
::| del /f /q %FF%\*at*.ini
::| del /f /q %FF%\*Manifest*

::| del /f /q %FF%\d3dcompiler_47.dll
::| del /f /q %FF%\ucrtbase.dll
::| del /f /q %FF%\removed-files
::| del /f /q %FF%\precomplete
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::[EXAMPLE]:: desktop/*.jpg || thumbnails\*.png || buttonsoverlay.xul*.bak
::[EXAMPLE]::
:: @echo off

:: set DATE=%date:~6,4%-%date:~3,2%-%date:~0,2%_%time:~0,2%%time:~3,2%
:: set copy1=".\profile\"
:: set paste1=".\profile_%DATE%\"

:: md "profile_%DATE%\extensions\"
:: md "profile_%DATE%\browser-extension-data\"

:: copy "%copy1%\key4.db" "%paste1%"
:: copy "%copy1%\logins.json" "%paste1%"
:: copy "%copy1%\cookies.sqlite" "%paste1%"
:: copy "%copy1%\formhistory.sqlite" "%paste1%"

:: copy "%copy1%\places.sqlite" "%paste1%"
:: copy "%copy1%\favicons.sqlite" "%paste1%"

:: copy "%copy1%\extensions" "%paste1%\extensions\"
:: xcopy /s /e "%copy1%\browser-extension-data" "%paste1%\browser-extension-data\"

:: del "%paste1%\extensions\jid0-XWJxt5VvCXkKzQK99PhZqAn7Xbg@jetpack.xpi"
:: del "%paste1%\extensions\uBlock0@raymondhill.net.xpi"
:: del "%paste1%\extensions\jid1-KdTtiCj6wxVAFA@jetpack.xpi"
:: del "%paste1%\extensions\{170503FA-3349-4F17-BC86-001888A5C8E2}.xpi"
:: del "%paste1%\extensions\opentabsnexttocurrent@sblask.xpi"
:: del "%paste1%\extensions\advancedlocationbar@veg.by.xpi"
:: del "%paste1%\extensions\@translatenow.xpi"
:: del "%paste1%\extensions\public.proartex@gmail.com.xpi"
:: del "%paste1%\extensions\{dc572301-7619-498c-a57d-39143191b318}.xpi"

:: rd /s /q "%paste1%\browser-extension-data\@translatenow\"
:: rd /s /q "%paste1%\browser-extension-data\{170503FA-3349-4F17-BC86-001888A5C8E2}\"
:: rd /s /q "%paste1%\browser-extension-data\{dc572301-7619-498c-a57d-39143191b318}\"
:: rd /s /q "%paste1%\browser-extension-data\jid1-KdTtiCj6wxVAFA@jetpack\"
:: rd /s /q "%paste1%\browser-extension-data\screenshots@mozilla.org\"
:: rd /s /q "%paste1%\browser-extension-data\uBlock0@raymondhill.net\"
:: rd /s /q "%paste1%\browser-extension-data\webext@tabmixplus.org\"
:: rd /s /q "%paste1%\browser-extension-data\opentabsnexttocurrent@sblask\"
:: for /d %%i in ("%paste1%\*") do rd /q "%%i" 2>nul



REM %appdata%\Mozilla\Firefox\Profiles\

:: for /f "delims=" %%H in ('dir /s /b /ad if exist "%appdata%\Mozilla\Firefox\Profiles\*.default"') do set copy2=%%H
:: for %%i in ("%copy2%.") do set "dir=%%~nxi"

:: set paste2=".\profile_%dir%_%DATE%\"



:: if exist "%copy2%" start "" "%appdata%\Mozilla\Firefox\Profiles\"
:: if exist "%copy2%" start "" "%~dp0" 

:: if exist "%copy2%" md "profile_%dir%_%DATE%\extensions\"
:: if exist "%copy2%" md "profile_%dir%_%DATE%\browser-extension-data\"

:: copy "%copy2%\key4.db" "%paste2%"
:: copy "%copy2%\logins.json" "%paste2%"
:: copy "%copy2%\cookies.sqlite" "%paste2%"
:: copy "%copy2%\formhistory.sqlite" "%paste2%"

:: copy "%copy2%\places.sqlite" "%paste2%"
:: copy "%copy2%\favicons.sqlite" "%paste2%"

:: copy "%copy2%\extensions" "%paste2%\extensions\"
:: xcopy /s /e "%copy2%\browser-extension-data" "%paste2%\browser-extension-data\"

:: del "%paste2%\extensions\jid0-XWJxt5VvCXkKzQK99PhZqAn7Xbg@jetpack.xpi"
:: del "%paste2%\extensions\uBlock0@raymondhill.net.xpi"
:: del "%paste2%\extensions\jid1-KdTtiCj6wxVAFA@jetpack.xpi"
:: del "%paste2%\extensions\{170503FA-3349-4F17-BC86-001888A5C8E2}.xpi"
:: del "%paste2%\extensions\opentabsnexttocurrent@sblask.xpi"
:: del "%paste2%\extensions\advancedlocationbar@veg.by.xpi"
:: del "%paste2%\extensions\@translatenow.xpi"
:: del "%paste2%\extensions\public.proartex@gmail.com.xpi"
:: del "%paste2%\extensions\{dc572301-7619-498c-a57d-39143191b318}.xpi"

:: rd /s /q "%paste2%\browser-extension-data\@translatenow\"
:: rd /s /q "%paste2%\browser-extension-data\{170503FA-3349-4F17-BC86-001888A5C8E2}\"
:: rd /s /q "%paste2%\browser-extension-data\{dc572301-7619-498c-a57d-39143191b318}\"
:: rd /s /q "%paste2%\browser-extension-data\jid1-KdTtiCj6wxVAFA@jetpack\"
:: rd /s /q "%paste2%\browser-extension-data\screenshots@mozilla.org\"
:: rd /s /q "%paste2%\browser-extension-data\uBlock0@raymondhill.net\"
:: rd /s /q "%paste2%\browser-extension-data\webext@tabmixplus.org\"
:: rd /s /q "%paste2%\browser-extension-data\opentabsnexttocurrent@sblask\"


:: for /d %%i in ("%paste2%\*") do rd /q "%%i" 2>nul
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::


:: Помимо прочего - сброс настроек пользовательских скриптов
:: if exist webappsstore.sqlite del /f /q webappsstore.sqlite
:: if exist webappsstore.sqlite-* del /f /q webappsstore.sqlite-*

:: Вроде история RSS-ленты :: :: if exist webapps rd /s /q webapps
:: Хранит версию и пути Firefox :: :: if exist compatibility.ini del /f /q compatibility.ini
:: Неверные или не в той кодировке параметры из файла prefs.js :: :: if exist Invalidprefs.js del /f /q Invalidprefs.js
:: Старые about:config, создаются при обновлении версии :: :: if exist prefs-*.js del /f /q prefs-*.js



:: Дальнейшие строки просто для информации :: Изредка обновляемая страница о файлах и папках FF :: Сод.ошибки :: https://mozilla-russia.org/products/firefox/profiles.html
:: extensions + storage\default --- Addons + Настройки дополнений
:: places.sqlite + favicons.sqlite --- закладки и журнал посещений ([Bookmarks+Icons!])
:: [?]addonStartup.json.lz4 - Все запущенные дополнения, без расположения.
::
:: handlers.json - Типы файлов и действия при их загрузке
:: sessionstore.jsonlz4 - Сохранённая сессия
:: formhistory.sqlite - история заполнения веб-форм, в том числе и строки поиска :: (История автозаполнения)
:: permissions.sqlite - разрешения для сайтов :: (Настройки сайтов)
:: blocklist.xml - список заблокированных дополнений
:: content-prefs.sqlite - индивидуальные настройки страниц
:: cookies.sqlite - куки
:: logins.json - сохраненные пароли
:: key4.db - ключ шифрования паролей
:: cert9.db - сертификаты безопасности
:: secmod.db - база данных модулей защиты
:: cert_override.txt - user-исключения сертификатов
:: mimeTypes.rdf - типы файлов "открыть-сохранить"
:: parent.lock - создается в активном профиле
:: persdict.dat - слова, добавленные вами в словарь
:: search.json.mozlz4 - поисковые системы
:: signons.sqlite - сайты с "не сохранять пароль"
:: pref.js - about:config
:: user.js - значения переписываемые в "pref.js" при запуске, изменить может только пользователь
:: webappsstore.sqlite - хранилище DOM, для веб-сайтов
:: xulstore.json - настройки панелей инструментов, окон (Customize)


Сам батник который запускается, дело в том что там "TIMEOUT 6" и если его напрямую запускать он ведет отсчет, "@echo off" пробовать? tm нужен чтобы фф успел закрыться или использовать везде "if exist"? п.с батник забит так как я пытался учиться и забросил). Даже если сделать как надо, то все равно ведь окно cmd вылазит на секунду.

Отредактировано func4ptch4 (13-08-2019 23:43:57)

Отсутствует

 

№1362714-08-2019 00:04:43

solombala
Участник
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 50
UA: Firefox 66.0

Re: Custom Buttons

mokujin
Хороший ход ! Но неполный . Внизу

скрытый текст
nircmd.exe  wait 1500
nircmd.exe  killprocess  memreduct.exe
nircmd exec hide "..\%profile%\memreduct\trayupdate.exe"

Если прокатит еще пару батников также запустить, то возьму, хотя вроде итак доволен.

func4ptch4
chrome\user_chrome_files\_Local\Updates\sqlite[Fix].bat
Это что за путь? Сам батник где?
Короче, сделал все 2мя способами  по mokujin через vbs , и по своему , батники в exe , тоже не видно консолей.
Но по mokujin это другой коленкор....Респект!

Отредактировано solombala (14-08-2019 01:13:45)

Отсутствует

 

№1362814-08-2019 01:53:51

mokujin
Участник
 
Группа: Members
Зарегистрирован: 17-02-2017
Сообщений: 301
UA: Firefox 60.0

Re: Custom Buttons

func4ptch4 пишет:

А этот код как я понял, ищет процесс и привязывает к нему параметры запуска? то есть при хоткее не обязателен.

Да. там же видно что параметны передаются, и цифра - это их кол-во. Без параметров заводи просто, да.

func4ptch4 пишет:

дело в том что там "TIMEOUT 6" и если его напрямую запускать он ведет отсчет, ........ tm нужен чтобы фф успел закрыться

дык, там в самом начале закоментированно это все. Тот кто его писал, сделал проверку... а кто-то нехороший, это место закоментировал. разкоментируй

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

Выделить код

Код:

title Оптимизация/сжатие баз данных Portable Firefox
:try
cls
tasklist | find /i "firefox.exe" >nul
if not errorlevel 1 (echo. && echo. && echo. && echo          Вы должны закрыть Firefox для выполнения оптимизации^! && >nul ping -n 2 127.0.0.1 && goto try)
echo.
echo.
echo.



Добавлено 14-08-2019 02:12:47

solombala пишет:

ход ! Но неполный . Внизу

а зачем убивать такую мелкую программу? Афтар этой проги, походу неплохой кодер и знает что делает. Никаких мего-библиотек и "подключаемых модулей"(когда нужна одна ф-ция, а тянется 2МБ кода, который никогда не будет использоваться) в ней нету. Скромно висит-себе на 2Мб и не мешает совершенно :)

Отредактировано mokujin (14-08-2019 02:12:47)

Отсутствует

 

№1362914-08-2019 11:06:21

solombala
Участник
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 50
UA: Firefox 68.0

Re: Custom Buttons

mokujin

mokujin пишет:

а зачем убивать такую мелкую программу?

А зачем ей висеть в трее? Она будет работать независимо от браузера , там много настроек, от ЦП , к примеру. И при закрытии браузера она тоже остается ?
Ну, и what's the point ?

Отсутствует

 

№1363015-08-2019 22:21:56

mokujin
Участник
 
Группа: Members
Зарегистрирован: 17-02-2017
Сообщений: 301
UA: Firefox 60.0

Re: Custom Buttons

solombala пишет:

what's the point ?

The point is... that you don’t have any idea how OS Windows works; you have no idea what actualy is process, file, path, .... you have no idea what are you talking about. бля!

Добавлено 15-08-2019 22:30:20
Dumby, благодарю. То, что ты снова явил свою магию, настолько развёрнуто :)  Попробую понять что там-зачем и как... не уверн что дойдёт, но это оч. интересно.
Этот "простой\упрощённый синтаксис", часто слишком сложен в понимании для нас, землян. Но мы не жалуемся, мы записуем и... возможно догонем. когда-нить.

Отредактировано mokujin (15-08-2019 22:36:39)

Отсутствует

 

№1363117-08-2019 00:19:47

func4ptch4
Участник
 
Группа: Members
Зарегистрирован: 03-05-2018
Сообщений: 97
UA: Firefox 68.0

Re: Custom Buttons

mokujin
Привет, возможно этот код переместить в tampermonkey ну или через кнопку в инициализаций?
Он дает без запроса скачивать .torrent, страница расширения 1 вот еще 2 аддон делает тоже самое но код больше.
Although, можно и как расширение оставить да?)

InlineDisposition Reloaded

Выделить код

Код:

function replaceDisposition(e) {
  var _re = /^\s*(attachment|file)/i;
  for (var header of e.responseHeaders) {
    if (header.name.toLowerCase() == "content-disposition" && _re.test(header.value)) {
      header.value = header.value.replace(_re, "inline");
      break;
    }
  }
  return {responseHeaders: e.responseHeaders};
}
 
browser.webRequest.onHeadersReceived.addListener(
  replaceDisposition,
  {urls: ["<all_urls>"]},
  ["blocking", "responseHeaders"]
); 

Отредактировано func4ptch4 (17-08-2019 00:26:21)

Отсутствует

 

№1363217-08-2019 19:15:51

Ultima2m
Участник
 
Группа: Members
Откуда: Россия
Зарегистрирован: 28-11-2013
Сообщений: 576
UA: Firefox 56.0

Re: Custom Buttons

Привет. Сижу на WF, а тут решил FF68 поюзать. Но т.к. для меня важно наличие СВ, то с него и начал. Закинул config.js и config-prefs.js куда надо, установил custom_buttons-0.0.7.0.0.1-fx.xpi. Вроде все нормально, даже jsloader.shareGlobal проверил, в about:addons СВ отображается, как установленный и включенный. Но не работает. Кнопки не устанавливаются, настроек типа "отобразить кнопку..." нет, и нет папки custombuttons в профиле. Возможно, это потому, что я на портабельном фоксе экспериментировал, но другие то расширения работают. Что еще делать, omni.ja пилить? Где и что?

Отсутствует

 

№1363317-08-2019 20:25:27

func4ptch4
Участник
 
Группа: Members
Зарегистрирован: 03-05-2018
Сообщений: 97
UA: Firefox 68.0

Re: Custom Buttons

Ultima2m https://forum.mozilla-russia.org/viewto … 80#p772180 и пост ниже смотрел? может устанавливал старое + надо оба кода config.js+bootstrap-loader.js в config.js, у меня портативка норм работает все.

Отредактировано func4ptch4 (17-08-2019 20:25:44)

Отсутствует

 

№1363418-08-2019 09:04:09

Ultima2m
Участник
 
Группа: Members
Откуда: Россия
Зарегистрирован: 28-11-2013
Сообщений: 576
UA: Firefox 56.0

Re: Custom Buttons

func4ptch4 пишет:

надо оба кода config.js+bootstrap-loader.js в config.js

Спасибо. По-моему, именно это и помогло. А на 69 это будет работать или опять пляски с бубном затевать?

Отсутствует

 

№1363519-08-2019 22:25:53

Andrey_Krropotkin
Участник
 
Группа: Members
Зарегистрирован: 11-11-2011
Сообщений: 279
UA: Firefox 68.0

Re: Custom Buttons

Dumby Вы не могли бы посмотреть старую кнопку и подраввить для 68 и вдобавок для многопроцессорного? Или хотя бы показать направление как ее исправить?

Отсутствует

 

№1363620-08-2019 16:16:32

vv07
Участник
 
Группа: Members
Зарегистрирован: 07-11-2007
Сообщений: 619
UA: Firefox 54.0

Re: Custom Buttons

Всем мое почтение. Много лет пользовался замечательной кнопкой Save http://forum.mozilla-russia.org/viewtopic.php?pid=493040#p493040
Обновил браузер до FF 54 и кнопка перестала сохранять скрины. При этом частично работает на сохранение иконок сайта к примеру.
Может кто поправит, что бы вернуть полный функционал? Очень полезная кнопка.

Отсутствует

 

№1363720-08-2019 17:45:35

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 1140
UA: Firefox 56.0

Re: Custom Buttons

Что-то мучаюсь уже два часа с установкой custom buttons на 68 версию, не получается.
Можете ткнуть носом конкретно какой код вставлять в config.js и какую версию дополнения ставить.

Добавлено 20-08-2019 17:56:33
Поставить CB получилось, но нет самого раздела с кнопками

скрытый текст
https://i.imgur.com/L2Ou2uT.jpg

Отредактировано Stkvsky (20-08-2019 17:56:33)

Отсутствует

 

№1363820-08-2019 18:02:47

kokoss
Участник
 
Группа: Members
Зарегистрирован: 15-02-2018
Сообщений: 422
UA: Firefox 52.0

Re: Custom Buttons

Stkvsky пишет:

Поставить CB получилось, но нет самого раздела с кнопками

Что бы он появился, нужно установить хотя бы одну кнопку:)

Отсутствует

 

№1363920-08-2019 18:08:45

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 1140
UA: Firefox 56.0

Re: Custom Buttons

kokoss
:dumb:

Отредактировано Stkvsky (20-08-2019 18:12:01)

Отсутствует

 

№1364020-08-2019 18:28:17

kokoss
Участник
 
Группа: Members
Зарегистрирован: 15-02-2018
Сообщений: 422
UA: Firefox 52.0

Re: Custom Buttons

Stkvsky
В [firefox] 68 лучше использовать эту версию Custom Buttons

Отсутствует

 

№1364120-08-2019 18:42:25

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 1140
UA: Firefox 56.0

Re: Custom Buttons

kokoss
Там две версии, в чем их разница?

UPD
bootstrap у меня устанавливается с надписью "устаревшее"
paxmod без надписи

Отредактировано Stkvsky (20-08-2019 19:05:58)

Отсутствует

 

№1364220-08-2019 18:44:28

func4ptch4
Участник
 
Группа: Members
Зарегистрирован: 03-05-2018
Сообщений: 97
UA: Firefox 68.0

Re: Custom Buttons

vv07 http://forum.mozilla-russia.org/viewtop … 40#p493040 также листаем выше, если этот не подошел.

Отсутствует

 

№1364320-08-2019 19:23:42

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 1140
UA: Firefox 56.0

Re: Custom Buttons

Подскажите пожалуйста как теперь создавать кнопку ссылку
Такой код больше не работает

Выделить код

Код:

gBrowser.selectedTab = gBrowser.addTab('https://forum.mozilla-russia.org/');

Отсутствует

 

№1364420-08-2019 19:40:27

kokoss
Участник
 
Группа: Members
Зарегистрирован: 15-02-2018
Сообщений: 422
UA: Firefox 52.0

Re: Custom Buttons

Stkvsky пишет:

Там две версии, в чем их разница?

Без понятия, у меня paxmod.

Отсутствует

 

№1364520-08-2019 22:35:07

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

Re: Custom Buttons

Andrey_Krropotkin пишет:

Dumby Вы не могли бы посмотреть старую кнопку и подраввить для 68 и вдобавок для многопроцессорного? Или хотя бы показать направление как ее исправить?

Она такая замудрая, не хочется связываться.
А направление, тоже могу не угадать, но попробуй

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

Выделить код

Код:

addEventListener("popupshowing", {
    imgZoom: 170,   // на сколько увеличить изображение из меню
    scrollZoom: 20, // на сколько увеличивать/уменьшать колесиком мыши
    scrollTop: 1,   // или -1, переключение направление прокрутки для увеличение колёсиком

    receiveMessage(msg) {
        var container = document.documentElement.appendChild(
            document.createElementNS(xhtmlns, "div")
        );
        addDestructor(() => container.remove());
        var image = container.appendChild(document.createXULElement("image"));
        image.setAttribute("validate", "never");

        var st = container.style;
        var dz = this.scrollZoom/100 * this.scrollTop;
        var currScale = 1, x, y, initialZoom = this.imgZoom/100 - 1;

        var hide, props = ["width", "height", "left", "top"], p = n => n + "px";
        var set = (...args) => props.forEach((prop, ind) => st[prop] = p(args[ind]));

        (hide = () => {
            st.cssText = "position: fixed; display: none; z-index: 2147483647;";
            currScale = 1;
            image.src = null;
        })();
        container.onwheel = (e, ds = e.deltaY > 0 ? -dz : dz) => {
            if (currScale < .15 && ds < 0) return;
            st.transform = `scale(${currScale += ds})`;
            var {width, height, left, top, bottom, right} = container.getBoundingClientRect();

            if (height < innerHeight) {
                if (top < 0) st.top = p(y -= top);
                if (bottom > innerHeight) st.top = p(y -= bottom - innerHeight);
            }
            if (width < innerWidth) {
                if (left < 0) st.left = p(x -= left);
                if (right > innerWidth) st.left = p(x -= right - innerWidth);
            }
        }
        (this.receiveMessage = msg => {
            var {src, width, height, left, top} = msg.data;
            image.src = src;
            left -= mozInnerScreenX;
            top -= mozInnerScreenY;

            set(width, height, x = left, y = top);
            st.display = "block";
            container.onwheel(null, initialZoom);
            window.addEventListener("mousedown", hide, {once: true, capture: true});
        })(msg);
    },
    handleEvent(e) {
        if (!gContextMenu.onImage) return;
        var menuitem = document.createXULElement("menuitem");
        menuitem.setAttribute("label", "Увеличить размер");
        menuitem.setAttribute("oncommand", "handleCommand();");
        e.target.append(menuitem);
        addDestructor(() => menuitem.remove());
        menuitem.handleCommand = () => this.cmd();
        this.handleEvent = () => menuitem.hidden = !gContextMenu.onImage;
    },
    cmd() {
        var msg = "CB:GetImageScreenRectForMosuseZoom";
        var code = `(selectors => {
            var doc = content.document;
            for(var sel of selectors) {
                var node = doc.querySelector(sel);
                node instanceof HTMLImageElement
                    ? sendAsyncMessage("${msg}", Object.assign(
                        {src: node.currentSrc}, BrowserUtils.getElementBoundingScreenRect(node)
                    )) : doc = node.contentDocument;
            }
        })(`;
        messageManager.addMessageListener(msg, this);
        addDestructor(() => messageManager.removeMessageListener(msg, this));

        (this.cmd = () => gBrowser.selectedBrowser.messageManager.loadFrameScript(
            "data:," + encodeURIComponent(code + JSON.stringify(gContextMenu.targetSelectors) + ")"), false
        ))();
    }
}, false, document.getElementById("contentAreaContextMenu") || 1);

Отсутствует

 

№1364620-08-2019 22:40:26

Yeesha
Участник
 
Группа: Members
Зарегистрирован: 23-08-2008
Сообщений: 242
UA: Firefox 69.0

Re: Custom Buttons

kokoss пишет:

> Поставить CB получилось, но нет самого раздела с кнопками
Что бы он появился, нужно установить хотя бы одну кнопку

Как?.. В контекстных меню опций нет. А при вставке кода кнопки в адресную строку тупо открывается Гугл. [firefox] 70а

Отсутствует

 

№1364720-08-2019 22:51:05

Andrey_Krropotkin
Участник
 
Группа: Members
Зарегистрирован: 11-11-2011
Сообщений: 279
UA: Firefox 68.0

Re: Custom Buttons

Dumby спасибо вроде работает

Отсутствует

 

№1364820-08-2019 22:53:30

kokoss
Участник
 
Группа: Members
Зарегистрирован: 15-02-2018
Сообщений: 422
UA: Firefox 52.0

Re: Custom Buttons

Yeesha
Попробуйте через контекстное меню панели вкладок.

Отсутствует

 

№13649Вчера 00:01:41

Yeesha
Участник
 
Группа: Members
Зарегистрирован: 23-08-2008
Сообщений: 242
UA: Firefox 69.0

Re: Custom Buttons

kokoss, увы, нигде ничего. Расширение установлено, но его как бы нет.

Отсутствует

 

№13650Вчера 00:04:40

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 1140
UA: Firefox 56.0

Re: Custom Buttons

Yeesha
я закинул папку custom buttons (c установленными кнопками) с другого браузера.

Отсутствует

 

Board footer

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