Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Расширения для Firefox | Mozilla Firefox Extensions

Модерирует : gyra, Maz

Maz (09-05-2021 17:46): Расширения для Firefox | Mozilla Firefox Extensions. Часть 11  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

Krot66



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
 
#NoEnv
SetWorkingDir %A_ScriptDir%
#SingleInstance, force
Menu, Tray, Icon, shell32.dll, 18
SetTitleMatchMode 2
SetTitleMatchMode Slow
SetKeyDelay 50, 50
SetControlDelay 100
 
/* Скрипт-заменитель QSaver для любого браузера (подстановка выделенного текста в имя сохраняемого файла)
 
Описание здесь: http://forum.ru-board.com/topic.cgi?forum=5&topic=50187&start=3020#12
 
Функция QSaver(ext,hotkey,entry,case,dir)
Здесь:
    ext - расширение файла
    hotkeykey - посылаемое сочетание клавиш (по умолчанию, если пусто, "^{vk53}"  - Ctrl+S)
    entry - номер строки сверху выпадающего меню выбора типа файла (по умолчанию - 1)  
    case -  имя файла с прописной буквы (по умолчанию - 1)
    dir - папка сохранения (по умолчанию не задана). В пути (абсолютном или относительном, привязанном к каталогу скрипта) могут быть использованы переменные $date - дата и $site - адрес сайта. По умолчанию, при наличии параметра dir сохранение производится автоматически. Чтобы сделать его ручным, добавьте занак минус перед путем
    
Для использования с виртуальными принтерами в переменную hotkey должны быть вписаны начальные буквы в названии принтера (достаточные для его определения), видимые в диалоге печати
*/
 
;========= Mozilla Firefox ============
#If WinActive("ahk_class MozillaWindowClass")
 
^vk53::QSaver("html",,2) ; - сохранение в html без картинок по Ctrl+S
 
^+vk53::QSaver("html","^+{vk59}") ; - сохранение в SingleFile  по Ctrl+Shift+S (клавиша расширения Ctrl+Shift+Y)
 
^!vk53::QSaver("html","!{vkBE}") ; - сохранение в SingleFileZ  по Ctrl+Alt+S (клавиша расширения Alt+.)
 
^#vk53::QSaver("^+{vk59}",6,1,"D:\HTML\$site\$date") ; - то же с сохранением в папку D:\HTML с сортировкой по сайтам и датам по сочетанию  Ctrl+Win+S
 
^+vk50::QSaver("pdf","PDF-XChange") ; - печать в pdf на принтере PDF-XChange по сочетанию Ctrl+Shift+P
 
^!vk50::QSaver("tif","Bullzip",9) ; - печать в tif на принтере Bullzip по сочетанию Ctrl+Alt+P
 
^#vk50::QSaver("oxps","Microsoft XPS") ; - печать в oxps на принтере Microsoft XPS Printer по сочетанию Ctrl+Win+P
 
;========= Браузеры на основе Chrome ============
#If WinActive("ahk_class Chrome_WidgetWin_1")  
 
^vk53::QSaver("html") ; - сохранение в html без картинок по Ctrl+S
 
^+vk53::QSaver("mht",,2) ; - сохранение в mht  по Ctrl+Shift+S (mht должно быть включено в дополнительных настройках!)
 
;========= Internet Explorer ============
#If WinActive("ahk_class IEFrame")
 
^vk53::QSaver("html") ; - сохранение в html без картинок по Ctrl+S
 
^+vk53::QSaver("mht",,2) ; - сохранение в mht  по Ctrl+Shift+S
 
#If
 
;=========================================
 
QSaver(ext,hotkey="^{vk53}",entry=1,case=1,dir="")
{
    KeyWait Ctrl, T1
    KeyWait Shift, T1
    KeyWait Alt, T1
    KeyWait LWin, T1
    WinGetActiveTitle title    
    tmp:=Clipboard,    Clipboard:=""
    Send ^{vk43}
    ClipWait 0.5
    If Clipboard
        name:=RegExReplace(Clipboard,"\R+.*https?://.*$")
    MouseMove % A_ScreenWidth//2, % A_ScreenHeight//2
    If !WinActive("ahk_class IEFrame")
        Send !{LButton}
    FormatTime $date, ,    yyyy-MM-dd
    If dir~="^-"
        nosave:=1, dir:=SubStr(dir,2)
    If (dir~="\$site") {
        Clipboard:=""
        Send ^{vk4C}
        Sleep 300
        Send ^{vk43}
        ClipWait 0.5
        Send {Esc}{Right}
        addr:=Trim(Clipboard)
        If !(addr~="^https?://") {
            MsgBox, 16, , Адрес недоступен!, 1
            return
        }
        RegExMatch(addr,"//(www\.)?\K[^/]+(?=/)",$site)
    }
    If !(hotkey~="}") {
        Send ^{vk50}
        WinWait ahk_class #32770, , 60
        If ErrorLevel
            return
        hwnd:=WinExist("ahk_class #32770")
        SendInput % "{Raw}" hotkey
        Sleep 100
        Send {Enter}
        WinWaitClose ahk_id %hwnd%,, 2
        If ErrorLevel
            return
    }
    else
        Send % hotkey
    WinWait ahk_class #32770, , 100
    If ErrorLevel
        return
    Sleep 100
    If dir {
        dir:=StrReplace(dir,"$site",$site)
        dir:=StrReplace(dir,"$date",$date)
        If !(dir~="^\w:\\")
            dir:=A_ScriptDir "\" dir
        FileCreateDir % dir
        ControlSetText Edit1, % dir
        Send {Enter}
        Sleep 100
    }
    If !name        
        name:=RegExReplace(title," - [^-]+?$")
    name:=Trim(ValidName(RegExReplace(name," - https?://[^-]+")))
    If case
        name:=FirstUppercase(name)
    Control ShowDropDown, ,ComboBox2
    Control Choose, % entry, ComboBox2
    Control HideDropDown, ,ComboBox2
    ControlSetText Edit1, % name "." ext
    If dir && !nosave
        ControlSend Button1, {Enter}
    Clipboard:=tmp
    return
}
 
FirstUppercase(t) {
    StringLeft n, t, 1
    StringTrimLeft k, t, 1
    StringUpper n, n
    return n . k
}
 
ValidName(n,r="") ; r - замена пробелов, например, подчеркиваниями
{
    n:=RegExReplace(n,"(\+|:|;|,|\*|\?|\\|/|<|>|"")"," ")
    n:=RegExReplace(n,"\s+"," ")
    StringReplace n, n, |, -, All
    If r
        StringReplace n, n, % " ", % r, All
    return Trim(n)
}            
 

Всего записей: 1202 | Зарегистр. 10-12-2007 | Отправлено: 12:49 21-10-2020 | Исправлено: Krot66, 13:05 21-10-2020
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » Расширения для Firefox | Mozilla Firefox Extensions
Maz (09-05-2021 17:46): Расширения для Firefox | Mozilla Firefox Extensions. Часть 11


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru