1
+ /*\
2
+ |*|
3
+ |*| IE-specific polyfill which enables the passage of arbitrary arguments to the
4
+ |*| callback functions of JavaScript timers (HTML5 standard syntax).
5
+ |*|
6
+ |*| https://developer.mozilla.org/en-US/docs/DOM/window.setInterval
7
+ |*|
8
+ |*| Syntax:
9
+ |*| var timeoutID = window.setTimeout(func, delay, [param1, param2, ...]);
10
+ |*| var timeoutID = window.setTimeout(code, delay);
11
+ |*| var intervalID = window.setInterval(func, delay[, param1, param2, ...]);
12
+ |*| var intervalID = window.setInterval(code, delay);
13
+ |*|
14
+ \*/
15
+
16
+ if ( document . all && ! window . setTimeout . isPolyfill ) {
17
+ var __nativeST__ = window . setTimeout ;
18
+ window . setTimeout = function ( vCallback , nDelay /*, argumentToPass1, argumentToPass2, etc. */ ) {
19
+ var aArgs = Array . prototype . slice . call ( arguments , 2 ) ;
20
+ return __nativeST__ ( vCallback instanceof Function ? function ( ) {
21
+ vCallback . apply ( null , aArgs ) ;
22
+ } : vCallback , nDelay ) ;
23
+ } ;
24
+ window . setTimeout . isPolyfill = true ;
25
+ }
26
+
27
+ if ( document . all && ! window . setInterval . isPolyfill ) {
28
+ var __nativeSI__ = window . setInterval ;
29
+ window . setInterval = function ( vCallback , nDelay /*, argumentToPass1, argumentToPass2, etc. */ ) {
30
+ var aArgs = Array . prototype . slice . call ( arguments , 2 ) ;
31
+ return __nativeSI__ ( vCallback instanceof Function ? function ( ) {
32
+ vCallback . apply ( null , aArgs ) ;
33
+ } : vCallback , nDelay ) ;
34
+ } ;
35
+ window . setInterval . isPolyfill = true ;
36
+ }
0 commit comments