Best practice e limitazioni di Visual Experience Composer
Per garantire che le esperienze funzionino come previsto, segui le best practice quando utilizzi Adobe Target Visual Experience Composer (VEC). Presta attenzione a suggerimenti e limitazioni chiave per massimizzare le prestazioni ed evitare problemi comuni.
Best practice section_86CF28C99CFF40329E4CBAFE4DD78BB4
Di seguito sono riportate le best practice per l’utilizzo del Compositore esperienza visivo:
Posiziona il riferimento at.js nella parte superiore della sezione <head>
della pagina.
È possibile abilitare Enhanced Experience Composer a livello di account (abilitato per tutte le attività create nell'account) o a livello della singola attività.
Per abilitare Enhanced Experience Composer a livello di account, fare clic su Administration > Visual Experience Composer, quindi attivare il pulsante Enable Enhanced Experience Composer.
Per abilitare Enhanced Experience Composer a livello di attività durante la creazione di un'attività in Visual Experience Composer, fare clic su Configure > Page Delivery, quindi attivare il pulsante Enable Enhanced Experience Composer.
Inserire nell'elenco Consentiti Puoi alcuni indirizzi IP se Enhanced Experience Composer non viene caricato su pagine protette del tuo sito.
I problemi relativi al caricamento di Enhanced Experience Composer possono essere risolti inserendo nell'elenco Consentiti i seguenti indirizzi IP. Questi indirizzi IP sono per i server Adobe utilizzati per il proxy Enhanced Experience Composer. Sono necessari solo per modificare le attività. I visitatori del tuo sito non hanno bisogno di inserire nell'elenco Consentiti questi indirizzi IP.
Per ulteriori informazioni, vedere Il Compositore esperienza avanzato non carica un URL di controllo qualità interno che non è accessibile nell'IP pubblico in Risoluzione dei problemi relativi al Compositore esperienza avanzato.
Utilizzare ID univoci per gli elementi di primo livello e per tutti gli altri elementi candidati ad attività di test o targeting.
Qualsiasi elemento all’interno dell’elemento body deve avere un ID univoco. Nel caso nuovi elementi vengano inseriti nel corpo e il codice cambi posizione, sarà possibile riconoscere con maggiore facilità almeno gli elementi padre.
Target non richiede ID, ma l'utilizzo degli ID aumenta l'affidabilità delle esperienze create con il Compositore esperienza. Target utilizza i selettori CSS per modificare il contenuto quando viene distribuita l'esperienza. Quando si modifica un'esperienza, Visual Experience Composer ancora il selettore al predecessore più vicino con un attributo ID non nullo all'elemento HTML che si sta modificando. Di conseguenza si consiglia di non utilizzare meccanismi, comprese librerie JavaScript, che impostino o modifichino gli attributi ID HTML. Anche se tali ID potrebbero essere disponibili per il Compositore esperienza Target per la creazione di attività, se JavaScript modifica gli ID, l'ID utilizzato al momento della creazione dell'esperienza potrebbe non essere disponibile durante l'esecuzione dell'esperienza. Se l'ID non è disponibile, l'ancoraggio del selettore all'ID avrà esito negativo.
Denominare le classi CSS in modo che siano facilmente identificabili.
Quando si modificano le classi CSS in Visual Experience Composer, è utile semplificare l'identificazione delle classi utilizzando nomi descrittivi di classi. Questa operazione assicura che vengano modificate le classi CSS corrette e che le pagine vengano visualizzate come previsto.
Non utilizzare la proprietà CSS !important
quando nascondi o rimuovi elementi.
Se la proprietà CSS !important
è presente, le modifiche apportate da target.js
durante la consegna vengono ignorate dalle regole CSS del sito.
Evitare l'uso di tabelle HTML per i layout di pagina.
Ridurre al minimo l'utilizzo di iFrame.
Dopo la preparazione di DOM, cerca di apportare tutte le modifiche DOM dinamiche il prima possibile.
target.js
, la consegna del contenuto potrebbe essere interrotta. Questo avviene solo in caso di modifica DOM nella gerarchia di un elemento con targeting.Utilizzare solo un tag testo normale o immagine negli elementi di ancoraggio.
<a>Anchor Text</a>
O
<a href=""> <img src=""> </img> </a>
Evitare elementi a livello di blocco all'interno di un elemento in linea.
Non utilizzare il tag di base nel sito web per risolvere URL e collegamenti.
Modificare l'HTML per manipolare la struttura DOM può interrompere i selettori.
Ad esempio, se hai eseguito due azioni:
- Aggiunta di una classe all'elemento 1
- Modifica del codice HTML dell'elemento 1
Ogni modifica crea un nuovo elemento nel Compositore esperienza visivo. La seconda azione modifica l'elemento 1: se lo elimini, la seconda azione non avrà più niente da modificare, risultando nella mancata applicazione della modifica.
In altre parole, se aggiungi un elemento con testo e modifichi tale elemento con un testo diverso in un'azione separata, l'editor di codice mostrerà entrambe le azioni come elementi distinti. Durante la modifica dell'elemento è stato creato un nuovo elemento, contenente il testo modificato, che modifica l'elemento originale creato. Se elimini l'elemento originale, il testo modificato non sarà in grado di trovare l'elemento modificato e non verrà visualizzato. Il secondo elemento rimarrà nell'elenco senza tuttavia influire sulla pagina, poiché l'elemento da modificare non esiste più.
Vedi Selettori di elementi utilizzati in Visual Experience Composer.
Utilizza i tag <b>
e <i>
per la formattazione di elementi di testo con l'editor Rich Text.
- Per il testo in grassetto, utilizza
<b>
anziché<strong>
. - Per il testo in corsivo, utilizza
<i>
anziché<em>
.
I tag <strong>
e <em>
potrebbero causare risultati imprevisti.
Presta attenzione durante la rimozione dei campi modulo.
Non includere mboxCreate
all'interno degli script.
mboxCreate
utilizza document.write
, non è consigliabile includere mboxCreate
negli script. Per tale scopo, utilizza invece mboxDefine
e mboxUpdate
.Non aggiornare un frammento di codice HTML utilizzando Target se è necessario il codice JavaScript per l'inizializzazione.
Quando si esegue un’azione (Modifica HTML) sui componenti della pagina (come cursori, caroselli e così via), la consegna potrebbe apparire interrotta. Il Compositore esperienza visivo esegue l’azione dopo che il componente Pagina è stato creato da JavaScript.
Tuttavia, quando il contenuto della pagina viene distribuito ai visitatori, l'azione viene applicata prima di creare un'istanza del componente. Per questo motivo, la funzionalità di questo componente rischia di interrompersi al momento della distribuzione. La funzionalità dipende dalla natura dello script utilizzato nella relativa pagina per definire il componente.
Se esegui il test della distribuzione ottenendo la prima volta un esito positivo, non è garantito che questa continuerà a funzionare. Può verificarsi una situazione di tipo “race condition”.
- In presenza di una situazione di tipo "race condition", la consegna funziona a intermittenza.
- Se non c’è una situazione di tipo "race condition", la consegna funziona sempre.
Sottoponi la tua pagina a test più volte per assicurarti che la distribuzione funzioni come previsto.
Non utilizzare un tag di base nel sito web per risolvere URL e collegamenti.
Il testo importante sul sito che può essere utilizzato per il targeting deve essere mantenuto nel codice HTML all'interno di un elemento.
Ad esempio, non puoi eseguire il targeting del testo del carrello nel Compositore esperienza visivo se il tuo codice è simile al seguente:
code language-html |
---|
|
In questo esempio, nel Compositore esperienza visivo viene selezionato l’intero elemento di ancoraggio, che ha effetti negativi su altri elementi se viene eseguito il targeting.
Non utilizzare top
o self
variabili nel codice JavaScript.
Eseguire sempre il test del sito web all'aggiunta di parametri al caricamento della pagina.
Ad esempio, per aprire www.abc.com
, vengono utilizzati i seguenti parametri URL:
www.abc.com?mboxEdit=1&mboxDisable=1
Questi parametri consentono la modifica in un iframe.
Assicurati che il tuo sito web carichi come previsto dopo l'aggiunta di parametri simili.
Assicurarsi che la pagina si apra come previsto in un iframe.
Disattiva le tecniche di busting iframe sul sito web e verifica se il sito web si apre come previsto all’interno di un iframe in una pagina fittizia. Ad esempio:
code language-html |
---|
|
Avvertenze section_A0436B7B85BA467FA9DE13A9A40E6A6E
Quando utilizzi Visual Experience Composer per progettare l'attività, considera le seguenti avvertenze.
La funzionalità Move non supporta z-index.
La ridisposizione degli elementi influenza il monitoraggio dei clic.
Se un elemento contrassegnato per il tracciamento dei clic viene ridisposto, i percorsi degli elementi ridisposti vengono modificati. Come risultato, verrà eseguito il monitoraggio dei clic per l'elemento nella posizione in cui si trovava l'elemento originale prima della ridisposizione.
Ciò si verifica perché sia il codice per distribuire il contenuto dell'attività sia il codice per tenere traccia dei clic è incluso in un segmento di codice recapitato alla pagina. Se passi a una pagina diversa e imposti il rilevamento dei clic, il codice del contenuto dell'attività e il codice di monitoraggio dei clic vengono recapitati a tale pagina. Se la pagina di rilevamento dei clic ha una struttura simile alla pagina in cui viene eseguito il test, il contenuto del test può anche essere visualizzato nella pagina di rilevamento dei clic.
L'inserimento di un elemento potrebbe non funzionare in un <div>
che è una mbox.
insertBefore
e non come insertAfter
, nel caso in cui la mbox non sia implementata correttamente.Durante la modifica di un elemento padre e figlio, modificare innanzitutto il padre.
Non è possibile selezionare un elemento di pagina che include una mbox come elemento figlio.
Ad esempio, se la pagina contiene:
code language-html |
---|
|
Il div esterno non deve essere selezionato in un'esperienza perché la mbox codificata nella pagina effettua ancora una chiamata a Target e riceve una risposta. Questa risposta interferisce con la risposta prevista per l'elemento di pagina più grande.
Gli IP proxy potrebbero essere bloccati negli ambienti cliente.
Limitazioni section_F33C2EA27F2E417AA036BC199DD6C721
Quando lavori con il Compositore esperienza visivo, tieni presente le seguenti limitazioni:
Gestione della compatibilità del Compositore esperienza visivo con Chrome modifiche ai criteri di estensione. ext
A causa dei criteri aggiornati del manifesto V3 in Google Chrome, le estensioni non possono più modificare il DOM originale prima che venga analizzato dal browser. Di conseguenza, alcuni script di sicurezza, come le implementazioni non compatibili con iframe, potrebbero bloccare il caricamento delle pagine nel Compositore esperienza visivo.
Per garantire la compatibilità, questi script devono essere disabilitati in modo condizionale quando la pagina viene caricata nell'iframe Target. Questo processo può essere eseguito senza problemi verificando la presenza dell'oggetto window.adobeVecExtension
, inserito da Target durante il caricamento del Compositore esperienza visivo.
I seguenti snippet di codice sono esempi di codice non compatibile con iframe che possono impedire il caricamento della pagina web nel Compositore esperienza visivo:
window.top.location = window.self.location;
top.location.href = self.location.href;
È possibile utilizzare un semplice controllo per verificare se una pagina Web è incorporata in Target. Un frammento di codice deve essere simile al seguente:
code language-none |
---|
|
Non puoi spostare un elemento all’esterno di un contenitore seguito da una proprietà CSS.
Impossibile selezionare l'elemento Button per la ridisposizione.
Sulle mbox sono disponibili solo le offerte di sostituzione.
Evitare di ridisporre e spostare lo stesso elemento.
L'azione Change Image non funziona su un'immagine in un carosello.
Se, ad esempio, la pagina contiene un carosello con sei immagini e si desidera scambiare un'immagine con la seconda immagine del carosello, l'azione Change Image non funziona.
La soluzione consiste nel selezionare il contenitore principale e utilizzare l'azione Edit HTML per modificare il HTML del carosello per aggiornare l'origine immagine dell'immagine desiderata.
Le immagini non possono essere ridimensionate in una mbox.
Dopo la sostituzione di un'immagine, non è possibile selezionare l'azione Edit.
Non è possibile modificare gli elementi HTML con un’origine esterna.
Il monitoraggio dei clic non funziona per gli elementi di ancoraggio che contengono elementi diversi dai tag di testo normale o immagine.
Affinché il Compositore esperienza visivo funzioni, le pagine devono accettare i parametri URL.
Durante l’utilizzo di uno script come parte di HTML, tutte le variabili e le funzioni a cui si accede dall’esterno devono essere dichiarate nello spazio dei nomi della finestra.
Lo script viene eseguito nell'ambito di target.js
dopo il caricamento della pagina. Pertanto, qualsiasi variabile o funzione dichiarata localmente non è accessibile dall'esterno del blocco di script.
Errato:
code language-html |
---|
|
Corretto:
code language-html |
---|
|
Se si inserisce un'immagine dalla libreria Content (Scene7) e si modifica il HTML, l'URL dell'immagine viene interrotto.
Aggiungi un elemento di ancoraggio all’interno del div "customHeaderMessage" con del testo fittizio:
code language-html |
---|
|
Selezionare questo div utilizzando l'azione Insert Element per inserire un'immagine di pari livello di questo div di testo fittizio.
Dopo l'inserimento dell'immagine, verrà visualizzato in questo modo:
code language-html |
---|
|
Rimuovi l'intervallo di testo fittizio.
L'azione customCode
nel Compositore esperienza visivo non funziona con Internet Explorer 8.
target.js
non supporta questa funzionalità in Internet Explorer 8. Come soluzione alternativa, se la pagina contiene jQuery ed è esposta sull'oggetto finestra a livello globale, target.js
può utilizzare l'azione di consegna customCode
. Assicurarsi che window.jQuery
e window.jQuery.fn.prepend
siano definiti.