Copy URL F2 Tab Mod (JS) : 2021.5.30
Опубликовано: Бармалей · 30.05.2021 · 00:01 ••• Обновление: 30.05.2021 · 00:01 0

Оптимизация рантайма, доработка кода скрипта по итогам обсуждения предыдущей версии.

Добавлена поддержка браузеров версий 29+ и дополнительные настройки.
Доработка кода скрипта, опциональное исключение срабатывания СКМ на ссылках.

Проверен в браузерах:
Firefox 52ESR + SRWare Iron 29/31/49 + 360 Extreme Explorer 9/11/12/13 (CR63/69/78/86) + Chromium 87.


Основные изменения:
  • доработана проверка исключения срабатывания по событию 'mouseup' (для СКМ) на ссылках:

    Теперь должны игнорироваться щелчки СКМ на любых ссылках (изображения, кнопки и т.д.).
    Доработка сделана для исключения возможных ошибок определения ссылок, процесс проверки усложнён незначительно.

    • проверка игнорируется для вызова по двойному щелчку (mEvt:'dblclick');
    • проверка работает на основе определения наличия ссылки под курсором по непустому* атрибуту href;

      * Если щёлкнуть СКМ по такой ссылке, она будет штатно обработана браузером, копирование НЕ выполнится.

      Также игнорируются ссылки с атрибутом, начинающимся с "javascript:…" (выполняется копирование).

    • добавлена настройка-переключатель проверки, доступна редактированием переменной notA:1;

      По умолчанию проверка включена, отключается установкой значения в 0. При отключенной проверке при щелчке СКМ по ссылке она обрабатывается штатными средствами браузера (обычно это её открытие в новой вкладке). Копирование в этом случае также отработает по заданному шаблону (как в предыдущих версиях этого скрипта).

    • копирование выделенного* текста (если задано в шаблоне) теперь отработает и при щелчке средней кнопкой;

      * Теперь эта часть шаблона не блокируется – щелчок СКМ не приводит к изменению выделенного фрагмента.

      Щелчок СКМ на ссылке внутри выделенного фрагмента не сбрасывает выделение, при этом он отрабатывается штатными средствами браузера (как обычно, открывает ссылку в новой вкладке).

  • добавлена поддержка старых версий браузеров CR/FF29+ (Firefox, теоретически, от 15+, не проверялось):
    • доработан вызов по хоткею, теперь при отсутствии параметра code проверяется ещё и which;
    • добавлена настройка кода клавиши (which), доступна редактированием переменной kWhi:113;

      Код клавиши должен соответствовать значению kBtn:'...' (см.также: как определить коды клавиш ).

    • добавлена настройка локации для па́рных клавиш доступна редактированием переменной kLoc:0.

      Для одинарных клавиш должен быть установлен в 0 (по умолчанию). Код для левых па́рных клавиш ALT/CTRL/SHIFT устанавливается в 1, для правых – 2;

    • обе добавленные настройки игнорируются (не проверяются) в браузерах* CR48+/FF38+;

      * Оба "костыля" связаны с отсутствием поддержки параметра "code" в более старых версиях.

    • функция копирования в буфер для браузеров старше* CR42+/FF41+ НЕ работает автоматически, вместо этого выдаётся диалоговый запрос для ручного копирования сформированных данных.

      * Этот "костыль" связан с принципиальным отсутствием поддержки копирования в более старых версиях.

Прочие изменения:
  • немного оптимизирован код в целом, убрана часть промежуточных переменных.

Скриншоты

Отображение на панели менеджера скриптов Tampermonkey:

Диалог ручного копирования сформированных данных для браузеров версий старше CR42+/FF41+:


История и обсуждение

Общие технические сведения
  • Технологии и API:
    Чистый JavaScript (ES5), автономный код без подгрузки библиотек
  • Запрашиваемые разрешения:
    [ "*://*/*" ]

Загрузка и установка

Дополнительно

Официальные версии Документация
Бармалей 30.05.2021 30.05.2021 291 0.0

Поделиться

Всего комментариев: 0
close