【问题标题】:How to debug js loaded in ajax request in Chrome DevTools如何在 Chrome DevTools 中调试 ajax 请求中加载的 js
【发布时间】:2018-11-13 13:22:49
【问题描述】:

实际上,我是 Google Chrome DevTools 的忠实粉丝,但它的学习领域非常广阔。我对此了解不多。我知道如何调试点,搜索(Ctrl+Alt+F)和调试等基本的东西。

但是在我的一个项目中(它在 asp.net MVC 中),它在 Ajax 请求中请求不同的视图,并且在这些视图中加载了一些 js。我想调试它们,但我做不到。实际上我不知道在哪里可以看到它们——尤其是在 ajax 调用之后加载的 JS(它不是内联 javascript,而是一个单独的 js 文件)。

我发现的一种解决方法是 - 如果我在该 js 文件中放入 1 个“debugger;”,那么它会以一些 VM3012 或具有不同数字的类似名称打开。然后只有我可以看到文件。但是我发布代码时无法放置调试器。

任何知道的人请帮忙。

非常感谢您的阅读。

编辑

根据第一个答案,我已经尝试过,但我可以看到普通 JS 文件的“在源面板中打开”选项。但在我的情况下,我的请求是将一些查询字符串传递给 js 文件,例如 assets/components/utility/mycustom.js?_=1528282662460,我无法看到此类请求的选项。感谢您提供此帮助,但需要更多帮助。

【问题讨论】:

    标签: javascript google-chrome google-chrome-devtools


    【解决方案1】:

    我知道已经 3 年了,但是......

    您可以通过在代码上方添加以下内容来命名动态加载文件中的一段javascript代码:

    // # sourceURL=my-file-name.js
    

    通过这样做,这段 javascript 将在源面板的文件树中可用,也可以通过 DevTools 的 CTRL+P 快捷方式找到。

    【讨论】:

      【解决方案2】:

      转到开发工具的网络选项卡。可以通过js文件过滤,帮你找到需要的文件。右键单击所需的文件,然后选择在源面板中打开。您现在应该可以按照习惯将断点放在您喜欢的位置。

      【讨论】:

      • 很抱歉,当右键单击“网络”选项卡中的文件时,我无法看到“在源代码面板中打开”..
      • 我正在运行 OSX 10.13.4 和 chrome 66。
      • 你也可以看看这个似乎相关的答案:stackoverflow.com/questions/27513157/…
      • 我已经为您的参考编辑了我的问题。
      • 在 XHR 类型的 javascripts 文件中没有出现在源面板中打开选项
      猜你喜欢
      • 2012-02-10
      • 2016-03-11
      • 1970-01-01
      • 2017-09-30
      • 2011-07-14
      • 1970-01-01
      • 2021-08-05
      • 2011-08-02
      • 1970-01-01
      相关资源
      最近更新 更多