一直都知道JavaScript很强大,但是需要找到一些有趣的目的,练一下手。
这是个抢课脚本,大概理解一下其中一段代码的思路:
///无限刷课版
var courseArr = [
'712064H',
'888888H'
];
var intId = setInterval(function () {
var frame = window.parent.frames.MainFrame;
frame.location.reload();
var hasCheck = false;
for (var i = courseArr.length - 1; i >= 0; i--) {
var course = null;
var sel = frame.document.getElementsByTagName('a');
for (var j = sel.length - 1; j >= 0; j--) {
if (sel[j].innerHTML == courseArr[i]) {
course = sel[j].parentNode.parentNode.getElementsByTagName('input')[0];
}
}
if (course && !course.disabled) {
course.checked = true;
hasCheck = true;
}
}
if (hasCheck) {
frame.document.getElementById('SureBtn').click();
clearInterval(intId);
}
}, 5000);
首先是理解一下最后一个5000,就是循环5000次吧,所以作者给一个“无限循环刷课版”的名字。然后我们看它定义的参数,就是courseArr
,就是两个课的代码,然后定义一个intId
,其实就是直接执行一个function,它直接先获取frame,然后定义一个变量hasCheck
,其实是一个boolean参数,用来判断到底勾选了课程没有,然后需要做的就是勾选所需要的课程了,只要所有希望选的课程都被Checked了,那么就直接自动点击SureBtn
,应该就是提交按钮。