我正在使用 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) {}
}
这里节点= <div ...
和 expr= :hidden
。
经过调查 jQuery 源代码,Chrome 似乎不支持 node.querySelectorAll(':hidden'),
.
为什么 Chrome 会在 try/catch block 中暂停?如何让它不再暂停?
Chrome 版本:17
最佳答案
您是否在不知情的情况下启用了开发者控制台“脚本”选项卡中的“异常暂停”选项?这是此屏幕截图中左起第四个图标:
如果图标突出显示为蓝色,则意味着它已启用,任何异常都会导致脚本暂停,就像您在那里设置断点一样,以便您可以调试它。
关于jquery - Chrome 在 try/catch block 中因异常而暂停,如何自动恢复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9765592/