1

我正在创建一个 chrome 扩展程序,允许您在editable元素中单击上下文菜单选项。单击上下文菜单选项会自动将一些文本放置在光标所在的位置。


我遇到的问题是放置文本的过程因放置文本的位置而异。例如,如果文本被放置在textarea, (就像我现在输入的那样),则该过程与我需要将文本放入 YouTube 评论框(它自己的自定义 div)中的过程不同并且不支持我在编辑普通内容时使用的操作textarea


在我寻找一个对 APIeditable类别中的所有元素都适用的灵活解决方案时chrome.contextMenus,我想到了以下想法:

如果我将变量存储在系统剪贴板中document.execCommand('copy'),然后将其粘贴到光标所在的任何位置,我应该能够做我想做的事document.execCommand('paste')


这里的缺点是用户会丢失他们曾经在剪贴板中拥有的任何东西。

我最初计划只是将原始内容粘贴到我自己的textarea中,然后在完成剪贴板后将其恢复,但这种方法存在两个问题:

  • 用户将失去他们最初拥有的任何格式
  • 这仅适用于文本,不适用于图像。

有没有一种方法可以保存剪贴板的内容,以便我稍后将它们复制回剪贴板,而用户不会注意到对内容的任何修改?

如果我有任何明显的误解,请纠正我,因为我是 JS、DOM 和 HTML 的新手

4

0 回答 0