IE中setTimeout和setInterval不支持回调函数参数的解决方法

来源:互联网 发布:smartsvn linux 破解 编辑:程序博客网 时间:2024/06/07 15:57

在代码中假如一下代码

if (document.all && !window.setTimeout.isPolyfill) {  

       var __nativeST__ = window.setTimeout;  
       window.setTimeout = function (vCallback, nDelay /*, argumentToPass1, argumentToPass2, etc. */) {  
         var aArgs = Array.prototype.slice.call(arguments, 2);  
         return __nativeST__(vCallback instanceof Function ? function () {  
           vCallback.apply(null, aArgs);  
         } : vCallback, nDelay);  
       };  
       window.setTimeout.isPolyfill = true;  
     }  
        
     if (document.all && !window.setInterval.isPolyfill) {  
       var __nativeSI__ = window.setInterval;  
       window.setInterval = function (vCallback, nDelay /*, argumentToPass1, argumentToPass2, etc. */) {  
         var aArgs = Array.prototype.slice.call(arguments, 2);  
         return __nativeSI__(vCallback instanceof Function ? function () {  
           vCallback.apply(null, aArgs);  
         } : vCallback, nDelay);  
       };  
       window.setInterval.isPolyfill = true;  
     } 
0 0