2014-01-21 3 views
0
document.getElementById('myButton').onclick = function() 
{  
    alert("button click"); 
    alert("bclick2"); 
    console.log("console log"); 
    alert("bclick3"); 
}; 

Когда я бегу это затмение на сервере Tomcat, первые два диалоговых окна будут отображаться, но не третий, который заставляет меня думать, что это console.log команда, не работает.console.log вызывает код остановить работу

Что может быть проблемой?

+0

какой браузер? также вы можете создать [jsFiddle] (http://jsfiddle.net/), который может воспроизвести его? – Mgetz

+0

@Mgetz. Да. Если я использую IE8, он отображает все три (еще не разработанные там, где он входит в систему). Он не отображает третий при запуске в браузере eclipse. – dwjohnston

ответ

2

Возможно, вы получили ошибку javascript, которая предотвращает запуск оставшегося кода. Объект console доступен только при наличии инструментов отладки (например, Firebug). Чтобы избежать JavaScript ошибки, когда он не доступен, вы можете окружить его по чеку, как это:

if (window.console && window.console.log) { 
    console.log("console log"); 
} 
+0

Почему downvote? Этот ответ верен, в Internet Explorer 'console' не определен до тех пор, пока devtools не будут открыты. –

+0

Спасибо. Я думаю, что у меня было непонимание того, что console.log было - я думал, что это что-то вроде stdOut, но на самом деле это не так? Для моих целей работает только IE8 вместо браузера eclipse. Этот вопрос здесь имеет значение. http://stackoverflow.com/questions/4539253/what-is-console-log?rq=1 – dwjohnston

0

Для более надежного решения, использовать этот кусок кода (взят из исходного кода Твиттера):

// Avoid `console` errors in browsers that lack a console. 
(function() { 
var method; 
var noop = function() {}; 
var methods = [ 
    'assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error', 
    'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log', 
    'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd', 
    'timeStamp', 'trace', 'warn' 
]; 
var length = methods.length; 
var console = (window.console = window.console || {}); 

while (length--) { 
    method = methods[length]; 

    // Only stub undefined methods. 
    if (!console[method]) { 
     console[method] = noop; 
    } 
} 
}()); 
Смежные вопросы