李恒道 发表于 2022-5-11 09:28:23

[脚本实战篇]实战PDF文档播放

# 前言
我们已经基本完成了单个视频的播放逻辑
接下来还差一个文档
# 开始
我们打开pdf,根据调试发现也在Play.dialog函数停下来了

![图片.png](data/attachment/forum/202205/11/092444trjjdevc05vcv47o.png)
看一下url
![图片.png](data/attachment/forum/202205/11/092514ifngz8ymjfgn1f6g.png)
发现是一个pdf地址,接下来等待打开看看dom层级
这里可以看到用了两个firame
而pdf在最里面的iframe
这时候我们之前封装的EmitClose函数就派上用场了
![图片.png](data/attachment/forum/202205/11/092551w998ioxuqt4qxut0.png)
我们可以先匹配地址
```javascript
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函数
```javascript
function InjectPdfPage(){
    setTimeout(()=>{
      EmitParentClose()
    },config.pdf_time)
}
```
这里直接使用了一个settimeout做定时关闭
然后把关闭时间放到脚本首部由用户配置
![图片.png](data/attachment/forum/202205/11/092740ed72iud5pxww7fux.png)
默认是20分钟
测试一下
基本逻辑其实跟video一致
甚至更简单
那我们非常easy的完成了pdf的播放
# 结语
撒花~

发表于 2022-5-11 15:55:39

想学着写一个单刷某星阅读的脚本,这个教程可以用吗

李恒道 发表于 2022-5-11 16:09:35

雯 发表于 2022-5-11 15:55
想学着写一个单刷某星阅读的脚本,这个教程可以用吗

教的是各种基础语法和调用思路哦
不是具体的某个平台的
页: [1]
查看完整版本: [脚本实战篇]实战PDF文档播放