您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Greasy Fork is available in English.
电信网大自动挂视频脚本。目前有两个功能,1:获取视频列表;2:自动播放视频,完成后进行下一个视频。
当前为
// ==UserScript== // @name 电信网上大学自动挂课脚本 // @namespace http://greasyfork.icu/zh-CN/scripts/452130 // @version 1.2 // @description 电信网大自动挂视频脚本。目前有两个功能,1:获取视频列表;2:自动播放视频,完成后进行下一个视频。 // @author mydiv // @match *://kc.zhixueyun.com/* // @grant none // @run-at document-end // ==/UserScript== (function () { var foundVideoNum = 0; var foundListNum = 0; var videoList = []; function autoPlay() { // 自动播放视频 setTimeout(function () { foundVideoNum++; var playdom = document.querySelector(".videojs-referse-btn"); if (playdom) { playdom.click(); getVideoInfo(); } else if (foundVideoNum <= 10) { autoPlay(); } else { console.log("没找到视频,应该不是播放页面"); } }, 1000); } function getVideoInfo() { // 获取视频信息 var vidiotime = document.querySelector(".vjs-duration-display").lastChild.wholeText.toString().trim(); var timeout = (Number(vidiotime.split(":")[0]) + 1) * 1000 * 60; setTimeout(function () { var playdom = document.querySelector(".anew"); if (playdom) { // 播放下个视频 autoPlayNextVideo(); } else if (JSON.parse(window.localStorage.getItem("123videoAutoPlay"))) { getVideoInfo(); } }, 1000); } function autoPlayNextVideo() { // 自动播放下一个 var videoList = JSON.parse(window.localStorage.getItem("123videoList")); var i = Number(window.localStorage.getItem("123videoIndex")); openVideo(i + 1, videoList); } /** * 打开视频 * @param i 循环开始序号 {number} * @param videoList 视频列表 {array} * @param bixiu 是否必修 {boolean} * @returns none */ function openVideo(i, videoList) { if (i == videoList.length) { alert("全部播放完成"); } else { var url = "https://kc.zhixueyun.com/#/study/course/detail/" + videoList[i].type + "&" + videoList[i].url + "/6/1"; window.localStorage.setItem("123videoIndex", i); // 当前播放的index window.open(url, "_blank"); } } function autogetList() { // 自动获取列表 setTimeout(function () { foundListNum++; var listWrapDom = document.querySelector(".subject-catalog"); if (listWrapDom) { formatList(); } else if (foundListNum <= 3) { autogetList(); } else { console.log("没找到列表,应该不是列表页面"); } }, 5000); } function formatList() { // 格式化列表 var listDom = document.querySelectorAll(".catalog-state-info"); videoList = []; var bixiudom = document.querySelector("#bixiu123"); if (listDom && listDom.length != 0) { listDom.forEach(function (oneList, index) { var oneListDom = oneList.querySelectorAll(".item"); oneListDom.forEach(function (item, index) { var itemBixiu = item.querySelector(".m-left.default-skin").classList.contains("is-required"); var bofang = item.querySelector(".iconfont.m-right.icon-wode_bofang") ? true : false; var bofangzhong = item.querySelector(".iconfont.m-right.icon-wode_bofangzhong") ? true : false; if (bixiudom.checked && itemBixiu && (bofang || bofangzhong)) { videoList.push({ url: item.getAttribute("data-resource-id"), type: item.getAttribute("data-section-type"), title: item.querySelector(".name-des").innerHTML, }); } else if (!bixiudom.checked && (bofang || bofangzhong)) { videoList.push({ url: item.getAttribute("data-resource-id"), type: item.getAttribute("data-section-type"), title: item.querySelector(".name-des").innerHTML, }); } }); }); var listCount123Dom = document.querySelector("#listCount123"); listCount123Dom.innerHTML = "文件个数" + videoList.length; window.localStorage.setItem("123videoList", JSON.stringify(videoList)); } } function loadListDom() { var mydiv = document.createElement("div"); mydiv.id = "mydiv123"; mydiv.style = "position: fixed;background:white;left: 5px;top: 5px;z-index: 1000000;box-shadow: 0px 0px 8px 2px #b5b5b547;height: 40px;line-height: 40px;"; mydiv.innerHTML = "<span id='startPlay123' style='margin: 20px;cursor: pointer;'>开始播放</span><input type='checkbox' name='bixiu123' id='bixiu123' style='vertical-align: top;height: 40px;line-height: 40px;'/><label for='bixiu123' style='margin-right:20px'>只看必修</label><span id='listCount123' style='margin-right:20px;'>文件个数</span>"; var body = document.querySelector("body"); body.append(mydiv); var startPlaydom = document.querySelector("#startPlay123"); var bixiu123dom = document.querySelector("#bixiu123"); startPlaydom.addEventListener("click", function () { window.localStorage.setItem("123videoAutoPlay", true); openVideo(0, videoList); }); bixiu123dom.addEventListener("change", function () { window.localStorage.setItem("123videoAutoPlay", true); formatList(); }); } function loadPlayDom() { var mydiv = document.createElement("div"); mydiv.id = "mydiv1234"; mydiv.style = "position: fixed;background:white;left: 5px;top: 5px;z-index: 1000000;box-shadow: 0px 0px 8px 2px #b5b5b547;height: 40px;line-height: 40px;"; mydiv.innerHTML = "<span id='stopPlay123' style='margin:10px;cursor: pointer;'>停止自动播放</span>"; var body = document.querySelector("body"); body.append(mydiv); var stopPlaydom = document.querySelector("#stopPlay123"); stopPlaydom.addEventListener("click", function () { window.localStorage.setItem("123videoAutoPlay", false); stopPlaydom.remove(); }); } function init() { if (window.location.href.includes("/study/subject/detail")) { // 列表页面 autogetList(); loadListDom(); } else if (window.location.href.includes("/study/course/detail")) { // 视频页面 if (JSON.parse(window.localStorage.getItem("123videoAutoPlay"))) { autoPlay(); loadPlayDom(); } } } init(); })();