Я делаю простое расширение для браузера, которое должно использоваться для добавления ссылок на страницу. Расширение должно находить вхождения текста со ссылками на законы и оборачивать их ссылками на соответствующие страницы с текстами законов.
Например, ссылка "chapter 1 of Some Law
" в тексте "The topic covered in the chapter 1 of Some Law
" должна быть обернута такой ссылкой - "The topic covered in <a href="http://link-to-the-law.text">chapter 1 of Some Law</a>
"
Пользователь взаимодействует с расширением следующим образом:
- выделяет некоторый текст на странице (он может включать много элементов DOM)
- запускает перенос текста, щелкнув правой кнопкой мыши кнопку меню
- CORS с выделенным текстом выполняются на наш сервер
- возвращается текст со ссылками на законы, заключенными в ссылки
- выделенный текст заменяется возвращенным текстом
Теперь я застрял на шаге 5. У меня есть Selection object
и необработанный полученный HTML с обернутыми ссылками.
Можно ли (и как, если да) заменить выделенный текст (который на самом деле представляет собой набор элементов DOM) полученным текстом? Может быть, вы сталкивались с некоторыми расширениями/библиотеками/и т. д., которые действуют аналогичным образом? Или, может быть, вы знаете лучший способ сделать такую замену? Если это так, пожалуйста, дайте мне знать.