Инструменты разработчика Chrome приостанавливают инициализацию jQuery 1.7 - PullRequest
12 голосов
/ 06 декабря 2011

Инструменты разработчика 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. Есть ли способ, которым я могу изменить это поведение? Или я что-то пропустил?

Ответы [ 5 ]

37 голосов
/ 16 апреля 2012

Я только что решил эту проблему (в моем случае, это может отличаться). Я случайно нажал кнопку «Приостановить исключение» в консоли Chrome. Вот этот: https://developers.google.com/chrome-developer-tools/docs/scripts-breakpoints#js_exceptions

Вот расположение этой маленькой, легко пропускаемой кнопки «Пауза при исключениях» и три ее состояния переключения:

Image showing small

4 голосов
/ 12 августа 2013

Если кто-то ищет

div.querySelectorAll("*,:x");

следует перенаправить сюда.

4 голосов
/ 06 декабря 2011

Возможно, это известная ошибка, проверьте это: http://bugs.jquery.com/ticket/7535. Я нашел там это решение, надеюсь, оно поможет:

 try {
// This should fail with an exception
// Gecko does not error, returns false instead
// <orig. $jquery-1.5:>
// matches.call( document.documentElement, "[test!='']:sizzle" );
// <proposal to Ticket #7535, 2011-03-24:>
  if( ! html.mozMatchesSelector || document.currentScript ){
    matches.call( html, "[test!='']:sizzle" );
  }
//else{
// /*FF lt 4*/
//}


} catch( pseudoError ) {
    pseudoWorks = true;
  }
  // <testing only>
  // alert('MalformedSelectorException thrown: ' + pseudoWorks );
3 голосов
/ 23 декабря 2014

Если вы используете Chrome, сделайте следующее:

Нажмите значок «Настройки» в инспекторе (винтик). В общем, есть кнопка под названием «Управление фреймворком чёрного ящика ...»

Вы можете использовать это, чтобы игнорировать некоторые сценарии, которые будут оцениваться в отладчике. Вот простое регулярное выражение для отлова jQuery. /jquery(.*)\.js$

1 голос
/ 28 января 2013

Нашел этот вопрос в поисках его, связанного с Safari, поэтому я думаю, что ответ может быть полезен:

В Safari Web Inspector это можно сделать аналогичным образом, перейдя на вкладку Точки останова (ctrl-7).Отмените выбор «Все исключения» и выберите «Все неперехваченные исключения».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...