这是我走了多远:
添加了清单文件的权限:
"permissions": ["clipboardRead", "clipboardWrite"]
我阅读了有关 chrome.experiment.clipboard 的信息,但这似乎已被删除,取而代之的是 document.execCommand('copy')。
我写了这个程序来尝试一下:
main() {
var copy = new ButtonElement()..text = 'copy';
var paste = new ButtonElement()..text = 'paste';
var textarea = new TextAreaElement()..text = 'foo';
document.body.nodes.addAll([copy, paste, textarea]);
copy.onClick.listen((event) => document.execCommand('copy', null, null));
paste.onClick.listen((event) => document.execCommand('paste', null, null));
}
理想情况下,对于我的应用程序,我想编写一个名为 getClipboardText() 和 setClipboardText(String) 的函数。但首先,我试图让这个基本示例正常工作。
关于下一步尝试什么的任何想法?
编辑:更新了下面 amouravski 指出的错误。谢谢 ;)
已修复 - 感谢 Keith:
class Clipboard {
static String get text {
var active = document.activeElement;
var hidden = new TextAreaElement();
document.body.append(hidden);
hidden.focus();
document.execCommand('paste', null, '');
active.focus();
hidden.remove();
return hidden.value;
}
static set text(String s) {
var active = document.activeElement;
var hidden = new TextAreaElement();
hidden.value = s;
document.body.append(hidden);
hidden.select();
document.execCommand('copy', null, '');
active.focus();
hidden.remove();
}
}