DokumentationTargetTarget Developer Guide

adobe.target.triggerView (viewName, options) - at.js 2.x

Senast uppdaterad: 5 maj 2025
  • Ämnen:

Skapat för:

  • Utvecklare

Den här funktionen kan anropas när en ny sida läses in eller när en komponent på en sida återges på nytt. adobe.target.triggerView() ska implementeras för enkelsidiga program (SPA) för att använda Visual Experience Composer (VEC) för att skapa A/B Test- och Experience Targeting (XT)-aktiviteter. Om adobe.target.triggerView() inte har implementerats på platsen kan VEC inte användas för SPA. Mer information finns i Implementering av Single Page-program.

OBSERVERA
Den här funktionen introducerades med at.js 2.x. Den här funktionen är inte tillgänglig för at.js version 1.x.
ParameterTypObligatoriskt?Beskrivning
viewNameSträngJaAnge valfritt namn som en strängtyp som du vill representera vyn. Vynamnet visas på Modifications-panelen i VEC så att marknadsförare kan skapa åtgärder och köra sina A/B Test- och Experience Targeting XT-aktiviteter.
alternativObjektNej
alternativ > sidaBooleanNej

TRUE: Standardvärdet för sidan är true. När page=true skickas meddelanden till Target-serverdelen för ökat antal visningar.

Ett meddelande skickas alltid som standard när triggerView anropas, förutom när alternativen > sida är inställda på false.

FALSKT: När page=false skickas inga meddelanden för ökat antal visningar. Detta tillvägagångssätt bör användas när du endast vill återge en komponent på en sida med ett erbjudande.

Obs! Anpassade koderbjudanden i VEC återges inte igen när triggerView() anropas med {page: false} som alternativ.

Exempel: Sant

triggerView()-anrop om du vill skicka ett meddelande till Target-serverdelen för att öka antalet aktivitetsavtryck och andra mått.

adobe.target.triggerView("homeView")

Exempel: Falskt

triggerView() anrop om att inte ha meddelanden skickade till Target-serverdelen för att göra en inläsningsräkning.

adobe.target.triggerView("homeView", {page: false})

Exempel: Löpande kedja med getoffers() och applyOffers()

Om du vill köra triggerView() när getOffers()-löftet är löst är det viktigt att köra triggerView() på det sista blocket, vilket visas i exemplet nedan. Detta är nödvändigt för att VEC ska kunna identifiera Views i redigeringsläge.

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);
});

Exempel: Bästa kompatibilitet för triggerView() med Adobe Visual Editing Helper extension

Tänk på följande när du använder tillägget Hjälp för visuell redigering i Adobe:

På grund av Googles nya V3-manifestprinciper för Chrome tillägg måste Visual Editing Helper extension vänta på DOMContentLoaded-händelsen innan Target-biblioteken läses in i VEC. Den här fördröjningen kan göra att webbsidor utlöser anropet triggerView() innan redigeringsbiblioteken är klara, vilket gör att vyn inte fylls i vid inläsningen.

Använd en avlyssnare för händelsen load om du vill åtgärda problemet.

Här är ett exempel på implementering:

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
6906415f-169c-422b-89d3-7118e147c4e3