説明と解決策はin the MDNです:
あなたがコールバック関数に引数を渡す必要がありますが、それ が送信をサポートしていませんInternet Explorerの中で作業する必要がある場合 のブラウザで HTML5標準パラメータの継承機能を有効にするこのIE固有の互換性コードを含めることができます(setTimeout()またはsetInterval両方のタイマーをスクリプトの先頭に挿入するだけです。
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;
}
これは私の時間か2にしましたなぜ私の外側スコープ変数wを理解する「未定義」とする。 Internet Explorerが最悪です! –