以下复制/粘贴代码无法在Chrome扩展程序中使用, 我需要编写使用剪贴板复制和粘贴数据的Chrome扩展程序。
我在Backgroung.html页面中编写了以下代码,但它无效。
function buttonClick(){
document.getElementById('initialText').select();
chrome.experimental.clipboard.executeCopy(1, function() {
alert("Copy");
document.getElementById('nameText').focus();
chrome.experimental.clipboard.executePaste(1, function() {
alert("Paste");
});
});
}
答案 0 :(得分:8)
从Chrome 13开始,剪贴板访问权限为no longer。
这些命令现在是document.execCommand('paste')
,document.execCommand('copy')
和document.execCommand('cut')
。
但是,需要将权限添加到manifest:"clipboardRead"
和"clipboardWrite"
。
尝试实施上述内容,看看你是如何继续的。
答案 1 :(得分:5)
消除明显的;您是否已将“experimental”权限添加到清单中,并且是否使用dev build of Chrome中列出的最新official documentation?
否则,我不确定哪些可能会对您有所帮助,因为我不使用实验API,因为它们无法在生产中使用。有一种不使用实验API进行复制的解决方法(使用输入字段和document.execCommand),但我不确定如何在没有它的情况下进行粘贴。
修改强>
我刚刚注意到experimental.clipboard
上不再列出console.log(typeof chrome.experimental.clipboard);
console.log(typeof chrome.experimental.clipboard.executeCopy);
console.log(typeof chrome.experimental.clipboard.executePaste);
。可能是这个命名空间已被弃用/放弃,因为使用实验API时会发生这种情况。对此进行简单测试就是插入;
> object
> function
> function
哪个应输出以下控制台作为背景页面;
{{1}}