油猴脚本 from greasyfork
// ==UserScript==
// @name 富学宝典
// @namespace http://iedu.foxconn.com/
// @version 1.01
// @description 功能:1.实现富学宝典的后台播放,2.进入对应的页面自动播放视频
// @description 注意:1.部分浏览器会阻止视频自动播放,需要开发对应的权限,2.播放视频顺序是从上到下
// @author Hodge
// @license MIT
// @run-at document-end
// @match http://iedu.foxconn.com/public/user/playCourse?*
// @match http://iedu.foxconn.com/public/play/play*
// @match http://10.134.149.121/*
// @match https://iedu.foxconn.com/public/user/playCourse?*
// @match https://iedu.foxconn.com/public/play/play*
// @match https://10.134.149.121/*
// @icon https://video.fulearn.com/images/logo2.png
// ==/UserScript==
var lang = (navigator.systemLanguage ? navigator.systemLanguage: navigator.language);
//获取浏览器配置语言 #括号内是个运算,运算过后赋值给lang,当?前的内容为true时把?后的值赋给lang,为False时把:后的值赋给lang
var text = lang.substr(0, 2); //获取lang字符串的前两位
var status = 0;
if (text == 'zh') {status = 0;
} else {status = 1;
}(function() {Refresh();window.onload = readPdf();
})();async function readPdf() {//pdf自动阅读,临时解决办法,刷新iframelet j = 0;let i = 0;for (; j < document.getElementsByTagName("dd").length;) {if (status == 0) {if (document.getElementsByTagName("dd")[j].children[1].innerText != "已完成") {i = j;break;} else {++j;}} else {if (document.getElementsByTagName("dd")[j].children[1].innerText != "Finished") {i = j;break;} else {++j;}}}if(j == document.getElementsByTagName("dd").length ){alert("本章已全部完成!请手动切换到下一章。");return;}for (; i < document.getElementsByTagName("dd").length; i++) {//开始阅读pdfdocument.getElementsByTagName("dd")[i].click();console.log(document.getElementsByClassName("pdfwarp dpn").length);if (document.getElementsByClassName("pdfwarp dpn").length > 0) {document.getElementsByClassName("pdfwarp dpn")[0].children[2].click();if (document.getElementsByTagName("dd")[i].children[1].innerText != "已完成") {if (document.getElementsByTagName("video").length > 0) {break;}await sleep(3000);while (document.getElementsByTagName("dd")[i].children[1].innerText != "已完成") {console.log(document.getElementsByTagName("dd")[i].children[1].innerText);document.getElementById("pdf").contentWindow.document.getElementsByClassName("toolbarButton pageDown")[0].click();await sleep(1000);document.getElementById("pdf").contentWindow.document.getElementsByClassName("toolbarButton pageDown")[0].click();await sleep(1000);document.getElementById("pdf").contentWindow.document.getElementsByClassName("toolbarButton pageDown")[0].click();await sleep(1000);document.getElementById("pdf").contentWindow.document.getElementsByClassName("toolbarButton pageUp")[0].click();await sleep(1000);if(document.getElementsByTagName("dd")[i].children[1].innerText == "已完成") break;}} else if (document.getElementsByTagName("dd")[i].children[1].innerText != "Finished") {if (document.getElementsByTagName("video").length > 0) {break;}await sleep(3000);while (document.getElementsByTagName("dd")[i].children[1].innerText != "Finished") {document.getElementById("pdf").contentWindow.document.getElementsByClassName("toolbarButton pageDown")[0].click();await sleep(1000);document.getElementById("pdf").contentWindow.document.getElementsByClassName("toolbarButton pageDown")[0].click();await sleep(1000);document.getElementById("pdf").contentWindow.document.getElementsByClassName("toolbarButton pageDown")[0].click();await sleep(1000);document.getElementById("pdf").contentWindow.document.getElementsByClassName("toolbarButton pageUp")[0].click();await sleep(1000);if(document.getElementsByTagName("dd")[i].children[1].innerText == "Finished") break;}} else {if (document.getElementsByTagName("video").length > 0) {break;}continue;}}}if(i == document.getElementsByTagName("dd").length){alert("本章已全部完成!请手动切换到下一章。");return;}main();
}async function main() {'use strict';let video = document.getElementsByTagName("video");let i = 0;let j = 0;for (; j < document.getElementsByTagName("dd").length;) {if (status == 0) {if (document.getElementsByTagName("dd")[j].children[1].innerText != "已完成") {i = j;break;} else {++j;}} else {if (document.getElementsByTagName("dd")[j].children[1].innerText != "Finished") {i = j;break;} else {++j;}}}if(j == document.getElementsByTagName("dd").length ){alert("本章已全部完成!请手动切换到下一章。");return;}//隐藏视频上的账号信息if (document.getElementsByClassName("vjs-userName").length > 0) {document.getElementsByClassName("vjs-userName")[0].style.display = "none";document.getElementsByClassName("vjs-userName")[0].style.visibility = "hidden";document.getElementsByClassName("vjs-userName")[0].innerText = "";}//视频播放for (; i < document.getElementsByTagName("dd").length; i++) {document.getElementsByTagName("dd")[i].click(); //dianji(i,this); 调用网页中自带的函数video = document.getElementsByTagName("video");if(document.getElementById("pdf").style.display != "none"){readPdf();}if (status == 0) {if (video.length != 0 && document.getElementsByTagName("dd")[i].children[1].innerText != "已完成") {let id = video[0].getAttribute("id"); //realvideo_html5_apilet mp4 = document.getElementById(id);//设置默认为高清播放模式let select = document.getElementsByTagName("select")[0];for (let z = 0; z < select.options.length; ++z) {if (select.options[z].value == "hd") {select.options[z].selected = true;break;}}mp4.muted = true; //静音播放while (document.getElementsByTagName("dd")[i].children[1].innerText != "已完成") {console.log(document.getElementsByTagName("dd")[i].children[1].innerText);await sleep(1000)mp4.play();if(document.getElementsByTagName("dd")[i].children[1].innerText == "已完成") break;}}} else {if (video.length != 0 && document.getElementsByTagName("dd")[i].children[1].innerText != "Finished") {document.getElementsByTagName("dd")[i].click(); //dianji(i,this); 调用网页中自带的函数let id = video[0].getAttribute("id"); //realvideo_html5_apilet mp4 = document.getElementById(id);//设置默认为高清播放模式let select = document.getElementsByTagName("select")[0];for (let z = 0; z < select.options.length; ++z) {if (select.options[z].value == "hd") {select.options[z].selected = true;break;}}mp4.muted = true; //静音播放while (document.getElementsByTagName("dd")[i].children[1].innerText != "Finished") {console.log(document.getElementsByTagName("dd")[i].children[1].innerText);await sleep(1000)mp4.play();if(document.getElementsByTagName("dd")[i].children[1].innerText == "Finished") break;}}}}if(i == document.getElementsByTagName("dd").length){alert("本章已全部完成!请手动切换到下一章。");return;}
};
//刷新页面
function Refresh() {// Reload every 10 minutes to avoid video jamlet k2 = 0;for (; k2 < document.getElementsByTagName("dd").length;) {if (status == 0) {if (document.getElementsByTagName("dd")[k2].children[1].innerText != "已完成") {setTimeout(()=>{location.reload()},600000); //每10分钟重新加载一次,避免视频卡住break;} else {++k2;}} else {if (document.getElementsByTagName("dd")[k2].children[1].innerText != "Finished") {setTimeout(()=>{location.reload()},600000); //每10分钟重新加载一次,避免视频卡住break;} else {++k2;}}}if(k2 == document.getElementsByTagName("dd").length){alert("本章已全部完成!请手动切换到下一章。");}
}
//休眠等待
function sleep(time) {return new Promise((resolve)=>setTimeout(resolve, time));
}
参考
https://greasyfork.org/zh-CN/scripts?q=%E5%AF%8C%E5%AD%A6%E5%AE%9D%E5%85%B8
油猴脚本 from greasyfork相关推荐
- 油猴脚本第一家,网页网盘链接实时判断+资源搜索网站导航,资源重度患者的福利...
现在网络上找资源,资源都是存在百度网盘的,大家都知道,百度网盘链接失效的非常之多.遇到网盘链接我们都要一个一个点进去查看链接是否失效,这样操作费时又累人.这时这个油猴脚本就可以帮忙了.实时判断网页中百 ...
- 【油猴脚本 Greasemonkey】GM_xmlhttpRequest内部实现原理
好久没在CSDN发文章了,自从有了自己的网站,自己的想怎么折腾就怎么折腾,逐步的完善. 另一方面,技术上一直在吃老本,没什么进步,也没什么可发的. 最近在写一个Chrome浏览器扩展,了解到一个扩展和 ...
- 【教程、无技术含量】简单的油猴脚本编写教程
不建议阅读者: 前端大神 想要深入学习(涉及到分析挖掘调用网站中js算法/自己写算法)油猴脚本的读者[备注:楼主也不会,楼主也很绝望啊...] 阅读以下内容所需知识: javascript/jQuer ...
- Chrome插件与油猴脚本
Chrome插件与油猴脚本 简介 油猴脚本编写要点 简介 开发过Chrome插件的开发者,都会被Chrome插件的content,background(service),popup,inject 等各 ...
- Tampermonkey(油猴)脚本编写快速入门
目录 油猴脚本概述 脚本注释/注解 脚本权限 grant 添加新脚本 自定义网页倒计时 网页浏览离开黑屏保护 微博视频下载助手 华为云工作项列表突出展示工作项 Greasy Fork 发布脚本 油猴脚 ...
- 油猴脚本第一家,网页网盘链接实时判断+资源搜索网站导航,资源重度患者的福利... 1
现在网络上找资源,资源都是存在百度网盘的,大家都知道,百度网盘链接失效的非常之多.遇到网盘链接我们都要一个一个点进去查看链接是否失效,这样操作费时又累人.这时这个油猴脚本就可以帮忙了.实时判断网页中百 ...
- Tampermonkey油猴脚本开发视频教程-3.脚本配置和权限申请UserScript
视频和代码https://www.toolchest.cn/static/mv3.html 脚本头部2个"// ==UserScript=="之间编写脚本相关的配置信息和权限申请等 ...
- 油猴脚本推荐:讨厌广告的进,去除百度、360、搜狗、必应的广告和重复内容!广告害人,且用且珍惜
由于搜索引擎的特殊性,搜索引擎确实给我们带来了方便,但是你给我推荐大片大片的广告是几个意思~~ 退一步说,你们搜索引擎运行有成本,广告可以支持你们更好的维护产品,我们也能理解和接受!广告我不反对,垃圾 ...
- 自用chrome+油猴脚本,使用迅雷下载百度云大文件,一键离线下载
油猴是有名的火狐浏览器插件(Greasemonkey),当然也有Chrome版本(tampermonkey),甚至IE.Safari.Opera都有--虽然这些插件是由不同的开发者开发出来的,界面也可 ...
最新文章
- cent os mysql下载_Cent OS 6.4安装mysql
- 前端如何转换 schema 和 xml
- 微信小程序开发系列教程三:微信小程序的调试方法
- Quick Cocos2dx 场景转换问题
- 【HDU - 1937 】Finding Seats(二维前缀和+尺取法)
- [BUAA OO]第三次博客作业
- linux三剑客应用到工作中,LINUX 三剑客老大(AWK) 日常工作总结(示例代码)
- PCL之点特征直方图(PFH)
- Factory Method 工厂方法
- [转]网店博客营销之微博实战技巧:还没有做微博的掌柜看过来
- 学习LINQ,发现一个好的工具。LINQPad!!
- jquery ajax select 二级联动
- Python连接Access数据库详细步骤
- c语言除法计算和取模计算
- intel网卡驱动下载linux,Intel网卡驱动下载_万能英特尔网卡驱动_万能网卡驱动_5分享...
- 解决 Sketch 在MAC M1上运行卡顿等问题!
- 融云出海洞察,海外社交市场地区篇
- HTML / CSS / JS 编程入门 —— 使用 Lightly 制作可切换主题的简单网页
- 七段数码管的使用(使能端分时控制)
- 戴尔笔记本提示“您已插入低瓦数电源适配器 在bios设置中可以禁用此警告”