Adobe Target at.js
2.0 offre set di funzioni avanzate che consentono di eseguire personalizzazioni su tecnologie lato client di nuova generazione. Questa versione si concentra sull'aggiornamento di at.js
per garantire interazioni in sintonia con le applicazioni a pagina singola (SPA).
at.js
2.0 nel <head> dell’applicazione a pagina singola.adobe.target.triggerView()
ogni volta che visualizzi le modifiche nel tuo SPA. A questo scopo possono essere utilizzate diverse tecniche, ad esempio l’ascolto delle modifiche dell’hash URL, l’ascolto degli eventi personalizzati attivati dal SPA o l’incorporazione del codice triggerView()
direttamente nell’applicazione. Scegli l’opzione che funziona meglio per l’applicazione a pagina singola specifica.triggerView()
. Utilizza nomi semplici, chiari e univoci per facilitarne la selezione nel compositore esperienza visivo di Target.at.js
2.0 e triggerView()
può essere implementato tramite una soluzione di gestione tag, come Adobe Experience Platform Launch.Prima dell’aggiornamento, tieni presente le seguenti limitazioni di at.js
2.0:
at.js
2.0at.js
2.0at.js
2.0. Verrà visualizzato il contenuto predefinito e non verranno effettuate richieste di rete.Il codice seguente è stato aggiunto alla sezione Library Footer della libreria at.js
durante il video. Viene attivato quando l’app viene caricata per la prima volta e in seguito a eventuali modifiche hash nell’app. Utilizza una versione pulita dell’hash come nome della visualizzazione e "home" quando l’hash è vuoto. Tieni presente che per identificare il SPA, il codice cerca il testo "react/" nell’URL, che molto probabilmente dovrà essere aggiornato sul tuo sito. Tieni presente che potrebbe essere più appropriato che il tuo SPA attivi triggerView()
eventi personalizzati o incorporando il codice direttamente nell’app.
function sanitizeViewName(viewName) {
if (viewName.startsWith('#')) {
viewName = viewName.substr(1);
}
if (viewName.startsWith('/')) {
viewName = viewName.substr(1);
}
return viewName;
}
function triggerView(viewName) {
viewName = sanitizeViewName(viewName) || 'home';
// Validate if the Target Libraries are available on your website
if (typeof adobe != 'undefined' && adobe.target && typeof adobe.target.triggerView === 'function') {
adobe.target.triggerView(viewName);
console.log('AT: View triggered on page load: '+viewName)
}
}
//fire triggerView when the SPA loads and when the hash changes in the SPA
if(window.location.pathname.indexOf('react/') >-1){
triggerView(location.hash);
}
window.onhashchange = function() {
if(window.location.pathname.indexOf('react/') >-1){
triggerView(location.hash);
}
}