Скопируйте форматированный текст в буфер обмена из расширения Google Chrome - PullRequest
0 голосов
/ 29 мая 2020

Я пытаюсь скопировать форматированный текст, сгенерированный сценарием, для удобства.

Я могу найти только два метода для копирования в буфер обмена. Во-первых:

function set_clipboard_data(text) {
  clickedEvent.clipboardData.setData("text/html", str);
}

И, во-вторых, обходной путь:

function set_clipboard_data(text) {
  clickedEvent.clipboardData.setData("text/html", str);
  var copyFrom = document.createElement("textarea");
  copyFrom.innerHTML = text;
  document.body.appendChild(copyFrom);
  copyFrom.select();
  document.execCommand('copy');
  copyFrom.blur();
  document.body.removeChild(copyFrom);
}

Ни то, ни другое в моем случае не работает. Первый вариант не работает, потому что у меня нет доступа к событию, так как функция вызывается chrome.runtime.onMessage.addListener. Второй вариант, похоже, не поддерживает форматированный текст.

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

...