Скрипт для поиска DTF якорей (anchor) v1.0.1

Пример полученного списка якорей
Пример полученного списка якорей

Создан для удобного и быстрого построения списка Содержания/Введения, а также для перехода по якорям при просмотре статей.

Примечание - редактор должен быть на всю страницу.
АХТУНГ!!! В Firefox скрипт работает, но с Greasemonkey наотрез отказывается - используйте Violentmonkey, или же включите lazyMode = true внутри скрипта.

Введение:

Возможности:

Режим редактора:

  • Получение списка якорей идёт вручную через нажатие кнопки. Для обновления списка якорей, просто снова нажмите кнопку
  • Кнопки получения короткого текста якоря (текст/заголовки), ссылки якоря (#) и перехода на сам якорь. Получение идёт в буфер обмена, может потребоваться разрешение браузера на это.
  • Сворачивание поисковика якорей при нажатии на шапку

Режим просмотра статей:

  • Автоматическое получение списка якорей при просмотре статей
  • Если нет возможности получить текст якоря, будет использована ссылка якоря (#) как текст
  • Сворачивание поисковика якорей при нажатии на шапку
  • Настройка свёрнутого по-умолчанию поисковика (в коде скрипта) - this.isHidden=true (свёрнуто по-умолчанию). true/false

Патчлист:

  • 1.0.1 - новый режим "lazyMode", выключен по-умолчанию.
    Активируется с помощью настройки const lazyMode = true внутри скрипта.
    lazyMode отключает автопроверку страницы при загрузке и выходе из редактора, переходе на новые статьи и т.п, и добавляет кнопку для ручной проверки.
    Нажатие на кнопку активирует проверку на наличие якорей.
    Сделан по сути лишь для того, чтобы скрипт мог выполнять проверку на Greasemonkey, которая просто не желает в нём выполнятся.
Кнопка ручной проверки на наличие якорей
Кнопка ручной проверки на наличие якорей

Настройки:

Находятся внутри кода скрипта в виду того, что их немного.

  • "const lazyMode = true/false" - настройка в коде скрипта, отключающая автопроверку, и добавляющая новую кнопку взамен. По-умолчанию выключено.
  • "this.isHidden = true/false" - настройка в коде скрипта, включающая/отключающая свёрнутый режим Anchor Getter по-умолчанию. По-умолчанию выключено
Кнопка ручной проверки на наличие якорей
Кнопка ручной проверки на наличие якорей

Галерея:

Принцип действия скрипта:

В редакторе, скрипт ведёт поиск якорей на странице, определяет тип блока, и получает текст (если блок позволяет). Ничего сложного.

При просмотре статей принцип немного иной - происходит поиск ссылок-якорей, и идущих строго за ними элементов (которые и являются теми элементами, за которыми и был прикреплён якорь).

Ссылки на скрипт:

Послесловие:

Идея скрипта появилась, когда писал статью через копипасту с Вики. Статья оказалась длинной, и мне не особо понравилось прыгать по ней, чтобы занести все якоря в Введение/Содержание.

Плавающий список гиперссылок существует на Вики, отсюда и появилась мысль о втором режиме для скрипта.

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

77
15 комментариев

PaleMoon 32.1.0 / GreaseMonkey 3.31.4
Скрипт не работает.
Ну или может работает, но плавающего окна не видно, так что все остальное нет возможности проверить.

Попробуй Violentmonkey. Мне его как-то serguun42 посоветовал, так как его скрипты в Лисе тоже бесоебили.

1

Сейчас попробую на Firefox поставить. Что не сработает там, скорее всего и на PaleMoon тоже не сработает.
Скорее всего с CSS что-то.

Обновлено:

1.0.1 - новый режим lazyMode, активируемый настройкой const lazyMode = true;
В ленивом режиме, автопроверка отключена, появляется новая кнопка проверки, и проверка выполняется лишь при нажатии на неё. Сделано для работы скрипта в Greasemonkey.