最近开发接触到了文字选中复制的情况,参照mdn的说法,在火狐下愉快的完成了复制,但是在谷歌下却遇到了问题.
mdn文档: https://developer.mozilla.org/zh-CN/docs/Web/API/Range
[Deprecation] The behavior that Selection.addRange() merges existing Range and the specified Range was removed. See https://www.chromestatus.com/features/6680566019653632 for more details.
我本想使用js选择多个不同的段落,然后把他们复制下来,在火狐浏览器下是正常的,在谷歌浏览器下出现了上面的错误,
谷歌的资料文档
https://www.chromestatus.com/features#addrange
原来在谷歌浏览器下,不能多次addRange.
知道了这一点,问题就好解决了,我们可以把要复制的段落的html赋值到另一个元素里,这个元素高度只有1px,溢出不可见.然后只把这个元素复制走就可以了.
我的问题如图:
我本希望通过选择不同的段落,直接复制走这三段,firefox正常,chorme出现错误,最后实现的方法是新建一个元素,把要复制的html用js添加到这个元素上,最会只需要选择这一个元素就可以了