我正在使用代码中的require
函数加载文件,这会在页面正文中添加<script/>
标记以及相关属性。
脚本加载得很好并且可以访问它们,但如果我在其中一个中有错误,它从未在控制台中显示,并且我没有在开发人员工具内的Scripts选项卡中显示它们,本质上抢夺我的调试功能。
我做错了什么?
我的需求函数如下:
require: function (moduleId) {
var filename = this.config.modulesDir + '/' + moduleId + '/module.js';
var script = $('<script></script>').attr({
'src': filename,
'type': 'text/javascript'
}).appendTo('#Scripts');
}
答案 0 :(得分:5)
这适用于最新版本的Chrome(15.0.874.121)。我确实设置了一个jsfiddle示例,你可以清楚地看到它的工作原理:
您的问题有两种可能的解决方案:
在第二种情况下,chrome应该在控制台中告诉你脚本不存在,所以我很确定它与旧的chrome版本有关。
答案 1 :(得分:2)
您是否考虑过使用像require.js(http://requirejs.org/)这样的库来处理您的依赖项?
使用它我在动态加载的脚本中调试时从未遇到过问题。
答案 2 :(得分:1)
你能否尝试更换
$('<script></script>')
与
$('<script>')
答案 3 :(得分:0)
确保您正在使用devtools内部的框架显示脚本。如果在iframe中加载脚本,则应在chrome inspector中选择此框架作为当前环境以显示此框架中的脚本。在按钮旁边的chrome devtools的左下角是小选择,这使您可以更改当前帧(默认为)。尝试选择其他框架并检查脚本选项卡上的脚本选择器是否显示脚本。
如果你看不到错误,请检查下面提到的是否在底部选择了你选择了适当的日志级别 - 尝试选择“全部”按钮,然后检查你是否会看到任何错误。