我一直在使用以下代码来处理复制事件很长一段时间:
range.selectNodeContents(el);
sel.removeAllRanges();
sel.addRange(range);
我的部分用户现在报告复制活动在Chrome中无效。我注意到自从版本61发布以来,这似乎正在发生。是否有替代方法可以在较新版本的Chrome中将元素内容复制到剪贴板?
答案 0 :(得分:0)
试试这段代码:
let sel = window.getSelection();
sel.removeAllRanges();
let range = document.createRange();
range.selectNodeContents(el);
el.contentEditable = true;
el.focus();
sel.addRange(range);
如果此代码不起作用,请尝试 使用你没有
的代码sel.removeAllRanges();
因为不推荐使用removeAllranges,并且选择只能有一个范围
我使用了代码(示例)
let range = document.createRange();
let sel = window.getSelection();
range.selectNodeContents(document.body);
sel.addRange(range);
它工作(在chrome 62中测试)。 也许el节点不可见或DOM没有这个节点。没有所有代码,我无法帮助你。