Imagen interactiva

El visualizador de imágenes interactivo es un visualizador que muestra una sola imagen no ampliable con zonas interactivas en las que se puede hacer clic. El objetivo de este visor es implementar una experiencia de "banner de ventas". Es decir, el usuario puede seleccionar un punto interactivo sobre la imagen del banner y ser redirigido a una vista rápida o a una página de detalles del producto en el sitio web. Está diseñado para funcionar con equipos de escritorio y dispositivos móviles.

NOTA

Este visor no admite las imágenes que utilizan IR (Image Rendering) o UGC (User-Generated Content).

El tipo de visor es 508.

Dirección URL de la demostración

https://experienceleague.adobe.com/tools/dynamic-media-demo/shoppable-banner/InteractiveImage.html?lang=es?lang=es

Requisitos del sistema

Consulte Requisitos del sistema.

Uso del visualizador de imágenes interactivo

El visualizador de imágenes interactivo representa un archivo JavaScript principal y un conjunto de archivos de ayuda (un solo JavaScript incluye todos los componentes del SDK de visor utilizados por este visualizador en particular, recursos y CSS) descargados por el visualizador en tiempo de ejecución.

El visualizador de imágenes interactivo solo se puede utilizar en modo incrustado, donde se integra en la página web de destino mediante la API documentada.

La configuración y el desollado son similares a los de los demás visores descritos en esta Ayuda. Toda la apariencia se logra mediante CSS personalizada.

Consulte Referencia de comando común a todos los visores: Atributos de configuración y Referencia de comando común a todos los visualizadores: URL

Interactuar con el visualizador de imágenes interactivo

La interacción compatible con el Visor de imágenes de vídeo es la activación de puntos interactivos en sistemas de escritorio. Esta activación se produce al hacer clic y en dispositivos táctiles con un solo toque.

El visor es totalmente accesible mediante teclado.

Consulte Navegación y accesibilidad del teclado.

Incrustación del visualizador de imágenes interactivo

El visualizador de imágenes interactivo está incrustado en la página de alojamiento. Esta página web puede tener un diseño estático o puede ser "interactiva" y mostrarse de forma diferente en distintos dispositivos o en diferentes tamaños de ventana del navegador.

Para satisfacer estas necesidades, el visor admite dos modos de operación principales: incrustación de tamaño fijo e incrustación interactiva.

Acerca del modo de incrustación de tamaño fijo y el modo de incrustación de diseño interactivo

En el modo incrustado, el visor se añade a la página web existente. Es posible que esta página web ya tenga contenido de cliente que no esté relacionado con el visor. Normalmente, el visor solo ocupa una parte de los bienes raíces de una página web.

Los casos de uso principales son páginas web orientadas a equipos de escritorio o tabletas, y páginas diseñadas con capacidad de respuesta que ajustan el diseño automáticamente en función del tipo de dispositivo.

La incrustación de tamaño fijo se utiliza cuando el visor no cambia su tamaño después de la carga inicial. Este método es la mejor opción para páginas web con diseño estático.

La incrustación de diseño interactivo supone que el visor debe cambiar el tamaño durante la ejecución en respuesta al cambio de tamaño de su contenedor DIV. El caso de uso más común es agregar un visor a una página web que utilice un diseño de página flexible.

En el modo de incrustación de diseño interactivo, el visor se comporta de forma diferente en función del tamaño de la página web y su contenedor DIV. Si la página web establece solo la anchura del contenedor DIV, dejando su altura sin restricciones, el visor elige automáticamente su altura según la proporción de aspecto del recurso utilizado. Esta funcionalidad garantiza que el recurso encaje perfectamente en la vista sin ningún relleno en los lados. Este caso de uso es el más común para las páginas web que usan marcos de diseño web interactivos como Bootstrap y Fundación.

De lo contrario, si la página web establece la anchura y la altura del contenedor del visor DIV, el espectador rellena solo esa área. También sigue el tamaño que proporciona el diseño de página web. Un buen ejemplo es integrar el visor en una superposición modal, donde el tamaño de la superposición depende del tamaño de la ventana del explorador web.

