ES6 / ES2015旧浏览器中的Javascript不兼容(Edge 13,IE11等)

时间:2017-10-23 21:40:53

标签: javascript internet-explorer microsoft-edge

我有一个Javascript <script>代码段(在这里尝试:https://apploitech.github.io/embed-snippets)执行document.write(...),它将一堆html和javascript函数写入DOM。

其中一个Javascript函数执行此操作:

&#13;
&#13;
document.addEventListener("DOMContentLoaded", function() {
  console.log("DOMContentLoaded calling renderJobs");
  renderJobs(null, true, 1);
});
&#13;
&#13;
&#13;

适用于大多数浏览器(Chrome,Safari,Edge 14/15),但在以下浏览器中,消息Expected ')'显示在IE / Edge Developer Tools控制台中(如下面的屏幕截图所示) :

  1. Edge 13或以下
  2. IE11或以下
  3. 调试的任何想法或最佳方法?我试着像1499那样显示错误消息,但没有任何与)相关的内容。谢谢!

    IE 11 Developer Tools console

1 个答案:

答案 0 :(得分:1)

默认参数是ES6 / ES2015规范的一部分。

<强>解决方案:

function createPaginationButton(pagination_bar, page_num, isAppend) {
  if(isAppend === undefined) {
      isAppend = true;
   }
  ...
}

这是旧版浏览器不支持的代码段中的原始函数声明:

function createPaginationButton(pagination_bar, page_num, isAppend = true) {
    console.log("createPaginationButton(): page_num = " + page_num);
    var page_num_box = document.createElement("a");
    page_num_box.innerHTML = page_num;
    ...
    ...
}