jquery – Chrome在try / catch块中暂停了异常,如何自动恢复?

前端之家收集整理的这篇文章主要介绍了jquery – Chrome在try / catch块中暂停了异常,如何自动恢复?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用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) {}
}

这里node =< div ...和expr =:hidden.
经过调查后的jQuery源代码,似乎Chrome不支持node.querySelectorAll(‘:hidden’),.

为什么Chrome会在这里暂停,在try / catch块?怎么让它不再停顿了?

Chrome版本:17

解决方法

您是否在开发者控制台的脚本选项卡中不知不觉中启用了“暂停异常”选项?这是截图左侧第四个图标:

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

猜你在找的jQuery相关文章