例:getoffers() および applyOffers() を使用した Promise 連結

getOffers() promise が解決されたときに triggerView() を実行するには、次の例に示すように、最終ブロックで triggerView() を実行することが重要です。 これは、VEC がオーサリングモードで Views を検出するために必要です。

adobe.target.getOffers({
    'request': {
        'prefetch': {
            'views': [{
                'parameters': {}
            }]
        }
    }
}).then(function(response) {
    // Apply Offers
    adobe.target.applyOffers({
        response: response
    });
}).catch(function(error) {
    console.log("AT: getOffers failed - Error", error);
}).finally(() => {
    // Trigger View call, assuming pageView is defined elsewhere
    adobe.target.triggerView(pageView, {
        page: true
    });
    console.log('AT: View triggered on : ' + pageView);
});

例:Adobe Visual Editing Helper extension との triggerView() の最適な互換性

Adobe Visual Editing Helper 拡張機能を使用する場合は、次の点を考慮してください

Google の Chrome 拡張機能の新しい V3 マニフェストポリシーにより、Visual Editing Helper extension は VEC の Target ライブラリを読み込む前に DOMContentLoaded イベントを待機する必要があります。 この遅延により、オーサリングライブラリの準備が整う前に web ページで triggerView() 呼び出しが実行され、読み込み時にビューが入力されない場合があります。

この問題を軽減するには、ページ load イベントのリスナーを使用します。

実装の例を次に示します。

function triggerViewIfLoaded() {
    adobe.target.triggerView("homeView");
}

if (document.readyState === "complete") {
    // If the page is already loaded
    triggerViewIfLoaded();
} else {
    // If the page is not yet loaded, set up an event listener
    window.addEventListener("load", triggerViewIfLoaded);
}
recommendation-more-help