Задать вопрос
@alekseishaklov

Замена конкретного текста на странице с помощью JS?

Приветствую! Недавно начал изучать JavaScript, но пока ничего в нём не понимаю. Появилась идея создать расширение для браузера FireFox. От него требуется заменять конкретный текст на странице на другой. Я пробовал множество вариантов, в частности, отсюда. Проблема такая: при установке расширения в браузер через меню отладки весь нужный текст заменяется. При обновлении страницы замена в некоторых кнопках и других элементах пропадает. Так и не понял, с чем это связано, буду рад любой помощи
  • Вопрос задан
  • 304 просмотра
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
zkrvndm
@zkrvndm
Архитектор решений
Для автозамены текста категорически нельзя использовать innerHTML, так как при его использовании будут слетать обработчики на элементах, вы так просто сломайте сайт.

Для автозамены текста просто перебирайте все текстовые узлы на странице и конкретно их (текстовые узлы) уже меняйте и корректируйте как вам надо.

Это вам поможет:
Как перебрать все текстовые узлы на странице?
Ответ написан
@acwartz
Тут должна быть ваша реклама.
Потому что AJAX и внутренняя логика веб-сайта?
Веб давно динамический, и это надо учитывать.
Есть такая штука как наблюдатель (MutationObserver), вешаешь его после применения своих изменений и внутри него выполняете повторно, для конкретного элемента если он содержит искомый текст который надо заменять.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы