Dav*_*ker 8 javascript clipboard google-chrome-extension
我想通过Chrome扩展程序将一些文本变量写入剪贴板,当用户按下快捷键时会发生这种情况.除写入剪贴板外,我已经完成了所有部分.
我使用以下关键字搜索整个StackOverflow:"[google-chrome-extension]剪贴板"
所以我想说,我看到所有相关的:
clipboardRead和clipboardWrite许可(已完成)<textarea>,call
document.execCommand('Copy');
或中
添加文本document.execCommand("Copy", false, null);即使我在StackOverflow上尝试了我的扩展textarea,我将我的文本插入到StackOverflow的wmd-input部分textarea,然后选择它,然后调用copy.什么都没有,什么都没有......
一切都在尝试.请指教......我错过了什么?
use*_*802 10
function directCopy(str){
//based on https://stackoverflow.com/a/12693636
document.oncopy = function(event) {
event.clipboardData.setData("Text", str);
event.preventDefault();
};
document.execCommand("Copy");
document.oncopy = undefined;
}
Run Code Online (Sandbox Code Playgroud)
您可以尝试以下代码,它将文本写入剪贴板
作为一个例子,我写信Sample给剪贴板

清单文件是所有Chrome扩展的关键,确保它具有所有权限
{
"name": "Copy to ClipBoard Demo",
"description" : "This is used for demonstrating Copy to Clip Board Functionality",
"version": "1",
"browser_action": {
"default_popup": "popup.html"
},
"permissions":["clipboardWrite"],
"manifest_version": 2
}
Run Code Online (Sandbox Code Playgroud)
一个简单的浏览器操作HTML文件,带有输入框和按钮
<html>
<head>
<script src="popup.js"></script>
</head>
<body>
<input type="text" id="text" placeHolder="Enter Text To Copy"></input>
<button id="copy">Copy</button>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
它将内容复制<input>到剪贴板
function copy() {
//Get Input Element
var copyDiv = document.getElementById('text');
//Give the text element focus
copyDiv.focus();
//Select all content
document.execCommand('SelectAll');
//Copy Content
document.execCommand("Copy", false, null);
}
//Add Event Listeners to Button Click
document.addEventListener("DOMContentLoaded", function () {
document.getElementById("copy").onclick = copy;
});
Run Code Online (Sandbox Code Playgroud)
function copy(){
//Get Input Element
document.getElementById("text").select();
//Copy Content
document.execCommand("Copy", false, null);
}
//Add Event Listeners to Button Click
document.addEventListener("DOMContentLoaded", function () {
document.getElementById("copy").onclick = copy;
});
Run Code Online (Sandbox Code Playgroud)