이것은 배경 페이지에서 나에게 잘 맞습니다. 물론
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;
actElem.removeChild(pasteTarget);
return paste;
};
이 확장은 여전히 "clipboardRead"권한이 필요합니다 그리고 당신은 다시 콘텐츠 스크립트에이 정보를 얻기 위해 메시지 전달을 사용해야합니다 :
content.js :
chrome.extension.sendMessage({
cmd: "clipboard", //$NON-NLS-0$
action: "paste" //$NON-NLS-0$
}, function(response) {
if (response.paste) {
var range = document.getSelection().getRangeAt(0);
range.deleteContents();
range.insertNode(document.createTextNode(response.paste));
}
});
배경 .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;
actElem.removeChild(pasteTarget);
return paste;
};
function onClipboardMessage(request, sender, sendResponse) {
if (request.action === "paste") { //$NON-NLS-0$
sendResponse({
paste: getClipboard()
});
}
}
chrome.extension.onMessage.addListener(onClipboardMessage);
이 코드를 어디에서 실행합니까? – serg
다음을 확인하십시오. http://farter.users.sourceforge.net/blog/2010/11/20/accessing-operating-system-clipboard-in-chromium-chrome-extensions/ –
이 코드는 실행 중입니다. background.html이 아닌 일반 웹 페이지.그러나 이것은 더 이상 실험적인 API가 아니며 버전 13 (http://code.google.com/chrome/extensions/whats_new.html#13)의 Chrome에 내장되어있어 이제는 작동해야합니다. 또한, 그것에 대한 사용 권한을 추가했습니다 :) –