将文本复制到剪贴板的最佳方法是什么?(多浏览器)
我试过了:
function copyToClipboard(text) {
if (window.clipboardData) { // Internet Explorer
window.clipboardData.setData("Text", text);
} else {
unsafeWindow.netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
const clipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper);
clipboardHelper.copyString(text);
}
}
Run Code Online (Sandbox Code Playgroud)
但在Internet Explorer中,它会出现语法错误.在Firefox中,它说unsafeWindow is not defined.
没有闪存的好技巧:Trello如何访问用户的剪贴板?
我已经使用创建了来自我的canvas对象的图像canvas.toDataURL("image/png", 0.7)。从上下文菜单保存图像效果很好,但是将图像复制到剪贴板并将其粘贴到邮件或Word文档中则无效。是否有可能使“复制到剪贴板”的行为与“正常”图像的行为相同?
我正在考虑创建一个小型服务器组件,该组件可以采用图像的base64表示形式并返回“正常” png图像,可以将其复制到剪贴板。这可以作为解决方法吗?
编辑:
澄清:我正在使用canvas.toDataURL("image/png", 0.7)画布创建图像,然后将标签的src属性设置img为结果。然后,当我右键单击图像时,可以从上下文菜单中选择“复制图像”。然后的问题是我无法将图像粘贴到Word和电子邮件中(至少是Outlook)。粘贴到Wordpad和mspaint可以正常工作。