我的网站上有一个按钮,期望点击按钮时,应将一大块富文本格式(html格式)复制到用户的剪贴板,因此,他们可以将其粘贴到格式支持的富文本编辑器(即outlook)。
我使用多种不同的方法在Chrome / FF中工作,例如使用clipboard.js
或clipboard-polyfill.js
,或执行如下的本机复制命令:
function copyToClip(str) {
function listener(e) {
e.clipboardData.setData("text/html", htmlstr);
e.preventDefault();
}
document.addEventListener("copy", listener);
document.execCommand("copy");
document.removeEventListener("copy", listener);
};
但是,以上都不适用于Microsoft Edge或IE 。我想知道是否有可能在Edge / IE中实现目标,如果可以,我应该怎么做?
P.S。我想尽可能避免使用ZeroClipboard.js,因为它需要用户安装/启用Flash。
谢谢
答案 0 :(得分:0)
这与Internet Explorer配合良好
function paste() {
//internet explorer
var value = window.clipboardData.getData("Text");
document.getElementById("Text1").value = value;
}
答案 1 :(得分:0)
我使用的是Microsoft Edge版本83.0.478.45(正式版本)(64位)。我尝试使用此代码,它对我有用。
function CopyToClipboard() {
var controlValue = "Assign Your Data";
var textare = document.createElement('textarea');
textare.textContent = controlValue;
textare.style.position = "fixed";
document.body.appendChild(textare);
textare.focus();
textare.select();
try {
window.focus();
navigator.clipboard.writeText(textare.textContent);
}
catch (error) {
console.error(error);
}
finally {
document.body.removeChild(textare);
}
}