Ao usar a função getScript () do jQuery, recebo um erro "não bem formado" em uma linha com comentários

StackOverflow https://stackoverflow.com/questions/2458848

  •  20-09-2019
  •  | 
  •  

Pergunta

Meu palpite é que o arquivo SRC precisa ser amigável ao XML, mas é claro que nenhum do arquivo JS é, pois está usando todos os tipos de entidades que não são compatíveis com XML.

getScript () pode estar esperando um arquivo xml =/

Alguma ideia?

    if(is_def(pObj)){
      $.getScript(pObj.src,function(){
            pObj.stat = STATUS_OK;
            $a.dequeue(pObj);         
      });

    }

Também estou desenvolvendo isso na minha área de trabalho, não usando nenhum servidor

Foi útil?

Solução

JQuery's documentos oficiais Não diga nada sobre esperar XML. Parece que ele simplesmente espera um arquivo JavaScript normal. Também tentei alguns testes simples carregando arquivos JavaScript com comentários e não tive problemas.

Tenho a sensação de que você tem um erro de sintaxe no arquivo JavaScript ou a chamada AJAX é 404'ing.

Aqui estão algumas sugestões.

  • Se o seu navegador suportar, faça um console.log (POBJ.SRC) para garantir que o URL do script armazenado nessa variável esteja correto.
  • Tente colar o código JavaScript diretamente no arquivo JavaScript principal e veja se ele causa algum erro de sintaxe lá.
  • Use o $ .ajax Método para obter manualmente o mesmo efeito.

Outras dicas

Tanto quanto posso ver, este é um bug do Firefox e a mensagem de erro é realmente espúria. Nos meus testes, também ocorre apenas ao usar getScript () sem um servidor da web. Se você abrir as páginas em que o getScript () for usado em um servidor da web, o erro não será disparado. Eu acho que você pode ignorá-lo com segurança, pois mesmo o Firefox não o sinaliza como um erro crítico de parar o script. Tudo funciona normalmente e a maioria dos usuários nunca o verá.

Eu acho que o servidor apenas define o tipo de conteúdo errado na resposta e, portanto, seu navegador pode tentar interpretar os dados retornados como XML/HTML em vez de JavaScript.

Fez uma demonstração rápida: http://jsbin.com/ilepu/2 que carrega de http://jsbin.com/avewo/2. Tudo funciona como o script de carga esperado também contém comentários

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