Integración de tamaño fijo

Para añadir el visor a una página web, haga lo siguiente:

  1. Añadir el archivo JavaScript del visor a la página web.

  2. Definición del contenedor DIV.

  3. Configuración del tamaño del visor.

  4. Creación e inicialización del visor.

  5. Añadir el archivo JavaScript del visor a la página web.

    Para crear un visor es necesario agregar una etiqueta de script en el encabezado del HTML. Antes de utilizar la API del visor, asegúrese de incluir InterativeImage.js. La variable InteractiveImage.js el archivo se encuentra debajo de html5/js/ subcarpeta de la implementación estándar de IS-Viewers:

<s7viewers_root>/etc/dam/viewers/s7viewers/html5/js/InteractiveImage.js

Puede utilizar una ruta relativa si el visor está implementado en uno de los servidores de Adobe Dynamic Media Classic y se suministra desde el mismo dominio. De lo contrario, se especifica una ruta completa a uno de los servidores de Adobe Dynamic Media Classic que tienen instalados los visores IS.

La ruta relativa tiene el siguiente aspecto:

<script language="javascript" type="text/javascript" src="/etc/dam/viewers/s7viewers/html5/js/InteractiveImage.js"></script>
NOTA

Solo haga referencia al JavaScript del visor principal include en la página. No haga referencia a ningún archivo JavaScript adicional del código de la página web que pueda descargar la lógica del visor durante la ejecución. En particular, no haga referencia directa al SDK de HTML5 Utils.js biblioteca cargada por el visor desde /s7viewers ruta de contexto (denominado SDK consolidado) include). La razón es que la ubicación de Utils.js o bibliotecas de visores de tiempo de ejecución similares se gestionan completamente mediante la lógica del visor y la ubicación cambia entre las versiones del visor. El Adobe no mantiene versiones anteriores del visor secundario includes en el servidor.

