前言
我们已经基本完成了单个视频的播放逻辑
接下来还差一个文档
开始
我们打开pdf,根据调试发现也在Play.dialog函数停下来了
看一下url
发现是一个pdf地址,接下来等待打开看看dom层级
这里可以看到用了两个firame
而pdf在最里面的iframe
这时候我们之前封装的EmitClose函数就派上用场了
我们可以先匹配地址
function MainBranch(){
if(location.href.indexOf('/sword/rp/play/toPlay')!==-1){
InjectVideoPage()
}else if(location.href.indexOf('/icourse/lib/pdfjs/web/')!==-1){
InjectPdfPage()
}else{
InjectButtonToBody()
}
}
MainBranch()
判断走video还是pdf还是注入刷课按钮
然后完善InjctPdfPage函数
function InjectPdfPage(){
setTimeout(()=>{
EmitParentClose()
},config.pdf_time)
}
这里直接使用了一个settimeout做定时关闭
然后把关闭时间放到脚本首部由用户配置
默认是20分钟
测试一下
基本逻辑其实跟video一致
甚至更简单
那我们非常easy的完成了pdf的播放
结语
撒花~