在页面加载中,我触发了一个函数,这个函数应该会打开一个lightbox。在Chrome,FF,Opera,Edge和Safari中,一切都按照它的意图工作。然而,在IE11中并非如此。我在控制台中没有收到警告或错误,所以我不知道我在这里做错了什么。
我将下面的代码简化为必要的代码。在Chrome (和其他浏览器)中,控制台日志从1到3再到2。在IE11中,我只得到1,我不知道为什么不是3或2。我认为这与bind()有关,但似乎支持。
我必须承认,我对构造函数、原型和绑定非常陌生。
constructor(el) {
this.$el = $(el);
console.log('1');
this.getLocation = getLocation.bind(this);
this.loadLB();
console.log('2');
}
loadLB() {
const url = new URL(window.location.href);
console.log('3');
this.getLocation('url');
}发布于 2020-11-06 11:16:42
你在使用ConstructorMethod吗?IE也不支持它。我不知道你有没有使用过一些多边形填充来让它在IE11中工作。
此外,IE不支持URL() constructor。您可以添加此polyfill以使URL()在IE 11中工作:
<script src="https://cdn.polyfill.io/v2/polyfill.min.js"></script>

https://stackoverflow.com/questions/64697855
复制相似问题