ハッシュ化されたクライアントライブラリと非ハッシュ化されたクライアントライブラリのAdobe Experience Managerでの読み込み
Adobe Experience Manager(AEM)で、エクスペリエンスフラグメントをAdobe Targetに書き出すと、同じクライアントライブラリのハッシュ版とハッシュ化されていない版の両方がページに読み込まれます。 この動作により、表示されるエラーなしでJavaScriptの実行が重複します。 この問題を修正するには、推奨クライアントライブラリオーバーレイを実装して、ハッシュ化されたクライアントライブラリのみが読み込まれるようにします。
説明 description
環境
- 製品: Adobe Experience Manager、Adobe Experience Manager as a Cloud Service(すべてのバージョン)
- バージョン : 6.5
- インスタンス :エクスペリエンスフラグメントをAdobe Targetにエクスポートしました
問題/症状
- エクスペリエンスフラグメントをAdobe Targetに書き出し、Target駆動型ページで配信すると、同じクライアントライブラリの2つのバージョンが読み込まれます。
- Targetで配信されたページでは、同じクライアントライブラリの2つのバージョンが読み込まれます。
- 1つのファイルには、ファイル名に
clientlibs/cws/clientlibs/clientlib-jpm/clientlib-site.min.<project-name>.jsなどのハッシュが含まれています。 - 1つのファイルで、ハッシュ化されていないファイル名(
clientlibs/cws/clientlibs/clientlib-jpm/clientlib-site.min.jsなど)が使用されています。 - 両方のファイルに同じJavaScript コードが含まれています。
- このページでは、エラーメッセージを表示せずに重複したJavaScriptが実行されます。
原因
デフォルトでは、AEM ページと書き出されたエクスペリエンスフラグメントの両方に同じクライアントライブラリを含めることができるため、読み込みが重複します。 オーバーレイを使用すると、ページ独自のハッシュ化されたクライアントライブラリのみが含まれます。これは、意図された動作であり、サポートされている動作です。
解決策 resolution
この問題を修正するには、次の手順に従います。
- エクスペリエンスフラグメント統合ドキュメント を確認し、クライアントライブラリオーバーレイが説明どおりに実装されていることを確認します。
- オーバーレイを適用した後、ハッシュ化されたクライアントライブラリ(例:
clientlib-site.min.<project-name>.js)のみがTargetで配信されたページに読み込まれることを確認します。 - ハッシュ化されていないバージョン (
clientlib-site.min.js)がページソースに存在しないことを検証します。 - ページをテストして、JavaScriptの実行が重複していないこと、および想定されるすべての機能が存在することを確認します。
関連トピックス
recommendation-more-help
experience-cloud-kcs-help-kbarticles