JavaScript设置超时不能在IE上工作

JavaScript设置超时不能在IE上工作,javascript,internet-explorer,settimeout,Javascript,Internet Explorer,Settimeout,预加载工作3sec,并显示站点内容。但在IE和MacBook中,预加载程序可以无限工作。。。我怎样才能解决这个问题 <div id="page-preloader"><span class="spinner"></span></div> <script> var waiting = new Promise(function (resolve) { setTimeout(resolve, 3000); }); waiting.t

预加载工作3sec,并显示站点内容。但在IE和MacBook中,预加载程序可以无限工作。。。我怎样才能解决这个问题

<div id="page-preloader"><span class="spinner"></span></div>

<script>
var waiting = new Promise(function (resolve) {
    setTimeout(resolve, 3000);
});
waiting.then(function () {
        var $preloader = $('#page-preloader'),
            $spinner = $preloader.find('.spinner');
        $spinner.fadeOut();
        $preloader.delay(350).fadeOut('slow');
    });

      </script>

IE设置超时与其他浏览器不同

Internet explorer中的参数指定myFunction中的代码是JScript、JavaScript还是VBscript请参见:MSDN。它的行为与其他浏览器不同

以下将起作用:

function myFunction(){
    var $preloader = $('#page-preloader'),
    $spinner = $preloader.find('.spinner');
    $spinner.fadeOut();
    $preloader.delay(350).fadeOut('slow');
});

setTimeout( (function(param) {
    return function() {
        myFunction(param);
    };
})(param) , 3000);
有关更多信息,请查看:

我努力了,但没有工作。var waiting=newpromisefunction resolve{setTimeoutfunction{myFunctionparam;},3000;};waiting.then函数{var$preload=$'page-preload',$spinner=$preload.find'.spinner';$spinner.fadeOut;$preload.delay350.fadeOut'slow';};