javascript - 如何在浏览器的调试器本身中调试动态加载的 JavaScript(使用 jQuery)?

标签 javascript debugging dynamic loaded

动态添加的脚本未显示在浏览器调试器的脚本部分。

解释:

我需要用并且已经用过

if( someCondition == true ){
   $.getScript("myScirpt.js", function() {
       alert('Load Complete');
       myFunction();
   });
}

这样 myScript.js 就可以在满足某些条件时动态加载... 并且只有在加载整个脚本后才能调用 myFunction...

但是浏览器没有在调试器的脚本部分显示动态加载的 myScript.js。

是否有另一种方法可以实现所有目标,从而能够在浏览器本身中调试动态加载的脚本?

最佳答案

您可以为动态加载的脚本命名,以便它显示在 Chrome/Firefox JavaScript 调试器中。为此,您可以在脚本末尾添加注释:

//# sourceURL=filename.js

此文件随后将在“源”选项卡中显示为 filename.js。根据我的经验,您可以在名称中使用 ',但如果使用/',我会出现奇怪的行为。

因为如果没有指定域,filename.js 将出现在名为“(no domain)”的文件夹中,因此指定域可以方便地改善调试体验,例如查看可以使用的“自定义”文件夹:

//# sourceURL=browsertools://custom/filename.js

一个完整的例子如下:

window.helloWorld = function helloWorld()
{
  console.log('Hello World!');
}
//# sourceURL=browsertools://custom/helloWorld.js

更多信息见: Breakpoints in Dynamic JavaScript deprecation of //@sourceurl

关于javascript - 如何在浏览器的调试器本身中调试动态加载的 JavaScript(使用 jQuery)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9092125/

相关文章:

javascript - 减弱 jQuery Easing 的反弹

c# - 某些项目无法加载 PDB 文件

debugging - Google Maps SVG 图像标记图标未在 IE11 中显示

c++ - 使用共享库中的多态对象安全吗?

带有动态文本字段的 Flash 自定义字体

javascript - 定期更改 css 属性并将该值作为文本添加到 div 中

javascript - 如何使用新的可信类型 header 和 reCAPTCHA?

r - 在browser()中完成和继续之间有什么区别?

javascript - javascript中是否有任何方法/方式可以动态地将子节点添加到列表元素?

javascript - 我如何将 href 应用于整个 svg?