Gli strumenti per sviluppatori Chrome mettono in pausa l'inizializzazione di JQuery 1.7
-
28-10-2019 - |
Domanda
Gli strumenti per sviluppatori di Chrome sono un eccellente set di strumenti che mi piace usare. Sfortunatamente, mi sono imbattuto in un problema molto strano in ritardo quando aggiorno la pagina mantenendo aperta la finestra degli strumenti per sviluppatori: Chrome fa una pausa l'esecuzione JavaScript e indica la riga specificata di seguito.
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;
}
Un'eccezione fa sì che lo script si fermi, nonostante l'eccezione stessa sia posizionata all'interno di un blocco di cattura. C'è un modo per modificare questo comportamento? O c'è qualcosa che mi sono perso?
Soluzione
Forse è un bug noto, controlla questo: http://bugs.jquery.com/ticket/7535 . Ho trovato questa soluzione lì, spero che aiuti:
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 );
Altri suggerimenti
Ho appena risolto questo problema (nel mio caso, potrebbe essere diverso). Ho fatto clic accidentalmente sul pulsante "Pausa sulle eccezioni" nella console di Chrome. Questo: https://developers.google.com/chrome-developer-tools/docs/scripts-breakpoints#js_exceptions
Ecco la posizione di quella piccola pausa facile da misciare su Eccezioni e i suoi tre stati a disattivazione:
Se qualcuno cerca
div.querySelectorAll("*,:x");
dovrebbe reindirizzare qui.
Se stai usando Chrome, fallo:
Fare clic sull'icona delle impostazioni nell'ispettore (COG). In generale, c'è un pulsante chiamato "Gestisci framework Blackboxing ..."
Puoi usarlo per ignorare alcuni script da valutare nel debugger. Ecco un semplice regex per catturare le cose jQuery. /jquery(.*)\.js$
Ho trovato questa domanda che lo cerca relativa a Safari, quindi immagino che la risposta possa essere utile:
In Safari Web Inspector questo può essere ottenuto in modo simile andando alla scheda Breakpoints (CTRL-7). Deselezionare "tutte le eccezioni" e selezionare "tutte le eccezioni non insegnate".