繁体   English   中英

Internet Explorer 中的 Javascript/Jquery 错误

[英]Javascript/Jquery Errors in Internet explorer

我已经用 chrome 完成了大部分编程调试我的网站,最近在 Internet Explorer 中查看了结果。 我得到的错误没有出现在 chrome 中。 我相信我在堆栈溢出时从其他已接受的答案中获得了这些代码片段。 他们可以得到的任何帮助都将不胜感激。 我确实做了一些研究,但 Internet Explorer (11) 解决方案对我来说并不是立竿见影的

睡觉

核心价值

异步

图片中的错误都是由于 IE 不支持 ES6/ES7 语法造成的。 如果您需要 Internet Explorer 11 中的 ES6 功能,请查看Babel等转译器。 这里有一篇关于如何使用 babel 将 ES6 转换为 ES5 的文章,请查看。

  1. 箭头 function

您应该使用 Bable 转换它或更改如下语法:

function sleep(ms) {
  return new Promise(function (resolve) {
    return setTimeout(resolve, ms);
  });
}
  1. Promise

你可以参考这个线程关于让 promise 在 IE 中工作。 您可以使用像Bluebird这样的第 3 方 promise 库。

  1. Object.entries()

您需要添加一个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;
  };
}
  1. 异步 function

您可以使用facebook/regenerator在 IE 11 中填充 async/await。

您可以按照以下步骤在 IE 11 中支持 async/await:

  • 使用babel-preset-env
  • yarn add regeneratornpm install regenerator
  • node_modules/regenerator-runtime/runtime.js (10.7kb minified)添加到你的包中

参考链接: 通过 3 个简单步骤为您的 Webapp 添加 ES7 Async/Await 支持

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM