我正在创建Chrome扩展程序,允许您在editable
元素中时单击上下文菜单选项。单击上下文菜单选项会自动在光标所在的位置放置一些文本。
我遇到的问题是放置文本的过程因文本的放置位置而异。例如,如果文本放在textarea
中(就像我现在输入的那样),则该过程与我需要将文本放入YouTube评论框中的过程不同,是自己的自定义div,不支持在编辑普通textarea
的内容时使用的操作
在我搜索对editable
API的chrome.contextMenus
类别中的所有元素都相同的灵活解决方案时,我想到了以下想法:
如果我使用document.execCommand('copy')
将变量存储在系统剪贴板中,然后将其粘贴到光标位于document.execCommand('paste')
这里的缺点是用户会丢失他们以前在剪贴板中所拥有的内容。
我最初计划将原始内容粘贴到我自己的textarea
中,然后在完成剪贴板后将其恢复,但这种方法存在两个问题:
有没有办法可以保存剪贴板的内容,以便我以后可以将它们复制回剪贴板而不会让用户注意到对内容的任何修改?
如果我有任何明显的误解,请在我新手时纠正我 JS,DOM和HTML