Я создал строку в формате 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?