乾豪选课系统快速选课技巧
本文最后更新于 2623 天前(2016-3-16),其中的信息可能已经有所发展或者不再适用于现阶段。
本文全长 1043 字,全部读完大约需要 3 分钟。
今天学校选课,使用的是乾豪选课系统,服务器慢的跟闪电 flash 一样。咱为了选课一中午没睡觉。鉴于有很多同学没有选上想上的课甚至没有选上课,在这里为大家讲讲怎样快速选课。
登录以后我们可以看到四个板块:分别是四个 iframe。
当然了,很有可能他们没有全部加载出来。不过没关系,这时候不必全部加载出来,我们看到第二象限显示的是课程列表,因此只要第二象限加载出来了就可以了。
如果第二象限没有加载出来,我们采用局部刷新的方法把它刷出来。
如果大家看代码的话可以看到课程被单击时的事件和具体的实现方法:
var ins_CourseNO = "";
function QueryTaskInfo(CourseNO, TD_ID, CourseModelID) {
var CourseTable = document.getElementById("CourseTable"); //当前表格的ID
if (ins_CourseNO == CourseNO) {
return;
}
ins_CourseNO = CourseNO;
var CouseColor;
CouseColor = "#FFFFFF";
for (var i = 1; i < CourseTable.rows.length; i++) {
CourseTable.rows[i].bgColor = CouseColor;
if (CouseColor == "#FFFFFF") {
CouseColor = "#F2FFFD";
} else {
CouseColor = "#FFFFFF";
}
}
var CourseRow = document.getElementById("ID" + TD_ID); //当前选中行的ID
CourseRow.bgColor = '#FFFF66';//当前选中的行
var MajorLevel = parent.document.all["h_MajorLevel"].value;
var GradeYear = parent.document.all["h_GradeYear"].value;
var MajorNO = parent.document.all["h_MajorNO"].value;
var IfNeed = parent.document.all["h_IfNeed"].value;
parent._Task.location.href = 'XK_GETTASKINFOBYCOURSE.XKAPPPROCESS?Time=' + Math.random() + '&CourseNO=' + CourseNO + '&MajorLevel=' + MajorLevel + '&GradeYear=' + GradeYear + '&MajorNO=' + MajorNO + '&CourseModelID=' + CourseModelID + '&IfNeed=' + IfNeed;
parent.huanyuanTRTask();
parent.huanyuanTRCourse();
// return true
}
也就是说,当被单击以后 第三象限的 url 就被重置为了你选择的那门课。此时如果第三象限没有显示出来(连接被重置网页走丢了服务器拒绝了请求之类),只需要不断的用刚才的方法刷新第三象限。不要再管第二象限了,更不要刷新整个网页。
<td align="center" nowrap onClick="Query('432644','1') ></td>
var ins_TaskID = "";
function Query(TaskID, TD_ID) {
var TaskTable = document.getElementById("TaskTable"); //当前表格的ID
var CouseColor;
if (ins_TaskID == TaskID) {
return;
}
ins_TaskID = TaskID;
CouseColor = "#FFFFFF";
for (var i = 1; i < TaskTable.rows.length; i++) {
TaskTable.rows[i].bgColor = CouseColor;
if (CouseColor == "#FFFFFF") {
CouseColor = "#F2FFFD";
} else {
CouseColor = "#FFFFFF";
}
}
var TaskRow = document.getElementById("ID" + TD_ID); //当前选中行的ID
TaskRow.bgColor = "#FFFF66′;//当前选中的行
document.all["TaskID"].value = TaskID;
parent.RefreshTaskTurn(TaskID);
// parent.DispXKResult(TaskID);
}
同理,选择了老师再刷第一象限,直到第一象限刷出来为止。
现在最重要的部分,这里有个选择按钮。
点击了选择按钮以后,我们看看会发生什么事:
<img name="selTrue" src="images/anniu-1.gif" width="72" height="20" border="0" onclick="selPutMesage('431083','书法','张宝','null')">
function selPutMesage(TaskID, CourseNO, TeacherNO, BranchName) {
var delFalse, drawFalse;
delFalse = false;
drawFalse = false;
if (("0" == "1")
|| ("0" == "2")) {
if (("1" != "0")
&& ("0" != "")) {
if ("1" == "1") {
alert("该课程只对女生开放,不能选择!");
} else {
alert("该课程只对男生开放,不能选择!");
}
return (1);
}
}
if (confirm('课程名称: ' + CourseNO + ' \n任课教师: ' + TeacherNO + ' \n\n上课校区:' + BranchName + ' \n注意:请不要选择不在本校区上课的课程\n\n确实要选择本课程吗?')) {
document.all['selTrue'].style.visibility = 'hidden';
if (delFalse) {
document.all['delTrue'].style.visibility = 'hidden';
}
if (drawFalse) {
document.all['drawTrue'].style.visibility = 'hidden';
}
SelectCourseInfo(TaskID);
}
function SelectCourseInfo(XKTaskID) {
//._Task.location.href='XK_GETTASKINFOBYCOURSE.XKAPPPROCESS?Time='+Math.random()+'&CourseNO='+CourseNO;
parent.mainFrame.location.href = 'XK_SELECTCOURSE.XKAPPPROCESS?Time=' + Math.random() + '&XKTaskID=' + XKTaskID;
}
function DelectCourseInfo(XKTaskID) {
parent.mainFrame.location.href = 'XK_DELETECOURSE.XKAPPPROCESS?Time=' + Math.random() + '&XKTaskID=' + XKTaskID;
}
function DrawCourseInfo(XKTaskID) {
parent.mainFrame.location.href = 'XK_DRAWCOURSE.XKAPPPROCESS?Time=' + Math.random() + '&XKTaskID=' + XKTaskID;
}
function DispTaskTurn(XKTaskID) {
location.href = 'XK_DISPTASKTURN.XKAPPPROCESS?Time=' + Math.random() + '&XKTaskID=' + XKTaskID;
}
}
也就是说,它重定向了第四象限,所以当你点了选择以后,如果没选上 不要再在意第一象限 去专心刷第四象限就可以了。
同时,我们注意到,在整个过程中,并没有向服务端传递学号等信息。也就是说是服务端依赖于 session 之类实现的,看来在选课之前绕过登录直接获取课程信息是没指望了。
但是,只要按照咱教的方法,一定能够快速地选上心仪的课程哦!同时,有一个好的电脑和浏览器也是很重要的 推荐大家使用 Chrome 浏览器。