Каков наилучший способ установить форматированный текст в поле для редактирования текста - PullRequest
0 голосов
/ 26 июня 2019

Я создал строку в формате HTML на фоновой странице расширения Chrome и хочу поместить ее в редактируемое текстовое поле на главной странице.Редактор - это редактор Quill.Область, в которую я хочу поместить текст, уже выделена на этом этапе, и я хочу изменить выбор для моей отформатированной строки.

Это кажется удивительно сложным.Я рассмотрел два способа сделать это: изменение текста напрямую и использование буфера обмена.Я могу получить текст из редактора, используя getSelection:

</p> <pre><code>function getSelectedText(){ chrome.tabs.executeScript({code: 'getSelection().toString()'}, res => callback(res) //res => { alert(res[0]) }); );

Однако не существует простого способа вернуть отредактированный текст обратно,как setSelection (это делает что-то еще).

Я посмотрел на Quill Api и попробовал:

</p> <pre><code> chrome.tabs.executeScript({code: 'ql-editor.setText(\'Hello\n\');'}...

Однако я получил ошибку из-за отсутствия разрешения,

Я также попытался загрузить буфер обмена, чтобы вставить его обратно, и получил:

</p> <p>clipboard.setData('text/HTML', COMPARED_TEXT);</p> <p>

Это просто все вылетело без сообщения об ошибке.

Итак, как правильно редактировать текст, отформатированный в HTML, в текстовом поле из расширения Chrome?

...