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

时间:2011-08-03 10:30:47

标签: 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");
            });
        });
      }

2 个答案:

答案 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}}