我在Firefox / Firebug中使用src版本的Dojo 1.4.2。
每次加载我的应用程序时,我都会收到“Break On Error”,因为下面的Components.classes参考会遇到权限错误。
这里有三个子问题:
1)。我可以阻止这个错误发生吗? (是的,我可以通过破解道场来停止呼叫,但我认为这是令人讨厌的hackery。)据我所知,作者确实在某些/许多环境中期待这个错误。
2)。我可以在firebug中将Break On Error压到 not 中断此特定条件/代码行。通常,Break on Error非常有用,不要全局禁用它。
3)。为什么我们甚至会遇到问题。为什么在Firefox中运行时会被视为“ChromeWindow”?
有问题的代码,来自dojo.js:
if("ChromeWindow" in this &&
window instanceof ChromeWindow ){
try{
Components.classes["@mozilla.org/moz/jssubscript-loader;1"];
isFFExt = true;
hostEnv = "ff_ext";
}catch(e){ /* squelch Permission Denied error, which just means this is not an extension */ }
}
答案 0 :(得分:1)
这个引导代码是为了支持在Firefox扩展中使用Dojo,也可以用Javascript编写。是的,例外是有意的(它在FF浏览器窗口中运行的常见情况被压制)是的,它非常烦人。我不知道有什么方法可以在启用Firebug异常的情况下运行而不会遇到此异常。
答案 1 :(得分:1)