Chrome扩展-如何选择标签和复制的所有文本
Chrome extension - how to select all text of tab and copy
谁能告诉我如何复制整个页面类似于按Ctrl+A,然后复制当前选项卡到剪贴板。
目前我有这个,但它什么也不做,虽然扩展已成功添加到chrome:
清单文件
"permissions":
[
"clipboardRead",
"clipboardWrite"
],
// etc
内容脚本chrome.extension.sendRequest({ text: "text you want to copy" });
背景页
<html>
<head>
<script type="text/javascript">
chrome.extension.onRequest.addListener(function (msg, sender, sendResponse) {
var textarea = document.getElementById("tmp-clipboard");
// now we put the message in the textarea
textarea.value = msg.text;
// and copy the text from the textarea
textarea.select();
document.execCommand("copy", false, null);
// finally, cleanup / close the connection
sendResponse({});
});
</script>
</head>
<body>
<textarea id="tmp-clipboard"></textarea>
</body>
</html>
弹出
<textarea id="tmp-clipboard"></textarea>
<input type="button" id="btn" value="Copy Page">
我不能让这个工作,不知道我在这里错过了什么。
有没有人可以指导如何模拟Ctrl+A然后是Ctrl+C当前选项卡,以便它存储在剪贴板中?
你的代码有多个问题
- 从Chrome 20 sendRequest是不赞成sendMessage
- 从Chrome 20的onRequest。addListener已被弃用,而支持onMessage.addListener
- 由于CSP,你不能在你的代码中有标签
消除这些问题后,您的代码可以正常工作。
<标题> 示范用例的示例演示
manifest.json
确保清单具有所有权限和注册
{
"name":"Copy Command",
"description":"http://stackoverflow.com/questions/14171654/chrome-extension-how-to-select-all-text-of-tab-and-copy",
"version":"1",
"manifest_version":2,
"background":{
"page":"background.html"
},
"permissions":
[
"clipboardRead",
"clipboardWrite"
],
"content_scripts":[
{
"matches":["<all_urls>"],
"js":["script.js"]
}
]
}
background.html
确保遵守所有安全更改
<html>
<head>
<script src="background.js"></script>
</head>
<body>
<textarea id="tmp-clipboard"></textarea>
</body>
</html>
background.js
增加监听器模拟Ctrl + A和Ctrl + C
chrome.extension.onMessage.addListener(function (msg, sender, sendResponse) {
//Set Content
document.getElementById("tmp-clipboard").value = msg.text;
//Get Input Element
document.getElementById("tmp-clipboard").select();
//Copy Content
document.execCommand("Copy", false, null);
});
contentscript.js
传递要复制的内容
chrome.extension.sendMessage({ text: "text you want to copy" });
<标题>引用- manifest v2 changes
- Chrome 20 Changes
- 背景页
相关文章:
- 使用Clipboard.js复制span文本
- 在<页眉>标签
- ZeroClipboard-在复制之前添加到值
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- JavaScript禁用”;打开”"打开新标签”;以及“;复制“;长按iOS 8 safari中的锚标签
- 将标签文本复制到输入
- 如何通过复制/粘贴到文本区域来生成 HTML 标签
- 将文本从文本字段复制到文本区域+标签
- 无法将 HTML 标签的数据复制到 JavaScript
- 我需要一个脚本来复制标签,并删除开关按钮关闭时的标签
- 将复选框标签复制到隐藏文本字段
- 如何复制/获取当前标签url在chrome和输出弹出窗口
- 简单的标签与CSS和jQuery -自定义&复制
- 通过拖动标签将文本从标签复制到特定的段落点击点
- 如何复制相同的导航菜单上的所有4标签与引导
- 如何在不复制值/数据的情况下克隆/复制 tr(tr 包含带有选择和输入标签的 td)
- 酒窝.js散点图复制轴标签
- 使用RegExp来查找、复制和粘贴标签的内容
- 如何复制标签的内容
- Chrome扩展-如何选择标签和复制的所有文本