pdfh5.js的使用方法以及解決遇到的坑
pdfh5.js的使用以及遇到的坑
pdfh5的地址:https://www.npmjs.com/package/pdfh5
- 在項(xiàng)目中引入pdfh5
// 通過(guò)npm在項(xiàng)目中引入
npm install pdfh5
import Pdfh5 from "pdfh5";
import "pdfh5/css/pdfh5.css";
// 注意:css樣式也在script標(biāo)簽里通過(guò)import引入
// 使用
// 1.創(chuàng)建一個(gè)div
<div id='pdf'></div>
// 2.實(shí)例化
this.pdfh5 = new Pdfh5('#pdf',{
// pdfurl和data二選一
pdfurl:'pdf的路徑',
data:pdf文件流 // array,如果是base64編碼,需要先使用atob()轉(zhuǎn)為二進(jìn)制字符串
})
// 3.監(jiān)聽(tīng)完成事件
this.pdfh5.on('事件名',function())完成事件on函數(shù)的事件名

遇到的坑
- 引入css的坑
在引入css文件的時(shí)候,官方給出了兩種方式
第一種:在style標(biāo)簽里面通過(guò)@import 'pdfh5/css/pdfh5.css’方式,這種方式可能會(huì)報(bào)錯(cuò)
第二種:在script標(biāo)簽里面通過(guò)import ‘pdfh5/css/pdfh5.css’,建議使用這種方式 - 關(guān)于大文件加載切換問(wèn)題
當(dāng)pdf文件過(guò)大,有很多頁(yè)的時(shí)候,打開(kāi)pdf會(huì)處于慢慢加載的狀態(tài)
如果沒(méi)有加載完成,再次點(diǎn)擊另外一個(gè)pdf,就會(huì)出現(xiàn)pdf樣式錯(cuò)亂的問(wèn)題
因此,我們?cè)诿看沃匦麓蜷_(kāi)pdf的時(shí)候,執(zhí)行一下銷毀的操作
if (this.pdfh5) {
this.pdfh5.destroy()
this.pdfh5 = null
}

3. 在那種需要切換的場(chǎng)景,會(huì)出現(xiàn)點(diǎn)擊空白的情況
比如:‘我已閱讀并同意xxx協(xié)議、xx協(xié)議’,點(diǎn)擊一個(gè)協(xié)議,就會(huì)彈出一個(gè)pdf

// 在創(chuàng)建div的時(shí)候,id需要隨之切換,如果id固定不變就會(huì)導(dǎo)致點(diǎn)擊其他的出現(xiàn)空白情況
// html,容器通過(guò)v-if就行切換
<div class="content" id="medical-zygz_b" v-if="code === 'zygz_b'"></div>
<div class="content" id="medical-lpxz_b" v-if="code === 'lpxz_b'"></div>
// 或者動(dòng)態(tài)綁定id的值
<div class="content" :id="'medical-'+code" v-if="code === 'lpxz_b'"></div>
// js
this.pdfh5 = new Pdfh5(`#medical-${this.code}`, {
pdfurl: url,
})
這些都是基本用法,其他詳細(xì)的api,可以去官網(wǎng)查看,地址在頂部第二行
總結(jié)
到此這篇關(guān)于pdfh5.js的使用方法以及解決遇到的坑的文章就介紹到這了,更多相關(guān)pdfh5.js使用及踩坑內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
微信小程序教程系列之設(shè)置標(biāo)題欄和導(dǎo)航欄(7)
這篇文章主要為大家詳細(xì)介紹了微信小程序教程系列之標(biāo)題欄和導(dǎo)航欄的設(shè)置,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04
詳解小程序原生使用ES7 async/await語(yǔ)法
這篇文章主要介紹了詳解小程序原生使用ES7 async/await語(yǔ)法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
JavaScript中null和undefined的區(qū)別詳解
null 是一個(gè)原始值,表示“無(wú)”或“空值”,它通常用于指示變量應(yīng)有的對(duì)象或值不存在,undefined 是一個(gè)原始值,表示“未定義”,本文給大家詳細(xì)介紹了JavaScript中null和undefined的區(qū)別,需要的朋友可以參考下2024-10-10
Canvas實(shí)現(xiàn)動(dòng)態(tài)的雪花效果
本文主要分享Canvas實(shí)現(xiàn)動(dòng)態(tài)的雪花效果的示例代碼。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-02-02
jQuery實(shí)現(xiàn)動(dòng)態(tài)生成表格并為行綁定單擊變色動(dòng)作的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)動(dòng)態(tài)生成表格并為行綁定單擊變色動(dòng)作的方法,涉及jQuery頁(yè)面元素遍歷與事件動(dòng)態(tài)響應(yīng)相關(guān)操作技巧,需要的朋友可以參考下2017-04-04
js實(shí)現(xiàn)仿愛(ài)微網(wǎng)兩級(jí)導(dǎo)航菜單效果代碼
這篇文章主要介紹了js實(shí)現(xiàn)仿愛(ài)微網(wǎng)兩級(jí)導(dǎo)航菜單效果代碼,通過(guò)javascript自定義函數(shù)結(jié)合鼠標(biāo)點(diǎn)擊事件實(shí)現(xiàn)tab切換的功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08

