Я много играл с расширениями Chrome, большинство из них были созданы, когда я был разочарован странным/неудобным поведением веб-сайтов. Это краткое руководство, показывающее, как легко сделать свою жизнь (а может, и пару других жизней :) ) намного ярче!

После запуска электронного курса в Гарварде я добрался до этой разочаровывающей части, когда каждый раз, когда я хотел прочитать комментарий, я переходил на новую страницу и прерывал сеанс — если я по ошибке нажимал кнопку «Назад».

До:

Цель — получить данные комментария при наведении мыши

После быстрой проверки DOM в инструментах разработки я обнаружил, что существует полный комментарий:

В последний раз я создавал расширение примерно через 2 года, поэтому я попросил своего лучшего друга дать некоторые начальные инструкции.

Я: «манипулировать расширением DOM google»

Google: «Сценарии контента — это сценарии, которые выполняются в среде между страницей и расширением Chrome. Эти скрипты загружаются при каждой загрузке страницы и имеют полный доступ к DOM страницы».

Я: «Расширение Chrome заменяет текстовый дом»

Google: проверьте это — https://stackoverflow.com/questions/5797661/replace-text-in-website-with-chrome-content-script-extension

После нескольких строк кода в dev-tools я смог получить полное содержание комментария.

Я: «всплывающее текстовое окно при наведении мыши»

Google: проверьте это — https://stackoverflow.com/questions/11683620/how-to-display-pop-up-text-on-mouse-hover

Проводка

Примерно через 20 минут (6 строк кода и почти нетронутый файл manifest.json) у меня было рабочее расширение, которое:
1. прикрепляет содержимое каждого комментария к заголовку каждой ячейки, обеспечивая эффект наведения
2. Периодически запускайте процесс для добавления динамически загружаемых комментариев.

Простой пользовательский интерфейс, не оптимизированная реализация, но он отлично справляется с моими потребностями. На самом деле, это заняло меньше времени, чем создание снимков и иконок, которые необходимы для загрузки расширения Chrome в магазин, и уж точно меньше, чем написание этого носителя.

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

Не стесняйтесь оставлять комментарии, вопросы и все, что вас порадует :)