我正在开发一个有一些复杂javascript的新项目.我不能发布任何代码,所以这不是我的问题.
我有一个可用的脚本Firefox 3.0
.有人指出脚本没有用Firefox 3.5
,所以我试图让它工作.确实脚本没有产生预期的结果,所以我安装了最新版本Firebug
,启用console
并刷新了页面.
哇,它奏效了.
没有错误,没有任何警告.
所以我禁用了控制台,然后它不再工作了......
这里发生了什么?Firebug控制台在某种程度上改变了Firefox中的一些东西,使我的脚本工作?对下一步有何建议?(除了要求未来的访客安装Firebug ......)
可能是忘记console.log()
在javascript中的某个地方评论来电这么简单吗?
如果您有挂起引用,并且用户没有安装Firebug,您将收到一个运行时错误,该错误将停止脚本的执行.
听起来我觉得你有机会遇到线程问题,FireBug正在分析并可能减慢其中一个线程,以便在下一步解决之前有时间完成.
你可能正在使用ajax,有什么东西在等待这个回应吗?或者你可能在加载一个依赖于DOM中的其他东西的对象上或之后做某事?
更新:对于那些现在陷入困境的人来说,JavaScript中的"线程"实际上只存在于抽象(web worker等)中.我误用了这个词.我真的在考虑在另一个准备就绪之前返回的异步操作.
检查代码中是否有console.log(),console.debug().如果未定义控制台(如预期的那样),则调用window.console对象方法会引发错误.
在大多数情况下,您可以轻松删除或评论该行.