一直都知道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,就是循環(huán)5000次吧诬垂,所以作者給一個“無限循環(huán)刷課版”的名字。然后我們看它定義的參數(shù)很洋,就是courseArr
隧枫,就是兩個課的代碼谓苟,然后定義一個intId
协怒,其實就是直接執(zhí)行一個function,它直接先獲取frame孕暇,然后定義一個變量hasCheck
,其實是一個boolean參數(shù)隧哮,用來判斷到底勾選了課程沒有座舍,然后需要做的就是勾選所需要的課程了,只要所有希望選的課程都被Checked了曲秉,那么就直接自動點擊SureBtn
,應(yīng)該就是提交按鈕。