我正在为谷歌浏览器做一个扩展,我遇到了麻烦.
我需要在弹出窗口中单击将只读textarea的内容复制到剪贴板.有没有人知道使用纯Javascript和没有Flash的最佳方法?我也在扩展中加载了jQuery,如果有帮助的话.我目前的(非工作)代码是......
function copyHTMLCB() {
$('#lb_html').select();
$('#lb_html').focus();
textRange = document.lb_html_frm.lb_html.createTextRange();
textRange.execCommand("RemoveFormat");
textRange.execCommand("Copy");
alert("HTML has been copied to your clipboard."); }
Run Code Online (Sandbox Code Playgroud) 作为参考,为了在 Chrome 扩展中读取剪贴板文本,您必须:
但这仅适用于manifest_version 2,因为在manifest_version 3中你不能有后台脚本,而是有一个服务工作者。
在这个服务工作者中你不能拥有正常的功能,所以我有一个
chrome.runtime.onMessage.addListener
Run Code Online (Sandbox Code Playgroud)
例如,在此“manifest_version 3 服务工作线程 background.js 脚本”中,我从 popup.html 调用一条消息。
但问题是这个服务人员没有“文档”,所以我无法创建文本区域来执行复制内容并调用 document.execCommand 的技巧。
那么...有什么方法可以将 Manifest Version 3 中的内容复制到剪贴板吗?