我想有些人对这个 stange 错误很感兴趣,所以我会发布我所做的解决方法。我不是在说“解决方案”,也不是说我理解发生了什么,我只是说我意识到 IE 决定忽略哪些代码如此糟糕,以至于它不会加载整个脚本:
playerApi.prestoplayer.js 中的“play”方法如下所示:
play: function (url) {
var promise = this.player.play();
if (promise !== undefined) {
promise.then(() => {
// Autoplay started...
});
}
},
如果我有它,脚本将不会加载!现在得到这个:如果我评论 promise.then... 那么 IE 毕竟决定加载脚本!
play: function (url) {
var promise = this.player.play();
if (promise !== undefined) {
//promise.then(() => {
// // Autoplay started...
//});
}
},
如果我没有足够强调它,方法 play() 永远不会被调用!它只是在脚本中定义的,等待调用!
现在得到这个:
如果我像这样写一些完全疯狂的东西:
play: function (url) {
var promise = this.player.play();
if (promise !== undefined) {
xrtgrtgjtwrohjoirjthoojqtreoqoeigjoiqeo
}
},
IE没问题!它加载脚本,它不介意这个语法错误。但是如果我在脚本中使用“xxxx.then”,IE 就不想加载那个脚本!!!
希望这可以帮助某人并节省他们的神经、时间、金钱、婚姻状况等。