🥇【华医网小助手】全网唯一真实免费|无人值守|自动静音|视频助手|考试助手|不疲劳
// ==UserScript==
// @name 🥇【华医网小助手】全网唯一真实免费|无人值守|自动静音|视频助手|考试助手|不疲劳
// @namespace http://tampermonkey.net/
// @version 1.2.7
// @description ❌倍速播放✅视频助手✅屏蔽或者跳过课堂签到、提醒、疲劳✅考试助手(试错算法仅面向可多次提交的考试)✅双模选择:单刷视频or视频+考试🚑如果你想对脚本表示肯定或意见,可以通过赞赏码备注;如果要与我反复交流,则需移步到下载本脚本的页面,在“反馈”区留下意见或直接私信我。
// @author 二创作者:heihezi 原创作者:Dr.S如果你想对脚本表示肯定或意见,可以通过赞赏码备注;如果要与我反复交流,则需移步到下载本脚本的页面,在“反馈”区留下意见或直接私信我。
// @license AGPL License
// @match *://*.91huayi.com/course_ware/course_ware_polyv.aspx?*
// @match *://*.91huayi.com/course_ware/course_ware_cc.aspx*
// @match *://*.91huayi.com/pages/exam.aspx?*
// @match *://*.91huayi.com/pages/exam_result.aspx?*
// @match *://*.91huayi.com/*
// @grant none
// ==/UserScript==
var newupdate = "2025.3.31修正视频播放完成检测问题";
//更新历史
//■2025.3.31修正视频播放完成检测问题
//■2024.8.1网页布局和提示窗改版,调整检测逻辑;既然禁用倍速,不再显示变速按钮;得学分更快的双卫网小助手考试功能已开发完毕,正在优化缩短视频时间,完善后发布,欢迎天使投资人
//■2024.7.16因部分地区考试不用二维码,所以将进入考试的方式回滚到旧版本方便更多人使用,因此可能会导致部分全国通用版的用户依旧偶尔自动进入考试失败,以后再另行观察。感谢大家的意见
//■2024.7.14优化静音时间点;优化更新内容展示;优化播放逻辑,已完成的视频不再引起卡顿
//■2024.7.13优化进入考试的逻辑,不再依赖考试按钮
//■2024.7.11根据用户反馈,增加了登录界面关闭悬浮窗的按钮
//■2024.7.8增加了当前页面是否有对应代码的提示,增加了作者脚本的分享链接
//■2024.6.21智能检测剩余任务,以防有人直接看最后一节课导致脚本发呆
//■2024.6.19新增了从考试结果界面自动返回原课程的功能(官方网站改版,主动删除网页中的继续学习按钮)
//■2024.6.18针对华医网答题模块改版,已更新语法
//■2024.6.7根据赞赏和评论区反馈,修复了一种视频意外暂停的情况
//■2024.6.5增加视频过程中对温馨提示(疲劳)的检测
//■2024.6.3尝试修复CC播放器和保利威播放器加载事件bug
//■2024.4.28由于与用户无法取得联系,在页面上增加了反馈机制的说明
//■2024.4.15修复了不自动切换视频的问题(因网站版本限制,目前脚本倍速已失效)
//■2024.1.11在人脸识别页面增加温馨提醒,考试功能仅为答案遍历,而非自动搜索答案
//■2023.12.25添加了网页静音代码,润物细无声
//■2023.12.24优化了倍速调整的逻辑,无需刷新网页
//■2023.12.21将脚本控制台上移到显眼的位置,方便用户操作;增加生效的倍速按钮变色(删除了原先的文字提醒)
//■2023.12.15新增模式切换,可以选择先单刷视频(无人值守),刷完再打开考试开关,就可以连续考试了
//■2023.12.3优化了视频播放逻辑,能够自动切换下一个视频,而不是播完1个就卡在考试认证处(也导致了不修改代码就无法进入考试)
//■2023.12.1调整默认播放速度5倍(仅首次登录起效,后续以用户更改过的倍速保存),免得用户感觉不到脚本在运行
(function () {
'use strict';
var submitTime = 6100;//交卷时间控制
var reTryTime = 2100;//重考,视频进入考试延时控制
var examTime = 10000;//听课完成进入考试延时
var randomX = 5000;//随机延时上限
var vSpeed = 1; //首次使用脚本的默认播放速度
var autoSkip = false; //一个可能会封号的功能。
//记录字段
var keyPlayRate = "JJ_Playrate";
var keyTest = "JJ_Test";
var keyResult = "JJ_Result";
var keyThisTitle = "JJ_ThisTitle";
var keyTestAnswer = "JJ_TestAnswer";
var keyRightAnswer = "JJ_RightAnswer";
var keyAllAnswer = "JJ_AllAnswer";
//按钮样式
var btstyleA = "font-size: 16px;font-weight: 300;text-decoration: none;text-align: center;line-height: 40px;height: 40px;padding: 0 40px;display: inline-block;appearance: none;cursor: pointer;border: none;box-sizing: border-box;transition-property: all;transition-duration: .3s;background-color: #4cb0f9;border-color: #4cb0f9;border-radius: 4px;margin: 5px;color: #FFF;";
var btstyleB = "font-size: 12px;font-weight: 300;text-decoration: none;text-align: center;line-height: 20px;height: 20px;padding: 0 5px;display: inline-block;appearance: none;cursor: pointer;border: none;box-sizing: border-box;transition-property: all;transition-duration: .3s;background-color: #4cb0f9;border-color: #4cb0f9;border-radius: 4px;margin: 5px;color: #FFF;";
var btstyleC = "font-size: 12px;font-weight: 300;text-decoration: none;text-align: center;line-height: 20px;height: 20px;padding: 0 5px;display: inline-block;appearance: none;cursor: pointer;border: none;box-sizing: border-box;transition-property: all;transition-duration: .3s;background-color: #f15854;border-color: #f15854;border-radius: 4px;margin: 5px;color: #FFF;";
//页面判别
var urlInfos = window.location.href.split("/");
var urlTip = urlInfos[urlInfos.length - 1].split("?")[0];
var huayi = getHuayi();
var nspeed = 0;
var mmcode = `data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAFRlSURBVHhe7Z13nFXVtfi/+5zbp3cYOkN1AJWiYCMWrGhE7IotdhM1MU+Nmmji88VEn4YYA2KisaLk2VCRJoqACtKkl6FP7/fO7aes3x9z54a5M0NTE/N77/v5oLDXPufcc/baa6+9dlMiIvwf/2vRUhP+j/9d/J8C/C/nf40C7N69m/fee49IJJIqakckEmH27Nns3LkzVfT/J/K/ANu25eKLLxallLz55pup4na89dZbopSSCy64QGzbThUnOZDs34l/ewvw/vvvc99999HY2JgqaseZZ57JGWecwfDhw1NF7SgtLWXChAmcddZZKKVSxUmampq4//77eeedd1JF/16kasS/E6ZpysknnyxKKZkzZ06quB22bYtpmodUcy3LEsuyUpPbMX36dAFk9OjRYppmqvjfhn9rC6DrOo888gi/+c1vOOmkk1LF7ThQbU5F0zQ0retPIyIsWrQIgF69eh0w7/eeVI34vmCaptTW1n5rtWvXrl1y5plnypNPPnlIVuBARKNRKS0tFaWUPPvss6nidhiG8a2+x7fN91Z1X3/9dY466iiefvrpVFEHTNOksbER27ZTRUmWLVvG/PnzmTFjBrFYLFV8WDidTi677DLOPPNMJk6cmCpux4svvshRRx3F888/nyr6XvC9VYD6+nrq6+t56qmnqK2tTRW345lnnmHgwIHMmDEjVZQkMzMTpRT19fUH7QoeDE3TeOihh5gzZw69e/dOFbcjFothWRbRaDRV9P0g1SR8XygvL5f8/HxRSsnUqVNTxe248847BZATTzyxS1O7atUqcTgckpaWJvv27UsVf2cYhiHV1dVd/q5/Nd9bC1BcXMyll16KiPCnP/2JQCCQmiXJ2LFjUUqxZcsWGhoaUsUADB06lFtvvZWf/OQndOvWLVUMCeeuurr6gM86HCzLQtd1ioqK0HU9Vfz9IFUj/hnYti3hcPigtWLDhg2SlpYmmqbJzJkzU8VJdu3aJenp6aLrusydOzdVnMS27QM6gBs2bJD8/HwZP368GIaRKj4sPv74Yzn55JPl7bffThV1wLIsiUQiB/xt3xX/EguwbNkySktL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S0vbXQ9QVlbG/fffj2VZTJw4kVtuuaVdzdM0jaeeeop58+Zx++23J9OVUtx5551s3ryZiRMnJtOHDh1KaWkpZ511VnLnzYyMDM4//3xKS0uTIVeA8ePHo+s65eXlbNmyJZlOIhJ6/vnn8/LLL3co5IqKCvbu3csvf/lLVq5cmUw3Y34qv3wGrPYVYH+U7sThzSFUvY76DW9gBKtILx7ZwdIrbOrWvkqkeVeK5PA4YgWwbZvnnnuOU045hVdffZU33nij3dp+EeH111/n7LPP5oMPPqBbt26ceOKJDBkyhLVr13LNNddw7733Eo/HcbvdnXYJw+Ewt956K/X19fTs2ZP//u//7rCbhohQWFjIaaed1kGmaRput7vdfQcMGJA8gautqXE4HEybNo2VK1cmN6omoSw9e/bENE0++uijdgW9YsUKPvroIx588MGk39DGzTffzMCBA2lububhhx9OhGqFhi0fYPj30FXDLQCaE83hwYoHwYpjRVtweHNbjUWKokksQM2al1tXLR8hR6wAoVCIX//61zQ1NdGrVy+mT5+eLEQR4YsvvuDmm29GKcWMGTNYs2YNCxcuZPny5cydO5c+ffowdepUpk2blnprSBTs008/zSeffILL5WLq1KkdjqH74IMPuOiii9r1CEhc+8Ybb/Dggw/i9/vbyUhMqUp14hwORwdl8Xq9nHnmmZA4y2d/BTjjjDMoKCigsrKSV155JZkOUFxczPTp0+nTpw89evRAKYVtRmnY/H6nVr8NJeDO6o1yeIkHKhCxMcINePIGkDngbByZvf6xSQWgFAR2L8GMNra7z+FwxArg8/m46667uPPOO5PnArd9PBHh97//PbFYjKeffpobbriBtLQ0dF3H5XLxgx/8gFmzZpGens7TTz9NS0tL6u2pr69PdiGnTJnCD3/4w9QszJ49m/fee4/Fixe3S29sbOSuu+7id7/7XfK49oNRV1fHk08+2c5kK6WSkcra2tp2gy7FxcXceOONkGgOUpuB0047jS1btjB9+nQ0TRELVGAG9iakbYWooXly0L356GlFpPU+iV4/uJ9Y815ClWtQItStexOF0Ovk/2Dw5BfI6HNyO/sh8QCB8n/85sPlkANBh0NDQwMDBw4kOzs7uZihsbGRd999l1NOOYUBAwYkw8KzZs3i448/7tDt8/v9TJw4EYfDwaxZszo9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`
var clock = null;
advis();
document.querySelector("span[id='tixing']").innerHTML = "当前网址已适配ヾ(๑╹◡╹)ノ"<br>失效请赞赏联系  ε(┬┬﹏┬┬)3";
if (urlTip == "course_ware_polyv.aspx") { //保利威播放器视频页面
console.log("当前任务: 华医看视频");
document.querySelector("div[id='Div1']").style.top = "40px";
huayi.seeVideo(1);
} else if (urlTip == "course_ware_cc.aspx") { //CC播放器视频页面
console.log("当前任务: 华医看视频");
document.querySelector("div[id='Div1']").style.top = "40px";
huayi.seeVideo(2);
} else if (urlTip == "exam.aspx") { //考试页面
console.log("当前任务: 华医考试");
huayi.doTest();
} else if (urlTip == "course.aspx" || urlTip == "cme.aspx") { //课程列表页面
console.log("当前任务: 课程列表");
huayi.courseList();
} else if (urlTip == "exam_result.aspx") { //考试结果页面
console.log("当前任务: 华医考试结果审核");
huayi.doResult();
} else {
console.log("其它情况");
try {
document.querySelector("span[id='tixing']").innerHTML = "此页面非视频、考试或未适配<br>失效请赞赏联系  ε(┬┬﹏┬┬)3";
document.querySelector("img[id='Pic']").style.display = "block";
} catch (error) { };
};
function getHuayi() {
return {
courseList: function () {
addAnwserCopybtn();
DelAllAnwser();
},
seeVideo: function (e) {
var tr = localStorage.getItem(keyPlayRate);
//console.log("存储读取" + tr);//读取倍速
//var playRateNow = tr ? tr : vSpeed;
var playRateNow = 1;
cleanKeyStorage();
asynckillsendQuestion();//屏蔽课堂问答的函数;
killsendQuestion2();//屏蔽课堂问答的函数2;
killsendQuestion3(); //循环检测问答对话框是否弹出。
// addrateinfo();//插入一些按钮
// addratebtn(1);
// addratebtn(1.5);
// addratebtn(2);
// addratebtn(3);
// addratebtn(5);
// addratebtn(10);
//addSkipbtn();//跳过按钮
addinfo();//脚本信息
changelayout();
//速度调节部分
window.onload = function () {
localStorage.setItem(keyThisTitle, JSON.stringify(window.document.title));//储存章节标题
// console.log("准备激活加速");
ratechg(playRateNow);
if (autoSkip == true) {//秒过功能,签完别尝试
setTimeout(function () {
skipVideo();
}, (submitTime + Math.ceil(Math.random() * randomX)));
console.log("秒过了!");
};
clock = setInterval(examherftest, 3000);//阿み杰此处要改11才能考试,循环法用examherftest检测考试按钮是否能点击
// try {
// videoObj.onended = function () {
// console.log("播放完成,准备进入考试");
// // if (document.querySelector("a[id='mode']").innerText != "当前模式:视频+考试\n[点击此处切换]") {
// clickexam();//阿み杰不想考试
// // };
// };
// } catch (error) { console.log("播放器1检测错误"); }
switch (e) {
case 1:
window.s2j_onPlayerInitOver()
{
// console.log("polyv加载完毕,静音,稍后尝试触发一次播放");
player?.j2s_setVolume(0);
document.querySelector("video").defaultMuted = true;
setTimeout(function () {
try {
//document.querySelector("video").volume = 0;//实际测试,主要靠这一条静音
player.j2s_resumeVideo();
//document.querySelector("video").muted = true;
examherftest();
//document.querySelector("button[onclick='closeBangZhu()']").click();//关闭温馨提醒
} catch (error) {
console.log("上一段代码有误");
};
}, 8000); //延时点击播放,之前是5秒
};
killsendQuestion3();
break;
case 2:
window.on_CCH5player_ready()
{
//console.log("CCplayer加载完毕,静音,稍后尝试触发一次播放");
cc_js_Player?.setVolume(0);
document.querySelector("video").defaultMuted = true;
setTimeout(function () {
try {
//document.querySelector("video").volume = 0;//实际测试,主要靠这一条静音
cc_js_Player.play();
//document.querySelector("video").muted = true;
examherftest();
//document.querySelector("button[onclick='closeBangZhu()']").click();//关闭温馨提醒
} catch (error) {
console.log("上一段代码有误");
};
}, 8000); //延时点击播放,之前是5秒
};
break;
default:
console.log("其他播放器?");
};
};
},
doTest: function () {
var questions = JSON.parse(localStorage.getItem(keyTest)) || {};
var qRightAnswer = JSON.parse(localStorage.getItem(keyRightAnswer)) || {};
if (JSON.stringify(qRightAnswer) == "{}") {
qRightAnswer = LoadRightAnwser();
};
var qTestAnswer = {};
var index = 0;
while (true) {
var question = document.querySelectorAll("table[class='tablestyle']")[index];
if (question == null) break;
else {
var q = question.querySelector(".q_name").innerText.substring(2).replace(/\s*/g, "");//问题的具体文本
//thisQuestions=thisQuestions+q+"@"
if (qRightAnswer.hasOwnProperty(q)) { //当查询到记录了正确答案时的操作
//console.log("问题:"+ q + ",有答案:"+ qRightAnswer[q]);
var rightSelection = findAnwser("tbody", index, qRightAnswer[q]) //返回答案选项label
rightSelection.click();
} else {
if (questions.hasOwnProperty(q)) {
questions[q] = getNextChoice(questions[q]);//通过Unicode数字+1切换到下一个选项,返回的是字母选项
//console.log("不知道答案:"+ q+",测试:"+questions[q]);
} else { //如果系统没有记录
questions[q] = "A";
};
var answer = getChoiceCode(questions[q]);//将字母选项转换为Unicode数字并减去A代表的65,等于选项顺序,0是第一个选项
var element = document.querySelectorAll("tbody")[index].getElementsByTagName("label")[answer];//获取到的是4-5个选项的数组answer等于选项顺序,0是第一个选项
//document.querySelector("#gvQuestion_rbl_" + index + "_" + answer + "_" + index);
if (!element) { //选项除错机制
console.log("找不到选项,选项更改为A index: " + index + " answer: " + answer);
questions[q] = "A";
answer = getChoiceCode("A");
element = document.querySelectorAll("tbody")[index].getElementsByTagName("label")[answer];//获取到的是4-5个选项的数组answer等于选项顺序,0是第一个选项
//document.querySelector("#gvQuestion_rbl_" + index + "_" + answer + "_" + index);
//localStorage.removeItem(keyTest)
};
try {
var answerText = element.innerText.substring(3);//"A、"占用3个字符
//console.log("测试语法:" + (answerText == element.innerText.trim().substring(2)));
//element.nextSibling.innerText.trim().substring(2); //获得当前答案文本
qTestAnswer[q] = answerText;
//console.log("qTestAnswer:"+error);
} catch (error) { console.log("答案文本获取失败A:" + error); };
element.click();
};
index = index + 1;
};
};
//存储相关记录
localStorage.setItem(keyTest, JSON.stringify(questions));
localStorage.setItem(keyTestAnswer, JSON.stringify(qTestAnswer));
setTimeout(function () {
document.querySelector("#btn_submit").click();
}, (submitTime + Math.ceil(Math.random() * randomX))); //交卷延时
///专用函数区
function findAnwser(qakey, index, rightAnwserText) {
var answerslist = document.querySelectorAll(qakey)[index];
var arr = answerslist.getElementsByTagName("label");
for (var i = 0; i < arr.length; i++) {
//console.log(arr[i].innerText);
if (arr[i].innerText.substring(3) == rightAnwserText) {
//if (arr[i].innerText.trim().substring(2) == rightAnwserText) {
return arr[i];
};
};
};
function getChoiceCode(an) { //用于获取选项字符编码
var charin = an || "A";
return charin.charCodeAt(0) - "A".charCodeAt(0);
};
function getNextChoice(an) { //用于获取下一个选项字符
var code = an.charCodeAt(0) + 1;
return String.fromCharCode(code);
};
///专用函数区结束
},
doResult: function () {
//var res = document.getElementsByTagName("b")[0].innerText;
//var dds = document.getElementsByTagName("dd");
var res = $(".tips_text")[0].innerText;
var dds = $(".state_cour_lis");
localStorage.removeItem(keyResult);//移除错题表缓存
if (res == "考试通过" || res == "考试通过!" || res == "完成项目学习可以申请学分了") { //考试通过
console.log("考试通过");
//localStorage.setItem(keyResult, "");//记录最后一次答对的题目。
saveRightAnwser();//记录最后一次答对的题目。
SaveAllAnwser(); //存储所有记录的答案
cleanKeyStorage();//如果通过清理答案
// var next = document.querySelector('input[class="state_lis_btn"][value="待考试"]');
//if (next) {
setTimeout(function () {
var site = window.location.href;
site = site.replace("pages/exam_result.aspx?cwid", "course_ware/course_ware_polyv.aspx?cwid");
fetch(site)//测试原来的视频页是否存在
.then(response => response ? window.location.href = site : window.location.href = site.replace("pages/exam_result.aspx?cwid", "course_ware/course_ware_cc.aspx?cwid"))
.catch(error => console.error('考后回不到视频网址:', error));
//next.click();
}, 1000);//下一节课延时
//};
} else { //考试没过
console.log("考试未通过")
document.querySelector("p[class='tips_text']").innerText = "本次未通过,正在尝试更换答案\r\n(此为正常现象,脚本几秒后刷新,请勿操作)"
var qWrong = {};
for (var i = 0; i < dds.length; ++i) {
if (!dds[i].querySelector("img").src.includes("bar_img")) {//这里表示否定
qWrong[dds[i].querySelector("p").title.replace(/\s*/g, "")] = i
};
};
if (qWrong != {}) {
localStorage.setItem(keyResult, JSON.stringify(qWrong));
saveRightAnwser();
setTimeout(function () {
$("input[type=button][value='重新考试']").click();
}, (reTryTime + Math.ceil(Math.random() * randomX)) * 1);
//重新考试
};
};
},
};
};
//---------------------------------全局函数区------------------------------//
//答案记录函数区开始//
function SaveAllAnwser() {//保存历史题目答案
var qAllAnswer = JSON.parse(localStorage.getItem(keyAllAnswer)) || {};
var qRightAnswer = JSON.parse(localStorage.getItem(keyRightAnswer)) || {};
var qTitle = JSON.parse(localStorage.getItem(keyThisTitle)) || "没有记录到章节名称";
var qOldAnswer = qAllAnswer[qTitle] || {};
for (var q in qRightAnswer) {
qOldAnswer[q] = qRightAnswer[q];
};
qAllAnswer[qTitle] = qOldAnswer;
if (qAllAnswer != null) {//保存正确答案
localStorage.setItem(keyAllAnswer, JSON.stringify(qAllAnswer));
};
};
function LoadRightAnwser() {//加载历史题目答案
var qAllAnswer = JSON.parse(localStorage.getItem(keyAllAnswer)) || {};
//var qRightAnswer = JSON.parse(localStorage.getItem(keyRightAnswer)) ||{};
var qTitle = JSON.parse(localStorage.getItem(keyThisTitle)) || "没有记录到章节名称";
if (qTitle == "没有记录到章节名称") {
console.log("没找到章节名称");
return {};
};
var qOldAnswer = qAllAnswer[qTitle] || {};
return qOldAnswer
};
function saveRightAnwser() { //记录本次测试到的正确答案
var qRightAnswer = JSON.parse(localStorage.getItem(keyRightAnswer)) || {};
var qTestAnswer = JSON.parse(localStorage.getItem(keyTestAnswer)) || {};
var qkeyTest = JSON.parse(localStorage.getItem(keyTest)) || {};
//错题表
var qWrongs = JSON.parse(localStorage.getItem(keyResult)) || {};
for (var q in qTestAnswer) {
//debugger;
var iswrong = false;
if (!qWrongs.hasOwnProperty(q)) { //当查询到记录了正确答案时的操作
console.log("正确的题目:" + q + ",答案:" + qTestAnswer[q]);
qRightAnswer[q] = qTestAnswer[q];
} else { console.log("错误的题目:" + q + ",答案:" + qTestAnswer[q]); };
};
localStorage.removeItem(keyTestAnswer);//清理临时记录
if (qRightAnswer != null) {//保存正确答案
localStorage.setItem(keyRightAnswer, JSON.stringify(qRightAnswer));
};
};
//答案记录函数区结束//
//答案复制相关按钮
function addAnwserCopybtn() {//插入答案复制按钮
let alink = document.createElement("a");
alink.innerHTML = '显示已记录答案';
alink.style = btstyleB;
alink.onclick = function (event) {
var qAllAnswer = JSON.parse(localStorage.getItem(keyAllAnswer)) || {};
var Aout = JSON.stringify(qAllAnswer, null, "\t")
//Aout=encodeURIComponent(Aout);
//window.prompt("请复制",Aout);
if (document.getElementById("AnwserOut")) {
document.getElementById("AnwserOut").innerHTML = Aout;
} else {
let textout = document.createElement("textarea");
textout.id = "AnwserOut";
textout.innerHTML = Aout;
textout.rows = 20;
textout.cols = 30;
document.getElementById("main_div").parentNode.append(textout);
};
};
document.getElementById("main_div").parentNode.append(alink);
};
function DelAllAnwser() {//插入清除答案按钮
let alink = document.createElement("a");
alink.innerHTML = '清除已记录答案';
alink.style = btstyleB;
alink.onclick = function (event) {
var r = confirm("确定清除历史答案?!");
if (r) {
localStorage.removeItem(keyAllAnswer);
};
};
document.getElementById("main_div").parentNode.append(alink);
};
//答案复制相关按钮 end
function skipVideo() {//这是跳过视频的代码
var oVideo = document.getElementsByTagName('video')[0];
if (oVideo) {
oVideo.currentTime = oVideo.duration - 1
};
};
function clickexam() { //延时点击考试按钮。
console.log("已点击考试按钮");
setTimeout(function () {
document.querySelector("#jrks").click();
}, (Math.ceil(Math.random() * randomX)));
//}, (examTime + Math.ceil(Math.random() * randomX)));
};
//按钮插入函数相关
function addSkipbtn() {//插入按钮快进视频按钮
let alink = document.createElement("a");
alink.innerHTML = '快进视频';
alink.style = btstyleA;
alink.onclick = function (event) {
skipVideo();
};
document.querySelector("div[id='jj']").parentNode.append(alink);
};
function addratebtn(ra) {//倍率调整按钮
let alink = document.createElement("a");
alink.innerHTML = '' + ra + 'x';
alink.style = btstyleB;
alink.className = "speed";
alink.id = ra + "x";
alink.onclick = function (event) {
ratechg(ra);
try {
var arr = document.querySelectorAll("a[class='speed']");
arr.forEach(function (item, index, arr) {
arr[index].style = btstyleB;
});
} catch (error) {
};
alink.style = btstyleC;
};
document.querySelector("div[id='jj']").parentNode.append(alink);
}
function ratechg(ra) {//倍率调整
var videoObj = document.querySelector("video")
try {
clearInterval(nspeed);
nspeed = setInterval(() => {
videoObj.playbackRate = ra;
}, 1 * 1000);
localStorage.setItem(keyPlayRate, ra);
//document.querySelector("a[id=" + "'" + ra + "x']").style = btstyleC;
//document.getElementById("playrate").innerHTML = "当前播放速率" + ra + "x";
//console.log("倍率调整为" + ra);
} catch (error) { console.log("倍率调整错误" + error); };
};
function addrateinfo() {//插入说明
let adiv1 = document.createElement("div");
adiv1.innerHTML = '当前播放速率';
adiv1.id = 'playrate';
adiv1.style = "font-size: 15px;text-align: center;margin-top: 10px;";
document.querySelector("div[id='jj']").parentNode.append(adiv1);
};
function addinfo() {//插入说明
//模式切换按钮
var moderesult = localStorage.getItem("华医mode");
if (moderesult == 2) {
moderesult = "当前模式:视频+考试";
} else {//包括了结果为1或者无存储的情况
moderesult = "当前模式:单刷视频";
};
var checkbox = document.createElement('div');
checkbox.innerHTML = '<a id="mode" class="btn btn-default" style="background-color: rgba(184, 247, 255, 0.7);font-size:22px;" >' + moderesult + '<br> [点击此处切换]</a > ';
// 添加到页面的 body 元素中
document.querySelector("div[id='jj']").parentNode.append(checkbox);
//插入说明部分
let mode1 = document.querySelector("a[id='mode']");
mode1.onclick = function () {
if (mode1.innerText == "当前模式:单刷视频\n[点击此处切换]") {
mode1.innerText = "当前模式:视频+考试\n[点击此处切换]";
localStorage.setItem("华医mode", "2");
} else {
mode1.innerText = "当前模式:单刷视频\n[点击此处切换]";
localStorage.setItem("华医mode", "1");
};
};
let adiv2 = document.createElement("div");
adiv2.innerHTML = '       继承维护❤❤<br><h3>     刷完视频再切换考试模式,即可连续考试。</h3>';
adiv2.id = 'jsinfo';
adiv2.style = "position:relative;left:10px;top:5px;width:240px;font-size:13px;text-align: justify;border: 1px dashed #ff9595;padding:5px;";
document.querySelector("div[id='jj']").parentNode.append(adiv2);
$('div:contains("观看视频完成后,才能进入考试")').eq(-1).text('建议360安全浏览器和脚本猫');
};
function changelayout() {
document.querySelector("div[id='jj']").remove();
document.querySelector("img[id='photo']").outerHTML = `<img id="photo" alt="" src="` + mmcode + `" style="width: 120px; height: 120px;">`;
document.querySelector("img[id='photo']").style.width = "120px";
document.querySelector("img[id='photo']").style.height = "120px";
document.querySelectorAll("div[class='title']")[0].children[0].style = "color: #ff0000;font-weight: bold";
document.querySelectorAll("div[class='title']")[0].children[0].innerText = "支持作者";
document.querySelector("div[class='imgtext']").children[1].style.width = "125px";
document.querySelector("div[class='imgtext']").children[1].style = "color: #ff0000;padding-top:10px";
document.querySelector("div[class='imgtext']").children[1].innerText = "作 者\n创作优化不易\n投点小费吧\n❤谢啦❤\n❤"
//document.querySelector("div[class='imgtext']").children[1].style.left = "10px";
document.querySelector("div[class='top']").outerHTML = '<div class="top" style="padding-top: 6px;font-size:18px;color: #ff0000;">如服务器调整,脚本可能失效。反馈意见、免费增加课程请在Greasyfork私信或脚本反馈区联络。也欢迎投喂↓</div>';
// document.querySelector("div[id='jxmb']").innerHTML = "如果你想对脚本表示肯定或意见,可以通过赞赏码备注;如果要与我反复交流,则需移步到下载本脚本的页面,在“反馈”区留下意见或直接私信我。<br><br>       由于脚本工作原理是根据当前网址决定是否运行代码,所以网址未适配则将不运行;页面改版也可能导致脚本报错不运行。这类问题与我交流是有解决可能性的,业余时间可免费受理。";
// document.querySelector("div[id='jxmb']").style.fontSize = "14px";
// if (document.querySelector(".coent .l .videolist .bnt1_0") != null) {
// document.querySelector(".coent .l .videolist .bnt1_0").style.backgroundImage = "url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAABsCAIAAAAdev4BAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkMwMkVFQjM1MDUyRTExRUZCNTIyRUVGNEI2NjBBRUIyIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkMwMkVFQjM2MDUyRTExRUZCNTIyRUVGNEI2NjBBRUIyIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzAyRUVCMzMwNTJFMTFFRkI1MjJFRUY0QjY2MEFFQjIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QzAyRUVCMzQwNTJFMTFFRkI1MjJFRUY0QjY2MEFFQjIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7h7g0VAAAHHElEQVR42uxa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')";
// document.querySelector("#bnt1 > div > h4").remove();//删除教学目标里的子标题“教学目标”
// } else {
// console.log("无教学目标");
// };
};
function cleanKeyStorage() {//缓存清理
localStorage.removeItem(keyTest);
localStorage.removeItem(keyResult);
localStorage.removeItem(keyTestAnswer);
localStorage.removeItem(keyRightAnswer);
};
function examherftest() {//考试按钮激活状态检测
var hreftest = document.getElementById("jrks").attributes["disabled"];
var state = document.querySelectorAll("i[id='top_play']")[0].parentNode.nextElementSibling.nextElementSibling.nextElementSibling.innerText;
//console.log("测试考试" + hreftest);
if (state == "已完成" || state == "待考试" || !hreftest) {//value不为#说明考试按钮已经激活
console.log("已经播放完了");
if (document.querySelector("a[id='mode']").innerText.indexOf("视频+考试") != -1 && state == "待考试") {
console.log("mode=2,阿み杰准备进入考试");
try {
clickexam();//阿み杰不想考试
} catch (error) {
console.log("扫码进入考试");
window.open("/pages/exam_tip.aspx?cwrid=" + cwrid, "_self");
};
} else {
if (document.querySelector("a[id='mode']").innerText.indexOf("视频+考试") != -1) {
console.log("mode=2,本节课已完成");
} else {
console.log("mode=1,准备单刷视频");
};
//自动播放下一个视频的
const targetElements = document.querySelectorAll("i[id='top_play']");
const parentElement = targetElements[0].parentElement;
const grandparentElement = parentElement.parentElement;
const lis = document.querySelectorAll("li[class='lis-inside-content']");
var index = Array.from(lis).findIndex(li => li === grandparentElement);//找出当前页面是第几个课程
console.log(index);
if (index + 2 <= document.querySelectorAll("li[class='lis-inside-content']").length) {
index += 2;
console.log("新的Index:" + index);
document.querySelector("#top_body > div.video-container > div.page-container > div.page-content > ul > li:nth-child(" + index + ") > h2").click();
setTimeout(function () {
document.evaluate("//button[contains(., '知道了')]", document, null, XPathResult.ANY_TYPE).iterateNext().click();
}, 2000);
} else {
// 尝试点击第一个按钮
if ($('button:contains("未学习")').length > 0) {
$('button:contains("未学习")').siblings().eq(0).click();
} else if ($('button:contains("学习中")').length > 0) {
// 如果第一个按钮没有找到,尝试点击第二个按钮
$('button:contains("学习中")').siblings().eq(0).click();
} else if ($('button:contains("待考试")').length > 0 && document.querySelector("a[id='mode']").innerText.indexOf("视频+考试") != -1) {
// 如果前两个按钮都没有找到,尝试点击第三个按钮
$('button:contains("待考试")').siblings().eq(0).click();
} else {
// 如果所有按钮都没有找到,执行其他操作或者提示用户
console.log('没有找到任何按钮');
clearInterval(clock);
// 或者执行其他逻辑
};
};
};
} else {//#代表考试按钮还没激活
//继续播放,无需任何操作
};
};
//课堂问答跳过,临时版
function sleep(timeout) {
return new Promise((resolve) => { setTimeout(resolve, timeout); });
console.log("课堂问答循环调用");
};
function asynckillsendQuestion() {
(async function () {
while (!window.player || !window.player.sendQuestion) {
await sleep(20);
};
//console.log("课堂问答跳过插入");
player.sendQuestion = function () {
//console.log("播放器尝试弹出课堂问答,已屏蔽。");
};
})();
};
function killsendQuestion2() {
if (typeof (isInteraction) == "undefined") {
//console.log('变量未定义');
} else {
console.log('isInteraction设置off');
isInteraction = "off";
};
};
function killsendQuestion3() { //点击跳过按钮版的跳过课堂答题
var clockms = setInterval(async function () {
try {
if ($('.pv-ask-head').length && $('.pv-ask-head').length > 0) {
console.log("检测到问题对话框,尝试跳过");
$(".pv-ask-skip").click();
};
} catch (err) {
console.log(err);
};
try {
if ($('.signBtn').length && $('.signBtn').length > 0) {
console.log("检测到签到对话框,尝试跳过");
$(".signBtn").click();
};
} catch (err) {
console.log(err);
};
try {
if ($("button[onclick='closeProcessbarTip()']").length && $("button[onclick='closeProcessbarTip()']").length > 0 && $("div[id='div_processbar_tip']").css("display") == "block") {
console.log("检测到温馨提示对话框(不能拖拽),尝试跳过");//
//*[@id="div_processbar_tip"]/div/div[2]/input
//document.querySelector("#div_processbar_tip > div > div.foot_sub > input")
//#div_processbar_tip > div > div.foot_sub > input
//<input type="button" value="知道了" class="rig_btn" onclick="$('#div_processbar_tip').hide();">
$("button[onclick='closeBangZhu()']").click();
$("button[onclick='closeProcessbarTip()']").click();
};
} catch (err) {
console.log(err);
};
try {
if ($("button[class='btn_sign']").length && $("button[class='btn_sign']").length > 0) {
console.log("检测到温馨提示对话框(疲劳提醒),尝试跳过");
$("button[class='btn_sign']").click();
};
} catch (err) {
console.log(err);
};
try {
if ($('.rig_btn').length && $('.rig_btn').length > 0) {
if ($('#div_processbar_tip').is(':visible')) {
console.log("检测到按钮(知道了),执行隐藏操作");
$('#div_processbar_tip').hide();
}
//$(".rig_btn").click();
};
} catch (err) {
console.log(err);
};
try {
var state = document.querySelectorAll("i[id='top_play']")[0].parentNode.nextElementSibling.nextElementSibling.nextElementSibling.innerText;
if ($('video').prop('paused') == true && state != "已完成" && state != "待考试") {
console.log("视频意外暂停,恢复播放");
$('video').get(0).play();
$('video').prop('volumed') = 0;
$('video').prop('muted') = true;
} else if (state == "已完成") {
document.querySelector("video").pause();
//clearInterval(clockms);
};
} catch (err) {
//console.log(err);
};
}, 10000);
};
function advis() {
let div1 = document.createElement("div");
div1.innerHTML = `
<div id='Div1' style="max-width:220px;text-align:left;padding: 10px 10px;font-family:微软雅黑;font-size:20px;float: left;position:fixed;top:140px;left: 140px;z-index: 99999; background-color: rgba(184, 247, 255, 0.7); overflow-x: auto;">
<span id='clo' style="float: right;position: absolute;top:14px;right:5px;cursor:pointer;font-size:16px">❎</span>
<div style="font-size:22px;font-weight:bolder;color:red;">华医网小助手</div>
<hr style="margin-top: 10px;margin-bottom: 10px;">
<span id="tixing" style="font-size:16px;font-weight:normal;color:black;text-align:left;">当前页面无代码!!!</span><br>
<img id="Pic" style = "display:none;width:auto;height:220px;object-fit: contain;" src="`+ mmcode + `";>
<br>
<span style="font-size:18px;font-weight:bold;color:black;">其他脚本</span><br>
<a id='Share1' class='spe' style="font-size:16px;font-weight:bold;color:red;cursor:pointer;">👉 好医生小助手</a><br>
<a id='Share2' class='spe' style="font-size:16px;font-weight:bold;color:red;cursor:pointer;">👉 成都继教医学教育平台</a><br>
<a class='spe' style="font-size:16px;font-weight:normal;color:black;white-space:pre-wrap;">😁</a>
<a id='update' class='spe' style="font-size:14px;font-weight:normal;color:black;white-space:pre-wrap;">最近更新:<br>`+ newupdate + `</a><br>
</div> `;
document.body.append(div1);
let share1 = document.querySelector("a[id='Share1']");
let share2 = document.querySelector("a[id='Share2']");
let clo = document.querySelector("span[id='clo']");
share1.onclick = function () {
window.open("https://greasyfork.org/zh-CN/scripts/500010", "_blank");
};
share2.onclick = function () {
window.open("https://greasyfork.org/zh-CN/scripts/494635", "_blank");
};
clo.onclick = function () {
document.querySelector("div[id='Div1']").style.display = "none";
};
};
function autoClickKnowButton() {
// 检测按钮是否加载完成
const observer = new MutationObserver(() => {
const button = document.querySelector("input.rig_btn[value='知道了']");
if (button) {
observer.disconnect(); // 停止观察
button.click(); // 点击按钮
}
});
// 开始观察文档的变化
observer.observe(document.body, {
childList: true,
subtree: true
});
// 如果按钮已经加载完成,直接点击
const button = document.querySelector("input.rig_btn[value='知道了']");
if (button) {
button.click();
}
}
//---------------------------------全局函数区end------------------------------//
})();