Javascript SCRIPT5007:IE浏览器上特别需要的对象

Javascript SCRIPT5007:IE浏览器上特别需要的对象,javascript,jquery,internet-explorer,Javascript,Jquery,Internet Explorer,我试着用下面的代码运行我的脚本。这似乎适用于Chrome、Firefox、Opera、Edge和Brave。我似乎无法让它与InternetExplorer11或更早版本一起工作 最初,当我创建脚本时,app.js中的一个函数的格式如下 function x() { fetch('example.domain') .then(blob => blob.json()) .then(data => obj = data) .then(function(y) {

我试着用下面的代码运行我的脚本。这似乎适用于Chrome、Firefox、Opera、Edge和Brave。我似乎无法让它与InternetExplorer11或更早版本一起工作

最初,当我创建脚本时,app.js中的一个函数的格式如下

function x() {
  fetch('example.domain')
    .then(blob => blob.json())
    .then(data => obj = data)
    .then(function(y) {
  <script src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
  <script src="https://code.jquery.com/ui/1.12.0/jquery-ui.min.js"></script>
  <script src="app.js"></script>
</head>
<body>
  <script>
    $(document).on('change', 'select', function () {
      if ($("#datepicker").datepicker("getDate") === null) {
        alert("You have not selected a date.");
      } else {
        x();
      }
    });

    $("#datepicker").show();

    $(function () {
      $('#datepicker').datepicker({
        onSelect: y,
        dateFormat: 'yy-mm-dd'
      });
    });
  </script>
然后我发现IE不支持
=>
操作符,并将此代码重构为

function x() {
  fetch('example.domain').then(function (blob) {
    return blob.json();
  }).then(function (data) {
    return obj = data;
  }).then(function (y) {
这段代码现在似乎运行良好。现在问题已经转移到index.html,在这里我试图在页面上显示jQuery datepicker元素。代码的格式是这样的

function x() {
  fetch('example.domain')
    .then(blob => blob.json())
    .then(data => obj = data)
    .then(function(y) {
  <script src="https://code.jquery.com/jquery-1.11.2.min.js"></script>
  <script src="https://code.jquery.com/ui/1.12.0/jquery-ui.min.js"></script>
  <script src="app.js"></script>
</head>
<body>
  <script>
    $(document).on('change', 'select', function () {
      if ($("#datepicker").datepicker("getDate") === null) {
        alert("You have not selected a date.");
      } else {
        x();
      }
    });

    $("#datepicker").show();

    $(function () {
      $('#datepicker').datepicker({
        onSelect: y,
        dateFormat: 'yy-mm-dd'
      });
    });
  </script>

我已经调查了jQuery的使用,它已经导入过一次。我已经对照ES6验证器检查了我的脚本,它看起来很好。jQuery是否使用了IE浏览器不支持的功能,或者我的代码完全格式错误?

在阅读了Rory McCrossan的评论后,我已经实现了。这使我可以在IE中使用
fetch()
函数。不需要对代码进行其他更改。

除非您使用的是您没有提到的polyfill,
fetch()
在任何版本的IE中都不受支持。此外,在jQuery逻辑中,您需要在document.ready处理程序中移动
show()
方法调用,但是这不会导致任何控制台错误。您是否可以发布足够的代码来重现问题,如中所示。我测试了您的代码(关于更改函数),似乎在我这方面一切都很好。您还可以尝试使用“$(function(){$(“select”).change(function(){alert(“Hello”);}”)来附加更改事件。