2010-03-29 2 views
3

Это может быть глупый вопрос. Но почему-то это помогало мне когда-то и после некоторых фундаментальных исследований я не мог найти ответа.Остановка бесконечных циклов оповещений в Mozilla

Я изучал JavaScript и код, который я написал, имел ошибку и выводил бесконечные циклы предупреждений. Я пробовал обычные ярлыки, такие как Ctrl + C и Ctrl + Z, но они не работали. Поэтому я подумал, есть ли какое-либо решение для этого, кроме завершения процесса браузера (например, с помощью Ctrl + Alt + Del).

+0

Да, будет ссылка Sarfaz и делать трюк SleighBoy о постоянной Ok и F5 сделал трюк, но должен был терпеливо попробуйте много раз. –

+0

Не ставьте его в качестве фактического ответа, потому что я знаю, что меня отклонят, но я решил эту проблему, переключившись на Chrome. :) У этого есть функция, где, если страница показывает два или более оповещения в течение нескольких секунд друг от друга, она предоставляет возможность подавлять дальнейшие предупреждения с этой страницы. Очень удобно! – Toji

ответ

0

Если вы используете firebug, я бы предложил вам изучить функцию журнала, а не предупреждения. Многие считают это полезным способом отладки.

http://getfirebug.com/logging

+0

Я использовал консоль с http://eloquentjavascript.net/. –

1

Есть обходные пути, как и упоминает @Sarfras, но нет волшебной кнопки, которая не спасу тебя. Обходной путь F5 - это лучшее, что я знаю.

0

Если вы используете метод отладки alert, я настоятельно рекомендую использовать плагин firebug. С его помощью вы можете использовать console.debug("whatever message", whatever, values).

В противном случае, если вы намерены использовать диалоговое сообщение, вы можете использовать некоторые из диалогов these, а не встроенные диалоги браузера. Кроме того, что они являются стандартным способом отображения сообщений, они лучше подходят;)

+0

Да, идея гранта - o перейти к firebug. но перед этим мне нужно сначала понять базовое понимание JavaScript. –

+0

К сожалению, я не думаю, что есть выход из этого, хотя в браузере Opera каждое диалоговое окно оповещений как небольшой флажок, который позволяет остановить выполнение javascript, чтобы вы могли выйти в этих случаях. Еще один возможный способ - это перезаписать функцию оповещения, но я бы не рекомендовал это делать. Подробнее см. Http://stackoverflow.com/questions/1729501/javascript-overriding-alert/1730509#1730509. –

0

Вы можете регистрировать ошибки без определенного браузера с глобальным массивом. Этот метод позволяет «отключить» бесконечное оповещение, , но все же сможет читать журнал ошибок.

var logErrors= true, errorLog= []; 
    function Yikes(str){ 
    if(str.constructor==Error)str=str.message; 
    errorLog.push(str); 
    if(logErrors== true){ 
     logErrors= confirm(str+'\n keep showing errors? '); 
    } 
    return true; 
    } 
    window.onerror=Yikes; 

вы можете также использовать его вокруг проблемы кода, возвращать значения:

try{ 
    d2= Date.fromUTCArray(D.slice(0, D.length)); 
    } 
    catch(er){ 
    return Yikes(er.message+', '+D); 
    } 
Смежные вопросы