1234567891011121314151617181920 |
- // ie9- setTimeout & setInterval additional parameters fix
- var global = require('./_global');
- var $export = require('./_export');
- var userAgent = require('./_user-agent');
- var slice = [].slice;
- var MSIE = /MSIE .\./.test(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)
- });
|