• EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

Criar um problema

Erros JS de terceiros sem rastreamento de pilha

Problema

Os eventos de erro de JavaScript (JS) são compilados na página de erros de JS. Por padrão, eles são agrupados por mensagem de erro. Ao selecionar um único evento de erro, você verá mais detalhes em sua lista Error Instances . Em alguns casos, uma ou mais instâncias podem não ter um stack trace.

Dica

Em vez disso, você verá a mensagem "This error is likely coming from a third-party site and no stack trace is available."

Solução

A ativação do compartilhamento de recursos de origem cruzada (CORS) pode eliminar esse problema, expondo todos os detalhes do erro JS ao seu aplicativo e permitindo que o stack trace do erro seja capturado pelo agente browser.

Existem muitos recursos online que fornecem informações sobre habilitação e configurações do CORS. Este artigo do MDN possui uma descrição detalhada do CORS, com uma seção sobre como configurar cabeçalhos de resposta e outra sobre o atributo de configurações do CORS. O site Enable CORS contém informações sobre como habilitar o CORS para diversas plataformas.
New Relic is not responsible for the accuracy of third-party websites.

Cuidado

Este documento pretende ser apenas uma introdução geral ao uso do CORS. Devido a possíveis preocupações de segurança, recomendamos pesquisar antes de implementar quaisquer alterações que afetem a segurança do seu aplicativo ou recursos. A implementação ideal do CORS dependerá dos sistemas que você está usando e de suas considerações de segurança.

Aqui estão instruções gerais sobre como implementar o CORS:

  1. Adicione o código Access-Control-Allow-Origin aos cabeçalhos de resposta de quaisquer recursos de terceiros que forneçam JavaScript ao seu aplicativo:

    Access-Control-Allow-Origin: YOUR_DOMAIN

    Definir um domínio, ou vários domínios, dará a esses domínios específicos acesso a detalhes trace de erros e outros recursos disponíveis. Este artigo do MDN pode conter informações úteis sobre como configurar cabeçalhos de resposta, como adicionar vários domínios ou usar um curinga no lugar de um domínio.

  2. No seu aplicativo, faça com que o browser carregue arquivos JavaScript usando o atributo CORS crossorigin :

    <script src="EXTERNAL_LOCATION/script.js" crossorigin></script>

    Este artigo do MDN pode conter informações úteis sobre as configurações do CORS atributo.

Causa

A causa mais comum do problema stack trace ausente é a política de mesma origem. Esta é uma política de segurança que impede que um recurso da web acesse dados de outro recurso, a menos que ambos tenham a mesma origem. Neste contexto, origin é a combinação do esquema URI, o nome do host e o número da porta. A política impede que códigos maliciosos obtenham acesso a outros recursos da web.

A política de mesma origem é importante para a segurança da Internet, mas pode dificultar o trabalho conjunto dos recursos da Web. Especificamente, podem surgir problemas se você tiver script JS hospedado em redes de distribuição de conteúdo (CDNs) ou outros locais externos. A New Relic consegue ver os erros provenientes desses scripts, mas não consegue acessar seus dados.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.