at.js と mbox.js にはいくつかの違いがあります。このセクションでは、at.js で成功するために役立つ、いくつかの違いと制限を取り上げます。
Visual Experience Composer の「要素を挿入」および「整列」オプションは、シングルページアプリでは避ける必要があります。
従来の Web サイトで使用するように、シングルページアプリのページ読み込みイベント時に DOM がクリアされないので、「要素を挿入」および「整列」操作は、訪問者が SPA をナビゲートする方法によって複数回にわたって再適用される可能性があります。
mbox.js 内の一部の関数は、at.js では利用できません。内部 mbox.js オブジェクトおよびメソッド(mbox
、mboxCurrent
、mboxFactoryDefault
、mboxFactories
など)は、at.js ではサポートされません(例: mboxFactoryDefault
)。これは設計によるもので、長期的に見ると実装を機能しなくさせ、アップグレードできなくさせる可能性のある、サポートされていない機能を開発するために at.js を「ハッキング」するのを阻止することを目的としています。公開されたメソッドのみ、このドキュメントの API ページで説明しています。理由は以下のとおりです。
他のアドビソリューションとの従来のページベースの統合は、動作しない可能性があり、より新しいサーバー側統合にアップグレードする必要がある。
mbox.js 用に開発されたカスタムプラグインは、at.js 用に更新しない限り、動作しない可能性がある。
すべてのプラグインをテストの一部として含めるようにします。
現在すべての mbox は非同期なので、ページレンダリングをブロックせず、実行された順番で返されます。
フォームベースの Experience Composer でグローバル mbox を使用している場合、HTML オファーには<script>
、<style>
、および <link>
タグのみ含まれるようにしてください。
配信中、at.js はグローバル mbox オファーを適用する際に他のすべての HTML タグを除外します。グローバル mbox オファーは HTML HEAD に適用されます。このタグでは、DIV、SPAN などは使用できません。例えば、<div>test</div>
タグは HTML BODY 内でのみ使用できるので、<div>
を適用できません。
従来のページベースの Target と Analytics の統合は動作しません。
この統合は、Target 呼び出しの前に Analytics 呼び出しが実行される必要があります。
オファーとページの間の JavaScript の依存関係に気をつけてください。
オファーの JavaScript が mbox の下のハードコードされた JavaScript の前に実行されると想定すべきではありません。
ページの複数のオファー間での JavaScript の依存関係に気をつけてください。
最初の mbox によって配信されたオファーが 2 番目の mbox によって配信されたオファーの前に実行されると想定することはできません。
DOM 操作およびリダイレクトオファーは、at.js で自動作成されたグローバル mbox を使用して配信されるか、<head>
内で配信される必要があります。
<body>
の最上部にある mboxCreate()
関数は、デフォルトコンテンツのちらつきを引き起こす可能性があります。