Pergunta

Eu tenho um plugin que acessa o length propriedade em muitos elementos.No entanto, o console javascript aponta para a linha 12 do jquery.min.js.

Como posso rastrear para encontrar a linha incorreta em meu plugin?

Foi útil?

Solução

Como posso voltar atrás para encontrar a linha ofensiva no meu plug -in?

Firebug é uma ótima maneira de depurar esses erros.

alt text
(fonte: getfirebug.com)

Outras dicas

Se você usar scripts minificados, qualquer depurador (como totalmente o melhor Firebug) mostrará a mesma linha problemática e essas informações são inúteis (os scripts minificados são difíceis de ler e entender e eles são escritos em 1 linha).

Poucas maneiras de resolver problemas como este:

  1. Como me disse: Para o desenvolvimento de scripts não minificados, o Debugger mostrará a linha que significa algo e, se você tiver sorte, pode encontrar comentários muito úteis dos desenvolvedores.
  2. Se você não consegue encontrar a versão completa do script, use o UNMINIFIER como este: http://jsbeautifier.org/ (Cole o script minificado e clique no botão abaixo). Adicione ao seu projeto um script Uminificado e execute a função inválida novamente. O depurador novamente mostrará a linha, mas desta vez você verá uma linha lógica real e poderá entender qual é o problema na maioria dos casos.
  3. O depurador mostrará qual script lança problemas. Verifique se existem novas versões deste script. Eu tive o mesmo problema uma vez, encontrei linha do script minificado, nome do plug -in (poucas linhas acima nos direitos autorais) e depois descobri que há uma nova versão disponível. Revisou Changelog e havia: "Adicionado várias 'verificações de sanidade' em todo o código para possíveis valores de atributo desconhecido" - Cabeça na cabeça :) Script atualizado e tudo estava bem a partir de agora sem a depuração especial levando horas.
  4. Google seu erro com o nome do script - ele me ajudou tantas vezes ... provavelmente você fez isso, mas talvez você não tenha tentado com marcas de fala "" - o Google retornará as páginas com a frase exata no texto.

Se você usa o Chrome, pode usar as ferramentas de desenvolvedor integradas (que eu prefiro ao Firebug) acessando "View > Developer > Developer Tools".O erro no console geralmente terá uma pequena seta apontando para a direita antes dele, que quando clicada mostrará mais detalhes sobre o erro.

Os erros de Javascript provavelmente não se originam em uma biblioteca, mas sim no código que faz referência aos métodos/funções dentro dessa biblioteca e, portanto, você deseja examinar todas as linhas de problemas listadas no lado direito do console e selecionar a linha que corresponde a o código que você escreveu que será onde está o seu problema.

É improvável que você descubra onde está o seu problema examinando o código-fonte do jQuery.O problema está no seu código.Acontece que o jQuery não pode usar variáveis ​​indefinidas que você passa para ele.

Costumo achar que esses erros de estrutura ambíguos são o resultado de um erro de solicitação de Ajax. Se for esse o caso, sua ferramenta de desenvolvedor de escolha provavelmente contém uma guia de rede e isso pode destacar a fonte real do erro.

Se você estiver usando o jQuery (ou qualquer estrutura JavaScript) para processar os resultados das solicitações do AJAX, os erros de formatação e manuseio são etapas adicionais e muitas vezes negligenciadas.

Além do depurador/Firebug, uma maneira simples de rastrear isso (se você tiver uma versão de sandbox do site) é comentar cada plug -in individualmente e verificar se o erro desaparece.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top