Prácticas recomendadas y limitaciones de Visual Experience Composer
Para garantizar que sus experiencias funcionen según lo previsto, siga las prácticas recomendadas al usar el Adobe Target Visual Experience Composer (VEC). Tenga en cuenta las sugerencias y limitaciones clave para maximizar el rendimiento y evitar problemas comunes.
Prácticas recomendadas section_86CF28C99CFF40329E4CBAFE4DD78BB4
Las siguientes son las prácticas recomendadas al utilizar el VEC:
Coloque la referencia de at.js en la parte superior de la sección <head>
de su página.
Puede habilitar Enhanced Experience Composer en la cuenta (habilitada para todas las actividades creadas en la cuenta) o en el nivel de actividad individual.
Para habilitar Enhanced Experience Composer en el nivel de cuenta, haga clic en Administration > Visual Experience Composer y, a continuación, coloque el conmutador Enable Enhanced Experience Composer en la posición Activado.
Para habilitar Enhanced Experience Composer en el nivel de actividad mientras se crea una actividad en Visual Experience Composer, haga clic en Configure > Page Delivery y, a continuación, coloque el conmutador Enable Enhanced Experience Composer en la posición Activado.
Puede realizar una lista de permitidos de ciertas direcciones IP si Enhanced Experience Composer no se carga en las páginas seguras del sitio.
Los problemas al cargar Enhanced Experience Composer se pueden resolver mediante la inclusión en la lista de permitidos de las siguientes direcciones IP. Estas direcciones IP son para Adobe servidores usados para el proxy Enhanced Experience Composer. Solo se requieren para edición de actividades. Los visitantes del sitio no necesitan estas direcciones IP incluidas en la lista de permitidos.
Para obtener más información, consulte El EEC no cargará una dirección URL de control de calidad interna a la que no se puede acceder desde una dirección IP pública en Resolución de problemas relacionados con el Compositor de experiencias mejorado.
Utilice ID únicos para los elementos de nivel superior y cualquier otro elemento que pueda ser un buen candidato para pruebas o segmentación.
Cualquier cosa que haya dentro del elemento del cuerpo debe tener un ID único. Si se insertan nuevos elementos en el cuerpo y el código se desplaza, al menos podrá reconocer fácilmente los elementos principales.
Target no requiere ID, pero el uso de ID aumenta la fiabilidad de las experiencias creadas con el compositor de experiencias. Target utiliza selectores CSS para modificar el contenido cuando se entrega la experiencia. Cuando edita una experiencia, Visual Experience Composer ancla el selector al antecesor más cercano con un atributo de ID no nulo al elemento de HTML que se está modificando. Por ello, no se recomienda usar ningún mecanismo, ni siquiera las bibliotecas de JavaScript, que defina o modifique los atributos de ID de HTML. Aunque esos identificadores puedan estar disponibles para el compositor de experiencias visuales Target para la creación de actividades, si JavaScript modifica los identificadores, es posible que el identificador que se utilizó cuando se creó la experiencia no esté disponible cuando se ejecuta. Si un ID no está disponible, el selector anclado al ID presenta un error.
Asigne a las clases CSS nombres fáciles de identificar.
Al editar clases CSS en Visual Experience Composer, resulta útil facilitar la identificación de las clases mediante nombres de clase descriptivos. Esto le permite tener la certeza de que está modificando las clases CSS correctas y de que las páginas se mostrarán correctamente.
No utilice la propiedad !important
de CSS al ocultar o eliminar elementos.
Si la propiedad CSS !important
está presente, las reglas CSS del sitio anulan los cambios realizados por target.js
durante la entrega.
Evite usar tablas HTML para los diseños de página.
Minimice el uso de iFrames.
Intente organizar todas las modificaciones dinámicas de DOM tan pronto como DOM esté listo.
target.js
, la entrega de contenido podría romperse. Esto ocurre solamente cuando hay un cambio de DOM en la jerarquía de un elemento segmentado.Utilice únicamente texto sin formato o una etiqueta de imagen en los elementos de anclaje.
<a>Anchor Text</a>
O
<a href=""> <img src=""> </img> </a>
Evite los elementos de nivel de bloque dentro de un elemento en línea.
No use la etiqueta de base en su sitio web para resolver la dirección URL y los vínculos.
Si utiliza la acción Editar HTML para manipular la estructura de DOM, podrían dañarse los selectores.
Por ejemplo, si ha realizado dos acciones:
- Ha agregado una clase al Elemento 1
- Ha editado el HTML del Elemento 1
Cada cambio crea un nuevo elemento en el VEC. Como la segunda acción modifica al Elemento 1, si elimina el Elemento 1, la segunda acción ya no tiene nada para modificar. Por lo tanto, el cambio ya no funciona.
Es decir, si agrega un elemento con texto y luego en una acción separada edita ese elemento con otro texto, el editor de código muestra ambas acciones como elementos separados. Cuando editó el elemento, creó un nuevo elemento que modifica al original que usted creó, y que contiene el texto editado. Si luego elimina el elemento original, el texto editado no podrá encontrar el elemento editado y no se mostrará. El segundo elemento permanece en la lista de elementos, pero no afecta a la página porque el elemento al que cambia ya no existe.
Consulte Selectores de elementos utilizados en Visual Experience Composer.
Utilice las etiquetas <b>
y <i>
al aplicar estilo a los elementos de texto con el editor de texto enriquecido.
- Use
<b>
en vez de<strong>
para el texto en negrita. - Use
<i>
en vez de<em>
para el texto en cursiva.
Puede que los resultados de las etiquetas <strong>
y <em>
no sean los previstos.
Tenga cuidado al quitar campos de formulario.
No incluya mboxCreate
dentro de los scripts.
mboxCreate
usa document.write
, no se recomienda incluir mboxCreate
en scripts. En cambio, use mboxDefine
y mboxUpdate
con el mismo fin.No actualice ningún fragmento de HTML usando Target si requiere código de JavaScript para la inicialización.
Cuando se realiza una acción (Editar HTML) en componentes de la página (como reguladores, carruseles, etc.), la entrega puede aparecer dañado. El VEC realiza la acción después de que JavaScript haya creado una instancia del componente de página.
No obstante, cuando el contenido de la página se entrega a los visitantes, la acción se aplica antes de que se cree la instancia del componente. Por este motivo, es posible que las funciones del componente fallen en el momento de la entrega. La funcionalidad depende del tipo de script usado en la página para definir el componente.
Que la entrega funcione bien la primera vez que la pruebe no garantiza que seguirá funcionando. Podría darse una condición de carrera.
- Si hay una condición de carrera, la entrega funciona de forma intermitente.
- Si no hay ninguna condición de carrera, la entrega siempre funciona.
Pruebe la página varias veces para asegurarse de que la entrega funciona bien.
No use una etiqueta de base en el sitio web para resolver la dirección URL y los vínculos.
El texto importante del sitio que se pueda usar para la segmentación debería conservarse en el código HTML dentro de un elemento.
Por ejemplo, no puede segmentar el texto “Shopping Cart” (Carro de compras) en el VEC (Compositor de experiencias visuales) si su código es como este:
code language-html |
---|
|
En este ejemplo, todo el elemento de anclaje se selecciona en el VEC, lo que afecta negativamente a otros elementos si se realiza el direccionamiento.
No use las variables top
o self
en el código JavaScript.
Pruebe el sitio siempre si se añaden parámetros al cargar la página.
Por ejemplo, para abrir www.abc.com
, se usan los siguientes parámetros de URL:
www.abc.com?mboxEdit=1&mboxDisable=1
Estos parámetros habilitan la edición en un iframe.
Asegúrese de que el sitio web se carga según lo esperado después de añadir parámetros de este tipo.
Compruebe si la página se abre correctamente en un iframe.
Desactive las técnicas de eliminación de iframes en el sitio web y compruebe si el sitio web se abre como se espera dentro de un iframe en una página ficticia. Por ejemplo:
code language-html |
---|
|
Advertencias section_A0436B7B85BA467FA9DE13A9A40E6A6E
Tenga en cuenta las siguientes advertencias al usar Visual Experience Composer para diseñar la actividad.
La característica Move no admite z-index.
La reorganización de elementos afecta al rastreo de clics.
Si se reorganiza un elemento que está marcado para rastreo de clics, cambiarán las rutas de los elementos reorganizados. Como resultado, se realizará el seguimiento de los clics del elemento que hay en la ubicación donde estaba el elemento original antes de ser reorganizado.
Esto ocurre porque tanto el código para entregar el contenido de la actividad como el código para realizar el seguimiento de clics se incluyen en una parte de código que se entrega a la página. Si va a otra página y configura el rastreo de clics, el código de contenido de la actividad y el código de rastreo de clics se entregan a dicha página. Si la página de seguimiento de clics tiene una estructura de página similar a la de la página donde se ejecuta la prueba, el contenido de la prueba también podría aparecer en la página de seguimiento de clics.
Es posible que no se pueda insertar un elemento en un(a) <div>
que sea un mbox.
insertBefore
y no como insertAfter
, si el mbox se implementa incorrectamente.Cuando edite un elemento principal y secundario, empiece por el principal.
No se puede seleccionar un elemento de página que incluye un mbox como elemento secundario.
Por ejemplo, si la página contiene:
code language-html |
---|
|
El div externo no debe seleccionarse en una experiencia porque el mbox codificado en la página sigue realizando una llamada a Target y recibe una respuesta. Esta respuesta interfiere con la respuesta destinada al elemento de página más grande.
Las IP del proxy pueden bloquearse en el entorno de los clientes.
Limitaciones section_F33C2EA27F2E417AA036BC199DD6C721
Tenga en cuenta las siguientes limitaciones al trabajar con el VEC:
Controlar la compatibilidad del VEC con Chrome cambios en la directiva de extensión. ext
Debido a las directivas de manifiesto V3 actualizadas en Google Chrome, las extensiones ya no pueden modificar el DOM original antes de que el explorador lo analice. Como resultado, ciertos scripts de seguridad, como las implementaciones de eliminación de iframes, pueden bloquear la carga de páginas en el VEC.
Para garantizar la compatibilidad, estos scripts deben deshabilitarse de forma condicional cuando la página se cargue dentro del iframe Target. Este proceso se puede realizar de forma segura comprobando la presencia del objeto window.adobeVecExtension
, que Target inserta durante la carga del VEC.
Los siguientes fragmentos de código son ejemplos de código de eliminación de iframes que pueden provocar que la página web no se cargue en el VEC:
window.top.location = window.self.location;
top.location.href = self.location.href;
Se puede utilizar una comprobación simple para comprobar si una página web está incrustada dentro de Target. Un fragmento de código debería tener este aspecto:
code language-none |
---|
|
No se puede mover un elemento fuera de un contenedor seguido de una propiedad CSS.
No puede seleccionar el elemento Button para reorganizar.
Solo las ofertas de intercambio están disponibles en mboxes.
No debe reorganizar y mover el mismo elemento.
La acción Change Image no funciona en una imagen de un carrusel.
Si, por ejemplo, su página contiene un carrusel con seis imágenes y desea intercambiar una imagen por una segunda imagen del carrusel, la acción Change Image no funciona.
La solución consiste en seleccionar el contenedor principal y utilizar la acción Edit HTML para editar el HTML del carrusel y actualizar el origen de la imagen de la imagen deseada.
No se puede cambiar el tamaño de las imágenes en un mbox.
Después de intercambiar una imagen, no se puede seleccionar la acción Edit.
Los elementos de HTML con un origen externo no se pueden editar.
El rastreo de clics no funciona para elementos de anclaje que contienen cualquier otra cosa que no sea texto sin formato o etiquetas de imagen.
Las páginas deben aceptar parámetros de URL para que funcione el VEC.
Al utilizar un script como parte de HTML, las variables y funciones a las que se accede desde fuera se deben declarar en el área de nombres de la ventana.
El script se ejecuta dentro del ámbito de target.js
después de que se cargue la página. Por lo tanto, ninguna variable o función que se declare localmente será accesible desde fuera del bloque de scripts.
Incorrecto:
code language-html |
---|
|
Correcto:
code language-html |
---|
|
Al insertar una imagen de la biblioteca Content (Scene7) y editar HTML, se interrumpe la dirección URL de la imagen.
Añada un elemento de anclaje dentro del div “customHeaderMessage” con un texto cualquiera, en este ejemplo, “Dummy text”:
code language-html |
---|
|
Seleccione este div con la acción Insert Element para insertar una imagen como secundaria de este div con texto "Dummy text".
Tras la inserción, el aspecto es este:
code language-html |
---|
|
Elimine la etiqueta span de “Dummy text”.
La acción customCode
del VEC no funciona con Internet Explorer 8.
target.js
no admite esta acción en IE8. Como solución alternativa, si la página contiene jQuery y está expuesto globalmente en el objeto window, target.js
puede utilizar la acción customCode
. Asegúrese de que window.jQuery
y window.jQuery.fn.prepend
estén definidos.