Como imprimo mensagens de depuração no console do Google Chrome JavaScript?
Observe que o JavaScript Console não é o mesmo que o JavaScript Debugger; eles têm sintaxes diferentes do AFAIK; portanto, o comando print no JavaScript Debugger não funcionará aqui. No console do JavaScript, print()
o parâmetro será enviado para a impressora.
javascript
console
debugging
google-chrome
Tamas Czinege
fonte
fonte
console.log()
é incrível para depuração de js ... muitas vezes esqueço de usá-lo na prática.console.log()
código deve ser removido do código de produção antes da implantação.Console.Log
devem ser removidos do código de produção antes da implantação, pois, caso contrário, essas mensagens serão registradas no console JavaScript dos usuários. Embora seja improvável que eles o vejam, está ocupando espaço na memória do dispositivo. Além disso, dependendo do conteúdo do Log, você está potencialmente dizendo às pessoas como hackear / fazer engenharia reversa do seu aplicativo.Melhorando a idéia de Andru, você pode escrever um script que crie funções de console se elas não existirem:
Em seguida, use um dos seguintes:
Essas funções registram diferentes tipos de itens (que podem ser filtrados com base no log, informações, erro ou aviso) e não causam erros quando o console não está disponível. Essas funções funcionarão nos consoles Firebug e Chrome.
fonte
if (!window.console) {
e depois colocasse tudo entre colchetes? No momento, você está avaliando o mesmo material quatro vezes.Basta adicionar um recurso interessante que muitos desenvolvedores perdem:
Esse é o conteúdo clicável e de navegação profunda de
%o
despejo mágico de um objeto JavaScript. foi mostrado apenas para um registro.%s
Também isso é legal também:
O que fornece um rastreamento de pilha semelhante ao Java até o ponto da
new Error()
chamada (incluindo o caminho para o arquivo e o número da linha !).Ambos
%o
enew Error().stack
estão disponíveis no Chrome e Firefox!Também para rastreamentos de pilha no Firefox, use:
Como https://developer.mozilla.org/en-US/docs/Web/API/console, diz.
Feliz hacking!
ATUALIZAÇÃO : Algumas bibliotecas são escritas por pessoas más que redefinem o
console
objeto para seus próprios propósitos. Para restaurar o navegador originalconsole
após carregar a biblioteca, use:Consulte a pergunta Estouro de pilha Restaurando console.log () .
fonte
Apenas um aviso rápido - se você quiser testar no Internet Explorer sem remover todos os console.log (), precisará usar o Firebug Lite ou obterá alguns erros não muito amigáveis.
(Ou crie seu próprio console.log (), que retorna apenas false.)
fonte
console
objeto será criado e existirá até você fechar a instância do navegador.Aqui está um script curto que verifica se o console está disponível. Caso contrário, ele tenta carregar o Firebug e, se não estiver disponível, carrega o Firebug Lite. Agora você pode usar
console.log
em qualquer navegador. Aproveitar!fonte
Além da resposta de Delan Azabani , gosto de compartilhar a minha
console.js
e uso com a mesma finalidade. Criei um console noop usando uma matriz de nomes de funções, o que, na minha opinião, é uma maneira muito conveniente de fazer isso, e cuidei do Internet Explorer, que tem umaconsole.log
função, mas nãoconsole.debug
:fonte
Ou use esta função:
fonte
console.constructor === Object && (log = m => console.log(m))
Aqui está a minha classe de wrapper de console. Isso também me dá uma saída de escopo para facilitar a vida. Observe o uso de
localConsole.debug.call()
para que sejalocalConsole.debug
executado no escopo da classe de chamada, fornecendo acesso ao seutoString
método.Isso fornece uma saída assim no Firebug :
Ou Chrome:
fonte
Pessoalmente, eu uso isso, que é semelhante ao tarek11011:
O ponto principal é que é uma boa idéia, pelo menos, ter alguma prática de logar além de simplesmente aderir
console.log()
diretamente ao seu código JavaScript, porque se você se esquecer, e estiver em um site de produção, poderá potencialmente quebrar todo o código JavaScript para essa página.fonte
if(windows.console) console.log(msg)
?window.console
Você quer dizer. a única vez em que a tentativa seria útil seria se um erro fosse lançado (se console.log não fosse uma função) desde que o console foi redefinido. Fazerwindow.console && window.console.log instanceof Function
seria mais útil.Você pode usar
console.log()
se tiver um código depurado em qual editor de software de programação possui e verá a saída provavelmente o melhor editor para mim (Google Chrome). Basta pressionar F12e pressionar a guia Console. Você verá o resultado. Feliz codificação. :)fonte
Eu tive muitos problemas com os desenvolvedores que estavam verificando suas declarações de console. (). E realmente não gosto de depurar o Internet Explorer, apesar das melhorias fantásticas do Internet Explorer 10 e Visual Studio 2012 , etc.
Então, eu substituí o próprio objeto do console ... Adicionei um sinalizador __localhost que permite apenas instruções do console no host local. Também adicionei funções de console. () Ao Internet Explorer (que exibe um alerta ()).
Exemplo de uso:
Chrome / Firefox:
Internet Explorer:
Para quem olha atentamente para o código, você descobrirá a função console.examine (). Eu criei isso anos atrás para poder deixar o código de depuração em certas áreas do produto para ajudar a solucionar problemas de controle de qualidade / clientes. Por exemplo, eu deixaria a seguinte linha em algum código liberado:
E, a partir do produto lançado, digite o seguinte no console (ou barra de endereço prefixada com 'javascript:'):
Então, verei todas as instruções console.examine () registradas. Tem sido uma ajuda fantástica muitas vezes.
fonte
Simples Internet Explorer 7 e abaixo calço que preserva a linha numeração para outros navegadores:
fonte
O uso desse método imprime o texto em uma cor azul brilhante no console.
fonte
Melhorando ainda mais as idéias de Delan e Andru (razão pela qual esta resposta é uma versão editada); É provável que o console.log exista enquanto as outras funções não existirem, portanto, tenha o mapa padrão para a mesma função que o console.log ....
Você pode escrever um script que crie funções de console se elas não existirem:
Em seguida, use um dos seguintes:
Essas funções registram diferentes tipos de itens (que podem ser filtrados com base no log, informações, erro ou aviso) e não causam erros quando o console não está disponível. Essas funções funcionarão nos consoles Firebug e Chrome.
fonte