通过JS跳过青年大学习的实现原理

本文最后更新于:2020年6月2日 下午

富强、民主、文明、和谐,自由、平等、公正、法治, 爱国、敬业、诚信、友善。
富强、民主、文明、和谐,自由、平等、公正、法治, 爱国、敬业、诚信、友善。
富强、民主、文明、和谐,自由、平等、公正、法治, 爱国、敬业、诚信、友善。
爱我中华!!!!!!!!!!!!!!!!!


青年大学习还是很有意义的,一定要自觉哦,这方法是为了那些真的有bug看了好几遍都失败的同学准备的,不要用来直接跳过完成任务
本教程只是技术交流,禁止谋取不正当利益


原理

1.当点击“开始学习”,客户端和服务器之间的请求是这样子的:

1

从这里可以看出,当开始看视频的时候,服务器发送了一个 xxx.mp4 的视频过来,这个就是我们要看的视频啦。然后神奇的事情发生了:
直到看完,客户端都没有再返回数据到服务器

这说明了:
当提交表单(填写个人信息)的那一刻,页面进行跳转的时候,服务器就已经接受到你在看视频的请求了,所以后台是不知道你看没看完的,当点击提交那一刻,你就已经被标记为看完了。

2.后台记录是有了,可是截图呢?这里说说基于JavaScript来进行跳过视频的例子:

  • 主角1:getElementById() 方法
  • document.getElementById(id)

定义和用法:getElementById() 方法可返回对拥有指定 ID 的第一个对象的引用

  • 主角2:currentTime 属性
    1
    2
    3
    //将时间位置设置为 5 秒:
    myVid=document.getElementById("video1");
    myVid.currentTime=5;

    定义和用法:currentTime 属性设置或返回音频/视频播放的当前位置(以秒计)。当设置该属性时,播放会跳跃到指定的位置。

那么原理就很简单了,利用getElementById()获取到对应的视频对象,然后再设置currentTime实现定位视频位置(也就是拉进度条),就可以光速播放完了。

3.确认后台记录了,也知道跳过视频的原理了,可是微信内置浏览器可不能调试啊?别急这里说最后一个原理——给你的微信开启X5内核
什么是x5内核,官方的解释是这样子的:

X5内核是腾讯基于优秀开源Webkit深度优化的浏览器渲染引擎,搭载在最新一代的手机QQ浏览器上,更快,更便捷。

但是我们不管他,只要知道在这里,x5内核就是让你的微信浏览页面的时候,可以进行调试如在电脑上按f12一样的效果。
为什么要调试嘞?当然是为了运行命令啊!!

实现

  • Step1 给你的微信装上X5内核

  • 首先复制以下链接(放心,是腾讯提供的),发送到任意一个微信聊天界面,推荐文件传输服务就行,你要发好友也不是不可以。

    1
    2
    3
    4
    依次访问(看图):
    第一 debugmm.qq.com/?forcex5=true
    第二 http://debugtbs.qq.com
    第三 http://debugx5.qq.com

    2

  • 点击第一个链接,会提示force use x5 switch is on ,然后关掉

  • 点击第二个链接,会开始下载x5内核,下载完成后会进入调试页面,长这样子:

    3

  • 关掉调试页面,点击第三个链接进入X5调试页面,在信息页里点击开启vConsole调试功能,这个功能的作用就是可以让你的页面中进行调试代码,如下图:

    4

  • Step2 执行代码

  • 复制以下代码

  • document.getElementById('Bvideo').currentTime=300;

  • 打开青年大学习的网页,填写好信息后点击开始学习,在视频播放的时候,点击左下角绿色的vConsole

    5

  • 在打开的控制台中输入刚刚的代码,点击OK。

    6

  • 完成,你学废了嘛?

补充

1.如果不想答题把document.getElementById('Bvideo').currentTime=300;中的300这个数字往上调,不用担心系统检测部检测啥的,服务器只在提交信息表时有上传,也就是你的答案的正确与否,只有你自己知道。

2.点完三个连接后以后跳时不需要再填,只需要直接开始学习然后在控制台跳过就行啦。

声明:上述方法没有任何不良危害,这都是在遵循这些网页框架下的操作,系统是和你正常完成一样的。本人也在用这个方法。
当然:如果上面的方法用了还是觉得不够方便或者说没能实现,可以直接在手机的任务栏界面开启自动旋转,直接拉进度条,这个不管是安卓还是苹果都是可以的只不过方式不同。