execCommand无法在chrome扩展中工作

时间:2015-03-16 11:58:15

标签: javascript google-chrome-extension clipboard google-nativeclient

我使用paste execCommand来获取系统剪贴板数据。

document.execCommand("Paste", null, null);
var paste = pasteTarget.innerText;

我试图在每一秒延迟读取数据,但pasteTarget.innerText始终返回null。

我正在执行来自本机客户端的句柄消息中的上述代码。看来这段代码没有在后台页面上执行。如何在后台页面中执行代码?

我正在使用pepper API示例(nacl_sdk \ pepper_35 \ examples \ api \ input_event)。

common.js

function getClipboard() {
            var pasteTarget = document.createElement("div");
            pasteTarget.contentEditable = true;
            var actElem = document.activeElement.appendChild(pasteTarget).parentNode;
            pasteTarget.focus();
            document.execCommand("Paste", null, null);
            var paste = pasteTarget.innerText;
            console.log("paste = " + paste);
            actElem.removeChild(pasteTarget);
            return paste;
    };

每当点击右键时,我都会尝试获取剪贴板数据。但是总是返回null

的manifest.json

    {
  "name": "Input Event",
  "version": "35.0.1916.114",
  "minimum_chrome_version": "35.0.1916.114",
  "manifest_version": 2,
  "description": "Input Event Example",
  "offline_enabled": true,
  "icons": {
    "128": "icon128.png"
  },
  "app": {
    "background": {
      "scripts": ["background.js"]
    }
  },
  "key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCMN716Qyu0l2EHNFqIJVqVysFcTR6urqhaGGqW4UK7slBaURz9+Sb1b4Ot5P1uQNE5c+CTU5Vu61wpqmSqMMxqHLWdPPMh8uRlyctsb2cxWwG6XoGSvpX29NsQVUFXd4v2tkJm3G9t+V0X8TYskrvWQmnyOW8OEIDvrBhUEfFxWQIDAQAB",
  "oauth2": {
    "client_id": "903965034255.apps.googleusercontent.com",
    "scopes": ["https://www.googleapis.com/auth/drive"]
  },
  "permissions": [
    "clipboardWrite",
    "clipboardRead"
  ]
}

0 个答案:

没有答案