zen*_*ane 5 javascript clipboard dom microsoft-edge
首先,我要指出的是,这在 Chrome 中完美运行。
我试图重写 JavaScript 中的复制事件,并用我自己的数据替换剪贴板内容。我将问题的本质提取到这个小提琴中:https://jsfiddle.net/gxewmc2h/4/(是的,我需要使用全局变量来设置数据)
window.globalCopyObject = {};
window.globalCopyObject.clipboardDataText = "text value";
window.globalCopyObject.clipboardHtmlText = "html value";
document.addEventListener("copy", function (event) {
event.clipboardData.setData("text/plain", window.globalCopyObject.clipboardDataText);
event.clipboardData.setData("text/html", window.globalCopyObject.clipboardHtmlText);
event.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)
当您使用 Edge 并尝试复制页面上的文本并将其粘贴到输入中时,它会覆盖该事件,因为剪贴板已清空,但不会用新数据填充它。
据我所知,最新的 Edge 应该支持剪贴板 API,有什么明显的我遗漏的吗?
预先感谢您的任何想法。