复制/粘贴在Chrome扩展程序中不起作用

cha*_*ani 1 google-chrome-extension

复制/粘贴代码无法在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");
            });
        });
      }
Run Code Online (Sandbox Code Playgroud)

Chr*_*and 8

从Chrome 13开始,剪贴板访问不再是实验性的.

该命令现在document.execCommand('paste'),document.execCommand('copy')document.execCommand('cut').

但是,需要将权限添加到清单中:"clipboardRead""clipboardWrite".

尝试实施上述内容,看看你是如何继续下去的.


Ala*_*air 5

消除明显的; 你有没有为你的清单添加"实验性"权限,你是否正在使用官方文档中列出的最新开发版Chrome

否则,我不确定什么可以帮助你,因为我不使用实验API,因为它们不能在生产中使用.有一种解决方法,无需使用实验API(使用输入字段和document.execCommand)进行复制,但我不确定如何在没有它的情况下进行粘贴.

编辑:

我刚刚注意到实验性API页面experimental.clipboard上不再列出该内容.可能是这个命名空间已被弃用/放弃,因为使用实验API时会发生这种情况.一个简单的测试就是插入;

console.log(typeof chrome.experimental.clipboard);
console.log(typeof chrome.experimental.clipboard.executeCopy);
console.log(typeof chrome.experimental.clipboard.executePaste);
Run Code Online (Sandbox Code Playgroud)

哪个应输出以下控制台作为您的背景页面;

> object
> function
> function
Run Code Online (Sandbox Code Playgroud)