在做前端的类excel表格组件的时候遇到一个需求,要可以在网页和excel中可以互相复制文本及样式
excel表格
网页
刚开始从剪切板获取数据的时候是这么写的
显示的结果是这样的
通过 百度解析到两个blob对象
用FileReader对象去读取出来的结果分别是
文字
html字符串
正常情况下html解析出来的正是我们所需要的,但是却缺少了我所需要的样式。
我找了好久也没有相关案例直到我看见了这个
浏览器的粘贴事件............
不知道有这个时间,所以之前一直使用的是键盘事件 苦涩ing
得到的结果是这个样子
可以看到我们朝思暮想的样式就在style标签里
但首先需要把字符串解析为document对象
刚开始找到的解析字符串的方法是这个
let doc = new DOMParser().parseFromString(html, "text/html");
但发现只能获取到行内样式,不知道怎么获取内部样式,百度了一下还是没有相关案例,没办法只能另寻他法
html字符串拿去生成一个页面是没问题的,我就想到了iframe,虽然有点取巧但起码解决了问题
如果有更好的方法希望指点一下我这个萌新 苦涩ing