21 lines
771 B
JavaScript
21 lines
771 B
JavaScript
|
// ie9- setTimeout & setInterval additional parameters fix
|
||
|
var global = require('./_global');
|
||
|
var $export = require('./_export');
|
||
|
var navigator = global.navigator;
|
||
|
var slice = [].slice;
|
||
|
var MSIE = !!navigator && /MSIE .\./.test(navigator.userAgent); // <- dirty ie9- check
|
||
|
var wrap = function (set) {
|
||
|
return function (fn, time /* , ...args */) {
|
||
|
var boundArgs = arguments.length > 2;
|
||
|
var args = boundArgs ? slice.call(arguments, 2) : false;
|
||
|
return set(boundArgs ? function () {
|
||
|
// eslint-disable-next-line no-new-func
|
||
|
(typeof fn == 'function' ? fn : Function(fn)).apply(this, args);
|
||
|
} : fn, time);
|
||
|
};
|
||
|
};
|
||
|
$export($export.G + $export.B + $export.F * MSIE, {
|
||
|
setTimeout: wrap(global.setTimeout),
|
||
|
setInterval: wrap(global.setInterval)
|
||
|
});
|