Листай-ка!
Крошечное (11 Кбайт) браузерное расширение с открытым (minified) кодом и настройками. Предназначено для скроллинга (прокручивания) страницы правой кнопкой мыши или перемещением курсора мыши. Для вызова контекстного меню используется комбинация клавиш клавиатуры и правой кнопки мыши. С "Листай-ка!" прокручивать страницу удобнее, чем колёсиком мыши или при помощи клавиатуры. Убедитесь в этом сами - протестируйте работу расширения без его установки. Для этого перейдите к следующему разделу - "Обучение".Обучение
Прежде чем перейти к обучению, обратите внимание на тонкую голубую линию в нижней части экрана. Она разграничивает части страницы, которые будут скрыты и показаны при скроллинге вниз. Всё, что расположено выше этой линии, будет скрыто, а что находится ниже - показано вместе со следующей частью страницы. Линию можно отключить (совсем или только в полноэкранном режиме, чтобы она не мешала просмотру фильмов, например) или расположить на удобной высоте. Можно изменить её цвет, фон, толщину и прозрачность. Об этом и многом другом сказано в разделе "Настройка".Обратите внимание: любые приведённые ниже действия можно настроить или отключить.
Для прохождения этапов обучения последовательно выполните действия:
Версия
Текущая версия расширения - 1.0. Версия вашего расширения указана в разделе "Сведения" карточки расширения в браузере, и в файлах "manifest.json" и "script.js". Если вы обнаружите ошибку в работе расширения, зайдите на страницу, на которой вы сейчас находитесь (её адрес также указан в карточке расширения и в упомянутых файлах), и сравните текущую версию с используемой в вашем браузере. Возможно, эта ошибка уже исправлена в расширении с текущей версией.Загрузка
Расширение состоит из трёх файлов ("manifest.json", "script.js" и "ico.png"). Скачайте на выбор: файлы как таковые (возможно, потребуется подтвердить разрешение на загрузку нескольких файлов) или файлы в zip-архиве (название архива - "list.zip"). Затем создайте любую папку и поместите в неё загруженные файлы (предварительно разархивируйте их, если вы скачали архив; сам архив копировать в папку не нужно).Установка
Расширение необходимо установить вручную. В настройках браузера выберите "Расширения", а затем "Управление расширениями" (здесь и далее - названия и места расположения меню и кнопок могут отличаться). Найдите "Режим разработчика" и включите его. Появится кнопка "Загрузить распакованное расширение" - нажмите на неё. Выберите папку с файлами расширения и войдите в неё. Если ваш браузер поддерживает работу этого расширения, на экране будут показаны три его файла. Нажмите на кнопку "выбрать". Теперь расширение установлено. Вы можете выключить режим разработчика, и тогда, возможно, появится окно, в котором следует нажать на три точки справа от названия расширения и выбрать "Оставить расширение". Папку и файлы расширения после установки удалять не следует, иначе вы не сможете изменить настройки расширения или даже воспользоваться им.Настройка
Расширение оптимально настроено. Если вы не владеете навыком редактирования файлов или не хотите тратить время и силы на настройку расширения, закройте инструкцию - она вам больше не понадобится. В противном случае, откройте в текстовом редакторе файл "script.js". Обратите внимание на параметры работы программы, которые представлены в виде переменных и, после знака "равно", их значений. Первая переменная ("keysContext") находится в 7 строке файла, а последняя ("fixedElements") - в 47 строке. Не вносите правки в данные, расположенные ниже 47 строки, если вы не программист - это наверняка повредит программу.Ниже, на этой странице, представлены те же переменные со значениями по умолчанию и в том же порядке, но с комментариями, которые расположены под переменными. Описательная часть групп переменных расположена над ними. Вы можете изменить значения соответствующих переменных в файле "script.js". Изменяйте только числовые и указанные в кавычках значения. После внесённых изменений обновите расширение. В настройках выберите "Расширения", а затем "Управление расширениями". В плашке с расширением нажмите на полукруглую стрелку "Перезагрузить".
1) поместите курсор мыши в расположенное ниже поле (наведите курсор, не нажимая - его нахождение в поле говорит программе о том, что вы намерены изменить комбинацию клавиш);
3) нажмите и отпустите две других клавиши (в любой последовательности);
4) откройте в текстовом редакторе файл "script.js" (теперь можно увести курсор мыши с поля - обозначения клавиш уже находятся в памяти компьютера);
5) найдите переменную "keysContext" (это первая переменная, она находится в начале файла) и в её значении замените то, что находится в кавычках, на сохранённые обозначения клавиш;
6) сохраните файл и обновите расширение (в настройках браузера выберите "Расширения", а затем "Управление расширениями". В плашке с расширением нажмите на полукруглую стрелку "Перезагрузить");
7) перезагрузите страницу браузера.
Теперь для того, чтобы вызвать контекстное меню, нужно нажать комбинацию клавиш "Ctrl+Shift+K", отпустить клавиши, а затем кликнуть правую кнопку мыши. Так же можно настроить комбинации клавиш и для других команд.
Обратите внимание:
1) функции комбинации клавиш зависимы от функций различных переменных и могут быть запрещены значениями этих переменных;
2) многие клавиатуры имеют ограничение на количество одновременно регистрируемых нажатий ("keyboard rollover"), поэтому слишком сложные комбинации клавиш могут не работать;
3) будьте осторожны с назначением комбинаций клавиш, которые уже используются браузером - это может привести к их нестабильной и некорректной работе;
4) чтобы запретить комбинацию клавиш, укажите пустое значение (оставьте просто кавычки). Например: keysReadingOff = "".
keysContext = "ControlLeft"
комбинация для вызова контекстного меню браузера:"Ctrl" (левый)
keysOn = "ShiftLeft, ControlLeft, Space"
комбинация для включения расширения:"Shift" (левый) + "Ctrl" (левый) + "пробел"
keysOff = "ShiftLeft, ControlLeft, Space"
комбинация для отключения расширения"Shift" (левый) + "Ctrl" (левый) + "пробел"
keysReadingOn = "ShiftLeft, ControlLeft, KeyZ"
комбинация для включения функции "Долгое чтение""Shift" (левый) + "Ctrl" (левый) + "Z"
keysReadingOff = "ShiftLeft, ControlLeft, KeyZ"
комбинация для выключения функции "Долгое чтение""Shift" (левый) + "Ctrl" (левый) + "Z"
keysLineOn = "ShiftLeft, ControlLeft, KeyL"
комбинация показывает линию "Ограничитель""Shift" (левый) + "Ctrl" (левый) + "L"
keysLineOff = "ShiftLeft, ControlLeft, KeyL"
комбинация скрывает линию "Ограничитель""Shift" (левый) + "Ctrl" (левый) + "L"
Алгоритм манипуляций мышью для регистрации жеста:
1) нажать правую кнопку мыши;
2) провести мышь в любую сторону;
3) отпустить правую кнопку мыши.
Обратите внимание:
1) направление жеста определяется длиной пройденного мышью пути. Например, если мышь прошла одновременно 10 точек вверх и 20 точек вправо, то направление будет определено как "вправо". Если длины равные, то будет отдан приоритет направлениям "вверх" и "вниз";
2) клик - это тоже жест, но ограниченный длиной пути, указанной в переменной "clickAbs";
3) избегайте жестов по диагонали - ввиду двойственной неопределённости их команд, вы можете интерпретировать функции таких жестов как ошибочные. Например, если сделать жест из центра экрана в верхний правый угол, может показаться, что мышь прошла больший путь наверх, в то время как в действительности путь вправо может быть несколько длиннее, и программа выполнит команду для жеста вправо, а по умолчанию это - скроллинг вниз. В результате вместо ожидаемого перехода вверх произойдёт прямо противоположное: переход вниз.
Переменные могут иметь следующие числовые значения:
1 - отсутствие действия;
2 - скроллинг страницы вниз;
3 - скроллинг страницы вверх;
4 - скроллинг страницы в конец;
5 - скроллинг страницы в начало.
buttonClick = 2
кликbuttonDragBottom = 2
короткий жест вниз или вправоbuttonDragTop = 3
короткий жест вверх или влевоbuttonDragBottomLong = 4
длинный жест вниз или вправоbuttonDragTopLong = 5
длинный жест вверх или влевоbuttonDoubleBottom = 2
два клика ("коротких"); второй клик расположен несколько ниже или правее первогоbuttonDoubleTop = 3
два клика ("коротких"); второй клик расположен несколько выше или левее первогоbuttonDoubleBottomLong = 4
два клика ("длинных"); второй клик расположен значительно ниже или правее первогоbuttonDoubleTopLong = 5
два клика ("длинных"); второй клик расположен значительно выше или левее первогоmovementBottom = 2
движение курсора вниз или вправоmovementTop = 3
движение курсора вверх или влевоdistanceDrag = 10
короткий жестdistanceDragLong = "40"
длинный жестdistanceDouble = 10
два клика ("коротких")distanceDoubleLong = "40"
два клика ("длинных")movementDistance = 10
движение курсора для функции "Долгое чтение"cancelTimer = 2500
Длительность ожидания отмены действия. Если в течение указанного времени не завершить клик или жест (не отпустить правую кнопку мыши), а также не осуществить второй клик, действие будет отменено.movementTimer = 1000
интервал между движениями курсора для функции "Долгое чтение", разделяющий одно движение от другогоclickAbs = 5
Предельно допустимое отклонение курсора мыши (указано количество точек, в одну любую сторону) во время совершения клика. Как правило, клик - это быстро исполняемая последовательность двух действий: нажать кнопку, отпустить кнопку. И курсор мыши при этом обычно остаётся на месте. Функция данной переменной допускает отклонение курсора в сторону, не более чем на указанное количество точек. Если курсор уйдёт дальше, то это уже скорее не клик, а жест. Поэтому значение переменной "clickAbs" должно быть меньше, чем значение переменной "distanceDrag". Процентное значение не допускается.scrollSize = "100"
Длина скроллинга страницы. Например, значение по умолчанию - "100" указывает на то, что страницу следует прокрутить на 100%, то есть на один полный экран. При скроллинге в конец и в начало страницы значение переменной будет проигнорировано.scrollOffset = "15"
Длина отступа при скроллинге страницы. Часть скрытой при скроллинге области страницы будет показана, если это возможно и указано не нулевое значение. Эта функция призвана наглядно показать последовательность и связность скроллинга. Функция не работает при скроллинге в конец и в начало страницы.Для того, чтобы переместить курсор мыши без вызова функции (то есть, без осуществления скроллинга страницы), удерживайте правую кнопку мыши во время перемещения.
Обратите внимание на то, что функции жестов при использовании "Долгого чтения" не действуют, а клик приводит к повторению последней осуществлённой с помощью "Долгого чтения" команды. Ранее указанные в инструкции переменные, используемые функцией "Долгое чтение": movementBottom, movementTop, movementDistance, movementTimer.
lineAllow = 0
0 - функция отключена, 1 - функция включенаlineFullScreen = 0
параметр отображения линии в полноэкранном режиме: 0 - линия не будет показана, 1 - линия будет показанаlineHeight = 1
Высота линии в точках. Если указать значение, равное нулю, то линия станет прямоугольником высотой до конца высоты окна страницы. Обратите внимание: линия перекрывает элементы управления на странице и поэтому они не будут реагировать на клик мыши (это не относится к функциям клика данного расширения).lineBackground = "#226CDF"
фон линии: любое допустимое в CSS значение; строковый параметр, указывается в кавычкахlineOpacity = 50
прозрачность линии; в процентах, где 100 - линия полностью непрозрачна, 0 - линия полностью прозрачна (невидима)fixedElements = 1
Фиксированные (остающиеся неподвижными при скроллинге) элементы страницы, такие как меню и другие, могут скрыть под собой часть прокручиваемой страницы (сделать её невидимой, заслонить её). Программа пытается определить такие элементы и "обойти" их (перематывает скрываемую часть ниже фиксированного элемента). Это не всегда удаётся, но довольно часто. Вы можете разрешить или запретить программе делать это. Значения переменной: 0 - функция отключена, 1 - функция включена. Обратите внимание: функция может быть задействована только в скроллинге страницы вниз.Важные замечания
1) Команда для клика не будет выполнена, если после загрузки страницы не зафиксировано ни одного движения курсора мыши.2) Команды для кликов и жестов не будут выполнены на полях ввода ("input" и "textarea").
3) Расширение предназначено для использования со стандартными мышками и в стандартных браузерах. Имитирующие их и нетипичные устройства могут не поддерживаться расширением.