通过JS跳过青年大学习的实现原理
又到了周一的青年大学习啦。输入信息,开始学习,看完视频,一气呵成。
然而事情往往没有那么顺利,我看了两三遍都卡在了最后,导致没办法截图:)
所以鼓捣了一下青年大学习,发现了有方法可以直接跳过视频的,
当然青年大学习还是很有意义的,一定要自觉哦,这方法是为了那些真的有bug看了好几遍都失败的同学准备的,不要用来直接跳过完成任务
本教程只是技术交流,禁止谋取不正当利益
原理
老规矩,先讲原理再将实现,当然不看也可以XD
- 当点击“开始学习”,客户端和服务器之间的请求是这样子的:
从这里可以看出,当开始看视频的时候,服务器发送了一个 xxx.mp4
的视频过来,这个就是我们要看的视频啦。然后神奇的事情发生了:
直到看完,客户端都没有再返回数据到服务器
这说明了:
当提交表单(填写个人信息)的那一刻,页面进行跳转的时候,服务器就已经接受到你在看视频的请求了,所以后台是不知道你看没看完的,当点击提交那一刻,你就已经被标记为看完了。
后台记录是有了,可是截图呢?这里说说基于JavaScript来进行跳过视频的例子:
主角1:getElementById() 方法
document.getElementById(id)
> 定义和用法:getElementById() 方法可返回对拥有指定 ID 的第一个对象的引用
关于这个方法就不多讲了,详细请看我之前写的JavaScript知识点整理
主角2:currentTime 属性
//将时间位置设置为 5 秒: myVid=document.getElementById("video1"); myVid.currentTime=5;
> 定义和用法:currentTime 属性设置或返回音频/视频播放的当前位置(以秒计)。**当设置该属性时,播放会跳跃到指定的位置。**
**那么原理就很简单了,利用getElementById()获取到对应的视频对象,然后再设置currentTime实现定位视频位置(也就是拉进度条),就可以光速播放完了。**
- 确认后台记录了,也知道跳过视频的原理了,可是微信内置浏览器可不能调试啊?别急这里说最后一个原理——给你的微信开启X5内核
什么是x5内核,官方的解释是这样子的:
X5内核是腾讯基于优秀开源Webkit深度优化的浏览器渲染引擎,搭载在最新一代的手机QQ浏览器上,更快,更便捷。
但是我们不管他,只要知道在这里,x5内核就是让你的微信浏览页面的时候,可以进行调试如在电脑上按f12一样的效果。
为什么要调试嘞?当然是为了运行命令啊!!
实现
上面我们知道原理了,那么不废话直接来讲实现:
Step1 给你的微信装上X5内核
首先复制以下链接(放心,是腾讯提供的),发送到任意一个微信聊天界面,推荐文件传输服务就行,你要发好友也不是不可以。
第一步 debugmm.qq.com/?forcex5=true 第二步 http://debugtbs.qq.com 第三步 http://debugx5.qq.com
- 点击第一个链接,会提示
force use x5 switch is on
,然后关掉 - 点击第二个链接,会开始下载x5内核,下载完成后会进入调试页面,长这样子:
- 关掉调试页面,点击第三个链接进入X5调试页面,在信息页里点击开启vConsole调试功能,这个功能的作用就是可以让你的页面中进行调试代码,如下图:
Step2 执行代码
复制以下代码
document.getElementById('Bvideo').currentTime=300;
- 打开青年大学习的网页,填写好信息后点击开始学习,在视频播放的时候,点击左下角绿色的vConsole
在打开的控制台中输入刚刚的代码,点击OK。
大功告成!!
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
你好,我是中南财大的一名大三学生,我最近在自学计算机的知识,能请教一下您一些问题吗?我的qq是923631187,如果方便的话我也可以加您的qq
博主我想转载你这篇文章,我会在添加你的版权,可以吗?
Google play版本并不支持x5内核......
博主,这是啥主题,好好康,是您做的吗
这个是github一个开源项目喔,在原版的主题上做了一些魔改,仓库:https://github.com/mashirozx/Sakura
{{weixiao}} 一定要认真学习喔