Xiè*_*léi 9 debugging jquery google-chrome
我正在使用PrimeFaces(3.2),但问题与我认为的Chrome有关.
除非我打开Chrome调试窗口,否则一切正常.即,如果我关闭调试窗口,没有发生错误,根本没有异常(见下文,异常是try/catch-ed).
但是,如果我打开Chrome调试窗口并对网页执行某些操作,则调试程序会在以下位置暂停:
if ( !Sizzle.isXML( node ) ) {
try {
if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) {
var ret = matches.call( node, expr ); <----- Paused here.
// IE 9's matchesSelector returns false on disconnected nodes
if ( ret || !disconnectedMatch ||
// As well, disconnected nodes are said to be in a document
// fragment in IE 9, so check for that
node.document && node.document.nodeType !== 11 ) {
return ret;
}
}
} catch(e) {}
}
Run Code Online (Sandbox Code Playgroud)
这里node = <div ...和expr = :hidden.在调查了jQuery源代码后,Chrome似乎不支持node.querySelectorAll(':hidden'),.
为什么Chrome会在try/catch块中暂停?以及如何让它不再停顿?
Chrome版本:17
Jas*_*all 26
您是否在开发人员控制台的"脚本"选项卡中无意中启用了"暂停异常"选项?这是此屏幕截图中左侧的第四个图标:

如果图标突出显示为蓝色,表示已启用,并且任何异常都会导致脚本暂停,就像您在那里设置断点一样,因此您可以对其进行调试.