【问题标题】:Internet Explorer 11 script errors pointing to wrong fileInternet Explorer 11 脚本错误指向错误的文件
【发布时间】:2020-09-11 22:37:12
【问题描述】:

我很难在 Internet Explorer 11 中找到错误代码行,因为控制台指向错误的资源(指向 HTML 而不是 JS 代码)。我怎么可能找出真正的问题在哪里?

控制台错误

SCRIPT1003 是“预期的 ''”,SCRIPT1028 将是“预期的标识符、字符串或数字”)

错误所指的代码行

第 4 行和第 5 行:

第 12 行:

【问题讨论】:

  • 我认为问题与元标记无关,也许您使用了不正确的文字语法来声明对象文字,请尝试检查您的 javascript 代码,确保您使用正确的文字语法。此外,您能否发布足够的代码(或创建 codepen sample )以重现 Minimal, Complete, and Verifiable example 中的问题?
  • @ZhiLv-MSFT 感谢您的评论。是的,我检查过我没有对函数声明使用任何简写语法。我也会创建一个 MRE,但如前所述,控制台没有指向任何可能包含问题的代码。整个应用程序有大约 30 个不同的 <script> 标签,所以我不能用小提琴或钢笔发布它。

标签: internet-explorer-11 javascript-debugger ie11-developer-tools


【解决方案1】:

将此答案留给我自己的问题,这样其他人也可能会遇到同样的问题。

如果在加载初始页面后异步加载任何脚本文件,则控制台中报告的文件名将指向执行资源加载的文件。就我而言,我使用了 JQuery 的 $.getScript() 方法来处理任务:

  translationInitHandler.initialise(function() {
    store.commit('setTranslation', window.defaultTranslationHandler.getCatalogueTranslations());
    $.getScript('../src/app/report-template/warning.app.js');
    $.getScript('../src/app/report-template/list.app.js');
    $.getScript('../src/app/report-template/authorize.app.js');
    $.getScript('../src/app/report-template/edit-configure.app.js?3');
  }, false);

有趣的是,提到的行和列指的是加载脚本中的正确位置。在我的情况下,我(在 IE11 看来)在 Vue 应用程序中包含一个无效属性:

window.createApp = new Vue({
  el: '#create-view',
  store, // triggers IE error
  data: {
    ...
  },
  ...
});

【讨论】:

    猜你喜欢
    • 2023-03-02
    • 1970-01-01
    • 2015-06-14
    • 1970-01-01
    • 2014-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-29
    相关资源
    最近更新 更多