You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							28 lines
						
					
					
						
							1.1 KiB
						
					
					
				
			
		
		
	
	
							28 lines
						
					
					
						
							1.1 KiB
						
					
					
				var $ = require('../internals/export'); | 
						|
var global = require('../internals/global'); | 
						|
var userAgent = require('../internals/engine-user-agent'); | 
						|
 | 
						|
var slice = [].slice; | 
						|
var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check | 
						|
 | 
						|
var wrap = function (scheduler) { | 
						|
  return function (handler, timeout /* , ...arguments */) { | 
						|
    var boundArgs = arguments.length > 2; | 
						|
    var args = boundArgs ? slice.call(arguments, 2) : undefined; | 
						|
    return scheduler(boundArgs ? function () { | 
						|
      // eslint-disable-next-line no-new-func | 
						|
      (typeof handler == 'function' ? handler : Function(handler)).apply(this, args); | 
						|
    } : handler, timeout); | 
						|
  }; | 
						|
}; | 
						|
 | 
						|
// ie9- setTimeout & setInterval additional parameters fix | 
						|
// https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#timers | 
						|
$({ global: true, bind: true, forced: MSIE }, { | 
						|
  // `setTimeout` method | 
						|
  // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-settimeout | 
						|
  setTimeout: wrap(global.setTimeout), | 
						|
  // `setInterval` method | 
						|
  // https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-setinterval | 
						|
  setInterval: wrap(global.setInterval) | 
						|
});
 | 
						|
 |