getSelectText(){let _this =this;let iframe = document.getElementsByClassName("pdf-viewer-local")[0];let x ="";let y ="";let _x ="";let _y ="";// iframe 加载完成后执行并将双击事件过滤掉,因为双击事件可能也触发滑选,所以为了不误操作,将其剔除
iframe.onload=function(){// 鼠标点击监听
iframe.contentDocument.addEventListener("mousedown",function(e){
x = e.pageX;
y = e.pageY;
_this.isShowNotePop =false;},true);// 鼠标抬起监听
iframe.contentDocument.addEventListener("mouseup",function(e){
_x = e.pageX;
_y = e.pageY;if(x == _x && y == _y)return;//判断点击和抬起的位置,如果相同,则视为没有滑选,不支持双击选中var selection = iframe.contentWindow.getSelection();var range = selection.getRangeAt(0);var choose = selection.toString();
_this.selectText = choose;
console.log("选中文本:"+ choose);},true);};},
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
扩展:在iframe中获取选中的数据/iframe中鼠标事件 来自上一篇参考文章的参考文章。
docx
Mammoth
旨在转换 .docx 文档(例如由 Microsoft Word 创建的文档),并将其转换为 HTML。 不支持样式。 Vue Word预览之mammoth.js
docx-preview
我的博客:关于实现
epub
功能:实现预览、电子书切换、目录、换背景色、字体大小调整、进度的功能。 方案:使用epub.js,官方文档 版本选择:使用epub对电子书进行渲染(Blocked script execution in 'http://localhost:8080/’ because the document 's frame is sandboxed and the ‘allow-scripts’ permission is not set.),出现了上述报错,原因是epub.js版本太高,所以切换了版本。省流:版本是epubjs@0.3.71