由于<div>
在所有IE版本中都是not support,我想让IE用户下载HTML格式的pollyfill。
Promise
然而,IE 10和11中的conditional comments are not supported。因此上述代码在IE 10和11中不起作用。
然后,Microsoft提供了一种解决方法。
<!--[if IE]>
<script src="//cdnjs.cloudflare.com/ajax/libs/es6-promise/4.1.1/es6-promise.min.js"></script>
<![endif]-->
这使得IE 10和11的行为与IE 9相似。
但我的网站仅适用于IE 10+。所以这个解决方案不适合我。 有没有其他方法可以解决这个问题?
答案 0 :(得分: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>
不仅适用于IE用户,而且适用于没有本地Promise
实现的每个环境。
答案 1 :(得分:0)
没有外部脚本
var lPromise = function(handler) {
if (typeof Promise === "function")
return new Promise(handler);
var self = this;
self._handler = handler;
this.then = function(onFulfilled, onRejected) {
this._handler(onFulfilled, onRejected);
}
return self;
}
this.Promise = function(handler) {
return new lPromise(handler);
}