adobe.target.triggerView (viewName, options) - at.js 2.x
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 SPA-program (single page applications) 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.
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 om när triggerView() anropas med {page: false} som alternativ.
Exempel: True
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ösning 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);
}