javascript - Internet Explorer 中的 Javascript/Jquery 错误
问题描述
我已经用 chrome 完成了大部分编程调试我的网站,最近在 Internet Explorer 中查看了结果。我得到的错误没有出现在 chrome 中。我相信我在堆栈溢出时从其他已接受的答案中获得了这些代码片段。他们可以得到的任何帮助都将不胜感激。我确实做了一些研究,但 Internet Explorer (11) 解决方案对我来说并不是立竿见影的
解决方案
图片中的错误都是由于 IE 不支持 ES6/ES7 语法造成的。如果您需要 Internet Explorer 11 中的 ES6 功能,请查看Babel等转译器。这里有一篇关于如何使用 babel 将 ES6 转换为 ES5 的文章,请查看。
- 箭头功能:
您应该使用 Bable 转换它或更改如下语法:
function sleep(ms) {
return new Promise(function (resolve) {
return setTimeout(resolve, ms);
});
}
- 承诺:
您可以参考this thread about making promise work in IE。您可以使用像Bluebird这样的 3rd 方承诺库。
您需要添加一个polyfill以使其在 IE 11 中工作:
if (!Object.entries) {
Object.entries = function( obj ){
var ownProps = Object.keys( obj ),
i = ownProps.length,
resArray = new Array(i); // preallocate the Array
while (i--)
resArray[i] = [ownProps[i], obj[ownProps[i]]];
return resArray;
};
}
- 异步功能:
您可以使用facebook/regenerator在 IE 11 中填充 async/await。
您可以按照以下步骤在 IE 11 中支持 async/await:
- 使用babel-preset-env
yarn add regenerator
或者npm install regenerator
- 添加
node_modules/regenerator-runtime/runtime.js (10.7kb minified)
到您的捆绑包中
推荐阅读
- c# - 文本叠加在另一个之上
- rundeck - 如何通过shell向rundeck rd程序提交参数
- mysql - MySQL UDF 返回“错误代码:1127。在库中找不到符号 'xx'”
- discord.js - 来自变量/字符串的 guild.members.get() 返回未定义
- firebase - Firebase 中的 Varnish 错误导致我的网站从 Google 索引中消失
- time - 在 OCaml 中以毫秒精度获取当前秒数
- python - 如何将双反斜杠替换为单反斜杠
- javascript - 在Node js中的功能之外无法访问外部IP
- javascript - JavaScript 中用于自定义构造函数的模块模式
- javascript - 如果数组元素存在于任何其他数组中,则禁用该数组元素