@@ -3,29 +3,52 @@ if (!window.place_holder_str) {
3
3
place_holder_str = '----------------------------------------------------------------' ;
4
4
}
5
5
6
- /**配置:自动启动延时 */
7
- let config_init_time = 2 * 1000 ;
8
-
9
6
/**配置:自动检测完成状态轮询时长 */
10
- let config_check_complete_time = 10 * 1000 ;
7
+ let config_check_complete_time = 15 * 1000 ;
11
8
12
9
/**配置:切换页码间隔基础时长 */
13
10
let config_switch_page_base_time = 1 * 1000 ;
14
11
12
+ /**配置:控制翻页函数每个课件的执行次数 */
13
+ let config_switch_page_btn_call_count = 3 ,
14
+ //当前课件翻页函数执行次数
15
+ curr_switch_page_btn_call_count = 3 ;
16
+
15
17
//控制台先引入JQuery,并启动自动刷课任务
16
- ; ( function ( d , s ) {
17
- d . body . appendChild ( s = d . createElement ( 'script' ) ) . src = 'http://code.jquery.com/jquery-1.9.1.min.js' ;
18
+ ; ( function ( document ) {
19
+ let script = document . createElement ( 'script' ) ;
20
+ if ( script . readyState ) {
21
+ // IE
22
+ script . onreadystatechange = function ( ) {
23
+ if ( script . readyState === 'loaded' || script . readyState === 'complete' ) {
24
+ script . onreadystatechange = null ;
25
+ callback ( ) ;
26
+ }
27
+ }
28
+ } else {
29
+ // 其他浏览器
30
+ script . onload = function ( ) {
31
+ callback ( ) ;
32
+ }
33
+ }
34
+ script . src = 'http://code.jquery.com/jquery-1.9.1.min.js' ;
35
+ document . body . appendChild ( script ) ;
18
36
37
+ //开始提示文字输出
19
38
console . clear ( ) ;
20
39
console . info ( place_holder_str ) ;
21
- console . info ( "即将进行授权检测并自动播放课件 ..." ) ;
40
+ console . info ( "正在加载JQuery,请等待加载完成 ..." ) ;
22
41
console . info ( `请注意以下事项:
23
42
1、保证浏览器已关闭同源策略
24
43
2、网课平台正常登录有效
25
- 3、已进入到课件播放页面(课件目录页不支持)
26
- ` )
44
+ 3、已进入到课件播放页面(课件目录页不支持)` ) ;
27
45
console . info ( place_holder_str ) ;
28
- setTimeout ( init , config_init_time ) ;
46
+
47
+ function callback ( ) {
48
+ console . log ( "JQuery加载完成,即将进行授权检测并自动播放课件..." ) ;
49
+ console . info ( place_holder_str ) ;
50
+ init ( ) ; //初始化
51
+ }
29
52
} ) ( document ) ;
30
53
31
54
/**
@@ -97,7 +120,7 @@ function getPageBtns() {
97
120
98
121
if ( btns ) {
99
122
if ( btns . length > 1 ) {
100
- console . log ( "本课件有 " + btns . length + " 页,将进行翻页 ..." ) ;
123
+ console . log ( "本课件有 " + btns . length + " 页,将进行第[" + ( config_switch_page_btn_call_count - curr_switch_page_btn_call_count ) + "次]翻页 ...") ;
101
124
} else {
102
125
console . log ( "本课件仅 " + btns . length + " 页,无需翻页..." ) ;
103
126
}
@@ -115,8 +138,9 @@ function nextCourseWare() {
115
138
116
139
if ( btn_next ) {
117
140
console . log ( place_holder_str ) ;
118
- console . log ( "播放下一个课件 ..." ) ;
141
+ console . log ( "切换下一个课件 ..." ) ;
119
142
btn_next . click ( ) ; //切换课件
143
+ curr_switch_page_btn_call_count = config_switch_page_btn_call_count ; //重置翻页函数执行次数限制
120
144
} else {
121
145
console . error ( "找不到 <下一个> 按钮..." ) ;
122
146
}
@@ -131,12 +155,24 @@ function switchPageBtn() {
131
155
console . log ( "第 " + i + " 页" ) ;
132
156
btns [ i - 1 ] . click ( ) ;
133
157
if ( i == btns . length ) {
134
- console . log ( "翻页完成,等待切换下一个课件 ..." ) ;
158
+ console . log ( "本次翻页完成,剩余[" + curr_switch_page_btn_call_count + "次],等待课件完成后切换下一个课件 ...") ;
135
159
}
136
160
} , i * config_switch_page_base_time ) ;
137
161
}
138
162
}
139
163
}
164
+ /**控制函数执行次数 */
165
+ function setFunCallMaxTimes ( fun , nextFun ) {
166
+ return function ( ) {
167
+ if ( curr_switch_page_btn_call_count -- > 0 ) {
168
+ // 执行函数
169
+ return fun . apply ( this ) ;
170
+ } else if ( nextFun && typeof nextFun === 'function' ) {
171
+ // 执行下一个函数
172
+ return nextFun . apply ( this ) ;
173
+ }
174
+ } ;
175
+ }
140
176
141
177
/**启动 */
142
178
function start ( ) {
@@ -147,7 +183,9 @@ function start() {
147
183
}
148
184
//课件未完成,则执行翻页
149
185
else {
150
- switchPageBtn ( ) ;
186
+ setFunCallMaxTimes ( switchPageBtn , function ( ) {
187
+ console . log ( "当前课件翻页次数已达上限[" + config_switch_page_btn_call_count + "次],不再翻页..." ) ;
188
+ } ) ( ) ;
151
189
}
152
190
} , config_check_complete_time )
153
191
}
0 commit comments