因为我不知道,每当一行包含new ActiveXObject('ShockwaveFlash.ShockwaveFlash')
时,firebug就会不断停止,即使被try...catch
包围(但控制台中没有显示错误)
我无法“禁用”它,因为每次我改变某些东西时,创建的偏移量都会使它变得无用。
如果要重现,请查看该代码。
function getFlashVersion(){
// ie
try {
try {
// avoid fp6 minor version lookup issues
// see: http://blog.deconcept.com/2006/01/11/getvariable-setvariable-crash-internet-explorer-flash-6/
var axo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.6');
try { axo.AllowScriptAccess = 'always'; }
catch(e) { return '6,0,0'; }
} catch(e) {}
return new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version').replace(/\D+/g, ',').match(/^,?(.+),?$/)[1];
// other browsers
} catch(e) {
try {
if(navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){
return (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g, ",").match(/^,?(.+),?$/)[1];
}
} catch(e) {}
}
return '0,0,0';
}
var flash_version = getFlashVersion();
我从一些firebug版本中得到了这个错误,如果重要的话,目前在1.12.4上运行
编辑:我会截取屏幕截图以更好地解释问题。
ActiveXObject is not defined
You can disable/enable break notifications in panel's tab menu.
“复制”按钮将复制带有行号的错误消息。 “禁用”按钮将禁用该确切的行(无论其内容如何)。因此,如果我在那之前添加或删除一行,“禁用点”将会有所不同。
另外,如上所述,控制台中没有显示错误(有关于“未申报变量的分配”的警告,但它们与这些中断无关)
答案 0 :(得分:0)
您需要点击“控制台”面板中的Break On All Errors button ()停用执行JavaScript错误。
修改强>: Firebug中存在一个相关问题,导致此行为。当前(版本高达1.12.4)选项Track Throw/Catch isn't working,即Firebug将始终打破错误,即使它们被try / catch块包围。一旦Firebug switched to a new debugger API,这将被修复。这是planned for the next major release。
此外,还有enhancement request用于在脚本发生更改时启用更正持久断点的行号。
在修复 Track Throw / Catch 选项的行为之前,您必须如上所述禁用 Break On All Errors ,在行时手动移动已禁用的断点ActiveXObject()
调用的数量已更改,或者只是继续执行脚本。
塞巴斯蒂安