Я много играл с расширениями 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 и посмотрите сами.
Не стесняйтесь оставлять комментарии, вопросы и все, что вас порадует :)