【发布时间】:2012-01-14 00:50:00
【问题描述】:
Chrome 的开发者工具是一组我喜欢使用的优秀工具。不幸的是,我最近在刷新页面同时保持开发人员工具窗口打开时遇到了一个非常奇怪的问题:Chrome 暂停 javascript 执行并指向下面指定的行。
try {
// This should fail with an exception
// Gecko does not error, returns false instead
matches.call(document.documentElement, "[test!='']:sizzle"); // this is where it breaks
} catch (pseudoError) {
pseudoWorks = true;
}
尽管异常本身位于 try-catch 块中,但异常会导致脚本暂停。有什么办法可以改变这种行为?还是我错过了什么?
【问题讨论】:
-
发生这种情况的一个常见情况是:在 jQuery 中的任何时候,当您在不可见的元素上测试
.is(':visible')时。在 Chrome 中,字符串 ':visible' 会抛出(捕获的、安全的、没问题的)DOMExceptionError: An invalid or illegal string was specified。代码仍然可以正常工作,但是如果您将暂停按钮设置为蓝色(“暂停所有异常”),它将启动调试器。
标签: javascript jquery google-chrome google-chrome-devtools