Como resultado, poner una referencia directa a cualquier JavaScript secundario include utilizado por el visor en la página rompe la funcionalidad del visor en el futuro cuando se implemente una nueva versión del producto.

  1. Definición del contenedor DIV.

    Añadir un vacío DIV a la página en la que desea que aparezca el visor. La variable DIV debe tener su ID definido, ya que este ID se pasa más tarde a la API del visor. El DIV tiene su tamaño especificado mediante CSS.

    El marcador de posición DIV es un elemento posicionado, lo que significa que la variable position La propiedad CSS se establece en relative o absolute.

    A continuación se muestra un ejemplo de un marcador de posición definido DIV elemento:

    <div id="s7viewer" style="position:relative"></div>
    
  2. Configuración del tamaño del visor

    Puede establecer el tamaño estático del visor declarándolo para .s7interactiveimage clase CSS de nivel superior en unidades absolutas o utilizando stagesize modificador.

    Puede colocar el tamaño en CSS directamente en la página HTML. O bien, puede colocar el tamaño en un archivo CSS de visor personalizado, que más tarde se asignará a un registro preestablecido de visor en Adobe Experience Manager Assets On-demand, o se pasará explícitamente utilizando style comando.

    Consulte Vídeo para obtener más información sobre cómo aplicar estilo al visor con CSS.

    A continuación se muestra un ejemplo de definición de un tamaño de visor estático en la página HTML:

    #s7viewer.s7interactiveimage {
     width: 1174px;
     height: 500px;
    }
    

    Puede pasar explícitamente la variable stagesize modificador con el código de inicialización del visor con params o como una llamada de API como se describe en la sección Referencia de comandos, de esta manera:

    interactiveImage.setParam("stagesize", "1174,500");
    

    Se recomienda un enfoque basado en CSS que se utiliza en este ejemplo.

  3. Creación e inicialización del visor.

    Cuando haya completado los pasos anteriores, cree una instancia de s7viewers.InteractiveImage clase, pase toda la información de configuración a su constructor e invoque init() en una instancia de visor. La información de configuración se pasa al constructor como un objeto JSON. Como mínimo, este objeto debe tener containerId campo que contiene el nombre del ID del contenedor del visor y anidado params objeto JSON con parámetros de configuración admitidos por el visor. En este caso, la variable params debe tener al menos la dirección URL del servidor de imágenes transferida como serverUrl y el recurso inicial como asset parámetro. La API de inicialización basada en JSON le permite crear e iniciar el visor con una sola línea de código.

    Es importante tener el contenedor de visor agregado al DOM para que el código del visor pueda encontrar el elemento contenedor por su ID. Algunos exploradores retrasan la creación del DOM hasta el final de la página web. Para obtener la máxima compatibilidad, llame a la función init() justo antes del cierre BODY o en el cuerpo onload() evento.

    Al mismo tiempo, el elemento contenedor no debe formar parte necesariamente del diseño de la página web todavía. Por ejemplo, puede ocultarse usando display:none estilo asignado a él. En este caso, el visor retrasa su proceso de inicialización hasta el momento en que la página web vuelve a poner el elemento contenedor en el diseño. Cuando se produce este evento, la carga del visor se reanuda automáticamente.

    El siguiente es un ejemplo de creación de una instancia de visor, pasando al constructor las opciones de configuración mínimas necesarias y llamando a la función init() método. El ejemplo asume interactiveImage es la instancia del visor; s7viewer es el nombre del marcador de posición DIV; http://aodmarketingna.assetsadobe.com/is/image es la URL del servicio de imágenes y /content/dam/mac/aodmarketingna/shoppable-banner/shoppable-banner. es el recurso:

    <script type="text/javascript">
    var interactiveImage = new s7viewers.InteractiveImage ({
     "containerId":"s7viewer",
    "params":{
     "asset":"/content/dam/mac/aodmarketingna/shoppable-banner/shoppable-banner.jpg",
     "serverurl":"http://aodmarketingna.assetsadobe.com/is/image"
    }
    }).init();
    </script>
    

    El siguiente código es un ejemplo completo de una página web trivial que incrusta el visor de imágenes de vídeo con un tamaño fijo:

    <!DOCTYPE html>
    <html>
    <head>
    <script type="text/javascript" src="http://aodmarketingna.assetsadobe.com/etc/dam/viewers/s7viewers/html5/js/InteractiveImage.js"></script>
    <style type="text/css">
    #s7viewer.s7interactiveimage {
     width: 1174px;
     height: 500px;
    }
    </style>
    </head>
    <body>
    <div id="s7viewer" style="position:relative"></div>
    <script type="text/javascript">
    var interactiveImage = new s7viewers.InteractiveImage({
     "containerId":"s7viewer",
    "params":{
     "asset":"/content/dam/mac/aodmarketingna/shoppable-banner/shoppable-banner.jpg",
     "serverurl":"http://aodmarketingna.assetsadobe.com/is/image"
    }
    }).init();
    </script>
    </body>
    </html>
    

Diseño interactivo con altura ilimitada

Con la incrustación de diseño interactivo, la página web normalmente tiene algún tipo de diseño flexible en su lugar que dicta el tamaño de tiempo de ejecución del contenedor del visor DIV. Para el siguiente ejemplo, supongamos que la página web permite el contenedor del visor DIV para tomar el 40% del tamaño de la ventana del explorador web. Y su altura no está restringida. El código del HTML de la página web tendría el siguiente aspecto:

<!DOCTYPE html>
<html>
<head>
<style type="text/css">
.holder {
 width: 40%;
}
</style>
</head>
<body>
<div class="holder"></div>
</body>
</html>

Añadir el visor a una página de este tipo es similar a los pasos para la incrustación de tamaño fijo. La única diferencia es que no es necesario definir explícitamente el tamaño del visor.

  1. Añadir el archivo JavaScript del visor a la página web.
  2. Definición del contenedor DIV.
  3. Creación e inicialización del visor.

