优雅的方式包括对IE的es6承诺

cwt*_*uan 2 javascript promise ecmascript-6

由于Promise不支持的所有版本的IE,我想使IE用户下载pollyfill在HTML中.

<!--[if IE]>
<script src="//cdnjs.cloudflare.com/ajax/libs/es6-promise/4.1.1/es6-promise.min.js"></script>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)

但是,IE 10和11 不支持条件注释.因此上述代码在IE 10和11中不起作用.

然后,Microsoft提供了一种解决方法.

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9">
Run Code Online (Sandbox Code Playgroud)

这使得IE 10和11的行为类似于IE 9.

但我的网站只能在IE 10+中使用.所以这个解决方案不适合我.有没有其他方法可以解决这个问题?

Ber*_*rgi 10

只是用

<script>
    if (typeof Promise !== "function")
        document.write('<script src="//cdnjs.cloudflare.com/ajax/libs/es6-promise/4.1.1/es6-promise.min.js"><\/script>');
</script>
Run Code Online (Sandbox Code Playgroud)

这不仅适用于IE用户,而是适用于没有本机Promise实现的每个环境.