动态添加的脚本不会显示在浏览器调试器的脚本部分中。
解释:
我需要使用并且已经使用过
if( someCondition == true ){
$.getScript("myScirpt.js", function() {
alert('Load Complete');
myFunction();
});
}
这样 myScript.js 可以在满足某些条件时动态加载...
只有在加载整个脚本后才能调用 myFunction...
但浏览器不会在调试器的脚本部分显示动态加载的 myScript.js。
是否有另一种方法可以实现所有目标,从而使人们能够在浏览器本身中调试动态加载的脚本?
您可以为动态加载的脚本指定一个名称,以便它显示在 Chrome/Firefox JavaScript 调试器中。为此,您可以在脚本末尾添加注释:
//# sourceURL=filename.js
然后,该文件将在“源”选项卡中显示为filename.js
。根据我的经验,您可以在名称中使用 's,但如果使用 /'s,我会得到奇怪的行为。
因为如果没有指定域filename.js
将出现在名为“(无域)”的文件夹中,可以方便地指定域以提高调试体验,例如查看可以使用的“自定义”文件夹:
//# sourceURL=browsertools://custom/filename.js
一个完整的例子如下:
window.helloWorld = function helloWorld()
{
console.log('Hello World!');
}
//# sourceURL=browsertools://custom/helloWorld.js
欲了解更多信息,请参阅:动态 JavaScript 中的断点 https://developers.google.com/chrome-developer-tools/docs/javascript-debugging#breakpoints-dynamic-javascript
弃用 //@sourceurl https://developers.google.com/web/updates/2013/06/sourceMappingURL-and-sourceURL-syntax-changed
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)