Todos los pasos anteriores son los mismos que con la incrustación de tamaño fijo. Agregar el contenedor DIV a la "holder" DIV. El siguiente código es un ejemplo completo. Observe cómo cambia el tamaño del visor cuando se cambia el tamaño del explorador y cómo la proporción de aspecto del visor coincide con el recurso.

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://aodmarketingna.assetsadobe.com/etc/dam/viewers/s7viewers/html5/js/InteractiveImage.js"></script>
<style type="text/css">
.holder {
 width: 40%;
}
</style>
</head>
<body>
<div class="holder">
<div id="s7viewer" style="position:relative"></div>
</div>
<script type="text/javascript">
var interactiveImage = new s7viewers.InteractiveImage({
 "containerId":"s7viewer",
"params":{
 "asset":"/content/dam/mac/aodmarketingna/shoppable-banner/shoppable-banner.jpg",
 "serverurl":"http://aodmarketingna.assetsadobe.com/is/image"
}
}).init();
</script>
</body>
</html>

La página de ejemplos siguientes ilustra más usos reales de la incrustación de diseño interactivo con altura ilimitada:

https://experienceleague.adobe.com/tools/dynamic-media-demo/shoppable-banner/InteractiveImage-responsive-unrestricted-height.html?lang=es?lang=es

Incrustación de tamaño flexible con anchura y altura definidas

Si hay una incrustación de tamaño flexible con anchura y altura definidas, el estilo de la página web es diferente. Proporciona ambos tamaños a la variable "holder" DIV y céntrelo en la ventana del explorador. Además, la página web establece el tamaño de la variable HTML y BODY al 100 por ciento.

<!DOCTYPE html>
<html>
<head>
<style type="text/css">
html, body {
 width: 100%;
 height: 100%;
}
.holder {
 position: absolute;
 left: 20%;
 top: 20%;
 width: 60%;
height: 60%;
}
</style>
</head>
<body>
<div class="holder"></div>
</body>
</html>

El resto de los pasos de incrustación son idénticos a los pasos utilizados para la incrustación interactiva con altura ilimitada. El ejemplo resultante es el siguiente:

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://aodmarketingna.assetsadobe.com/etc/dam/viewers/s7viewers/html5/js/InteractiveImage.js"></script>
<style type="text/css">
html, body {
 width: 100%;
 height: 100%;
}
.holder {
 position: absolute;
 left: 20%;
 top: 20%;
 width: 60%;
height: 60%;
}
</style>
</head>
<body>
<div class="holder">
<div id="s7viewer" style="position:relative"></div>
</div>
<script type="text/javascript">
var interactiveImage = new s7viewers.InteractiveImage({
 "containerId":"s7viewer",
"params":{
 "asset":"/content/dam/mac/aodmarketingna/shoppable-banner/shoppable-banner.jpg",
 "serverurl":"http://aodmarketingna.assetsadobe.com/is/image"
}
}).init();
</script>
</body>
</html>

Incrustación mediante API basada en Setter

En lugar de utilizar la inicialización basada en JSON, es posible utilizar la API basada en establecedores y el constructor no-args. El uso de este constructor de API no toma ningún parámetro y los parámetros de configuración se especifican usando setContainerId(), setParam()y setAsset() Métodos de API con llamadas de JavaScript independientes.

El siguiente ejemplo ilustra el uso de incrustación de tamaño fijo con la API basada en definidores:

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://aodmarketingna.assetsadobe.com/etc/dam/viewers/s7viewers/html5/js/InteractiveImage.js"></script>
<style type="text/css">
#s7viewer.s7interactiveimage {
 width: 1174px;
 height: 500px;
}
</style>
</head>
<body>
<div id="s7viewer" style="position:relative"></div>
<script type="text/javascript">
var interactiveImage = new s7viewers.InteractiveImage();
interactiveImage.setContainerId("s7viewer");
interactiveImage.setParam("serverurl", "http://aodmarketingna.assetsadobe.com/is/image");
interactiveImage.setAsset("/content/dam/mac/aodmarketingna/shoppable-banner/shoppable-banner.jpg");
interactiveImage.init();
</script>
</body>
</html>

En esta página