問題
Angular バージョン 12、13、または 14 アプリケーション内で HTML コピー/貼り付けメソッド を使用していますが、Angular ビルドの実行後にエージェント コード スニペットが切り詰められています。
これにより、ページの HTML に不適切な JavaScript が含まれているため、影響を受けるアプリケーションまたはページが正しく機能しなくなる可能性があります。
解決
この問題は、Angular CLI ビルド システムの依存関係内のバグによって発生します。Angular CLI バージョン 12、13、および 14 では、任意のサイズのインライン スクリプトを切り捨てる依存関係が使用されます。これには、New Relic エージェントが含まれる場合があります。この問題は Angular バージョン 15 で修正されたことが確認されており、Angular プロジェクトのアップグレードをお勧めします。
Angular のアップグレードが実行可能な解決策でない場合、別の方法として、ブラウザー エージェントのコピー/貼り付けスニペットを別の JavaScript ファイルに配置し、インデックス HTML ファイル内から参照することもできます。
- 次の名前の
src
またはassets
ディレクトリに新しいファイルを作成しますnewrelic.js
- New Relic Browser アプリケーション設定ページから BrowserAgent Snipet をコピーします。
- この新しいファイルにブラウザ エージェントのスニペットを貼り付けます
src/index.html
またはインデックス HTML ファイルを更新して、head
セクションの先頭に以下のコードを追加してください<script src="/newrelic.js"></script>- プロジェクトのルートにある
angular.json
ファイルを更新して、新しいファイルをassets
配列に追加します..."architect": {"build": {"builder": "@angular-devkit/build-angular:browser","options": {"outputPath": "dist","index": "src/index.html","main": "src/main.ts","polyfills": "src/polyfills.ts","tsConfig": "tsconfig.app.json","assets": ["src/favicon.ico","src/assets","src/newrelic.js"],"styles": ["src/styles.css"],"scripts": []},...