Flotante

El visor flotante es un visor de imágenes. Muestra una imagen estática con la versión ampliada que se muestra en la vista flotante que activa un usuario. Este visor funciona con conjuntos de imágenes y la navegación se realiza mediante muestras. Está diseñado para funcionar con equipos de escritorio y dispositivos móviles.

NOTA

Este visor no admite las imágenes que utilizan IR (procesamiento de imágenes) o UGC (contenido generado por el usuario).

El tipo de visor es 504.

Consulte Requisitos y requisitos previos del sistema.

Dirección URL de la demostración

https://s7d9.scene7.com/s7viewers/html5/FlyoutViewer.html?asset=Scene7SharedAssets/ImageSet-Views-Sample

Uso del visor flotante

El visor flotante 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 visor, recursos y CSS en particular) descargados por el visor en tiempo de ejecución

El visor flotante solo está diseñado para uso incrustado, lo que significa que está integrado en la página web mediante API documentada. No hay ninguna página web preparada para la producción disponible para el visor flotante.

La configuración y el desollado son similares a los de los demás visores. Puede utilizar CSS personalizada para aplicar la aplicación de aspectos.

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 visor flotante

El visor flotante admite gestos de un solo toque y de varios toque que son comunes en otras aplicaciones móviles.

Gesto

Descripción

Un solo toque

Activa la vista flotante o los cambios entre el nivel de zoom primario y el secundario.

Barrido horizontal o deslizamiento

Se desplaza por la lista de muestras de la barra de muestras.

Barrido vertical

Si el gesto se realiza dentro del área de muestras, realiza un desplazamiento de página nativo.

El visor también admite entrada táctil y entrada de ratón en dispositivos Windows con pantalla táctil y ratón. Sin embargo, esta compatibilidad está limitada únicamente a los navegadores web Chrome, Internet Explorer 11 y Edge.

Este visor es totalmente accesible mediante teclado.

Consulte Navegación y accesibilidad del teclado.

Incrustación de un visor flotante

Las diferentes páginas web tienen diferentes necesidades de comportamiento del visor. La página web puede tener un diseño de página estático o utilizar un diseño interactivo que se muestre de forma diferente en distintos dispositivos o en diferentes tamaños de ventana del explorador. Para satisfacer estas necesidades, el visor admite dos modos de operación principales: incrustación de tamaño fijo e incrustación de diseño interactivo.

Se utiliza el modo de incrustación de tamaño fijo cuando el visor no cambia su tamaño después de su carga inicial. Esta opción es mejor para las páginas web que tienen un diseño de página estático.

El modo de incrustación de diseño interactivo supone que el visor debe cambiar el tamaño durante el tiempo de 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.

Cuando utilice el modo de incrustación de diseño interactivo con el visualizador flotante, asegúrese de especificar puntos de interrupción explícitos para la imagen de vista principal mediante la variable imagereload parámetro. Lo ideal es que sus puntos de interrupción coincidan con los puntos de interrupción de anchura del visor tal y como dicta el CSS de la página web.

En el modo de incrustación de diseño interactivo, el visor se comporta de forma diferente en función de la forma en que un contenedor de páginas web DIV tiene el tamaño deseado. 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 que se utilice. Esta funcionalidad significa que el recurso encaja perfectamente en la vista sin ningún relleno en los lados. Este caso de uso en particular es el más común para las páginas web que usan marcos de diseño interactivo 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 visor rellena solo esa área y sigue el tamaño proporcionado por el diseño de la página web. Un buen ejemplo de uso 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 FlyoutViewer.js. FlyoutViewer.js se encuentra en el siguiente html5/js/ subcarpeta de la implementación estándar de IS-Viewers:

<s7viewers_root>/html5/js/FlyoutViewer.js

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

Una ruta relativa tiene el siguiente aspecto:

<script language="javascript" type="text/javascript" src="/s7viewers/html5/js/FlyoutViewer.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.

    Agregue un elemento DIV vacío a la página donde desee que aparezca el visor. El elemento DIV debe tener su ID definido, ya que este ID se pasa más adelante a la API del visor.

    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.

    Es responsabilidad de la página web especificar el z-index para el elemento DIV del marcador de posición. De este modo, se garantiza que la parte flotante del visualizador aparezca encima de los demás elementos de la página web.

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

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

    Este visor muestra miniaturas al trabajar con conjuntos de varios elementos. En los sistemas de escritorio, las miniaturas se colocan debajo de la vista principal. Al mismo tiempo, el visor permite el intercambio del recurso principal durante el tiempo de ejecución mediante setAsset() API. Como desarrollador, tiene control sobre cómo administra el visor el área de miniaturas del área inferior cuando el nuevo recurso solo tiene un elemento. Es posible mantener intacto el tamaño del visor exterior y permitir que la vista principal aumente su altura y ocupe el área de miniaturas. O bien, puede mantener estático el tamaño de la vista principal y contraer el área del visor exterior, lo que permite que el contenido de la página web se mueva hacia arriba y, a continuación, utilizar el espacio inmobiliario de la página libre que queda en las miniaturas.

    Para mantener intactos los límites exteriores del visor, defina el tamaño de .s7flyoutviewer clase CSS de nivel superior en unidades absolutas. El tamaño en CSS se puede colocar directamente en la página HTML o en un archivo CSS de visor personalizado, posteriormente asignado a un registro preestablecido de visor en Dynamic Media Classic o pasado explícitamente mediante el comando Estilo.

    Consulte Personalización del visor flotante 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 del tamaño estático del visor exterior en una página de HTML:

    #s7viewer.s7flyoutviewer {
     width: 640px;
     height: 480px;
    }
    

    Puede ver el comportamiento con un área fija del visor exterior en la siguiente página de muestra. Tenga en cuenta que cuando cambia entre conjuntos, el tamaño del visor exterior no cambia:

    https://experienceleague.adobe.com/tools/dynamic-media-demo/viewers-ref/flyout/FlyoutViewer-fixed-outer-area.html?lang=es?lang=es

    Para que las dimensiones de la vista principal sean estáticas, defina el tamaño del visor en unidades absolutas para el Container Componente SDK que utiliza .s7flyoutviewer .s7container Selector de CSS. Además, debe anular el tamaño fijo definido para la variable .s7flyoutviewer clase CSS de nivel superior en el CSS del visor predeterminado, configurándola en auto.

    A continuación, se muestra un ejemplo de definición del tamaño del visor para el Container Componente SDK para que el área de vista principal no cambie su tamaño al cambiar el recurso:

    #s7viewer.s7flyoutviewer {
     width: auto;
     height: auto;
    }
    #s7viewer.s7flyoutviewer .s7container {
     width: 640px;
     height: 480px;
    }
    

    La siguiente página de muestra muestra el comportamiento del visor con un tamaño fijo de vista principal. Tenga en cuenta que cuando cambia entre conjuntos, la vista principal permanece estática y el contenido de la página web se mueve verticalmente:

    https://experienceleague.adobe.com/tools/dynamic-media-demo/viewers-ref/flyout/FlyoutViewer-fixed-main-view.html?lang=es?lang=es

    Además, el visor CSS predeterminado proporciona un tamaño fijo para su área externa predeterminada.

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

    Cuando haya completado los pasos anteriores, cree una instancia de s7viewers.FlyoutViewer 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 la variable containerId campo que contiene el nombre del ID del contenedor del visor y anidado params objeto JSON con parámetros de configuración compatibles con 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 esta acción, la carga del visor se reanuda automáticamente.

    El siguiente es un ejemplo de creación de una instancia de visor, pasando las opciones de configuración mínimas necesarias al constructor y llamando a la función init() método. El ejemplo asume flyoutViewer es la instancia del visor; s7viewer es el nombre del marcador de posición DIV; http://s7d1.scene7.com/is/image/ es la URL del servicio de imágenes; y Scene7SharedAssets/ImageSet-Views-Sample es el recurso:

    <script type="text/javascript">
    var flyoutViewer = new s7viewers.FlyoutViewer({
     "containerId":"s7viewer",
    "params":{
     "asset":"Scene7SharedAssets/ImageSet-Views-Sample",
     "serverurl":"http://s7d1.scene7.com/is/image/"
    }
    }).init();
    </script>
    

    El siguiente código es un ejemplo completo de una página web trivial que incorpora el visor flotante con un tamaño fijo:

    <!DOCTYPE html>
    <html>
    <head>
    <script type="text/javascript" src="http://s7d1.scene7.com/s7viewers/html5/js/FlyoutViewer.js"></script>
    <style type="text/css">
    #s7viewer.s7flyoutviewer {
     width: 640px;
     height: 480px;
    }
    </style>
    </head>
    <body>
    <div id="s7viewer" style="position:relative;z-index:1;"></div>
    <script type="text/javascript">
    var flyoutViewer = new s7viewers.FlyoutViewer({
     "containerId":"s7viewer",
    "params":{
     "asset":"Scene7SharedAssets/ImageSet-Views-Sample",
     "serverurl":"http://s7d1.scene7.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, sin restringir su altura. 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 debe anular el tamaño fijo del visor CSS predeterminado con el tamaño establecido en unidades relativas.

  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.

Todos los pasos anteriores son los mismos que con el tamaño fijo que se integra con las tres excepciones siguientes:

  • añadir el contenedor DIV al "tenedor" existente DIV;
  • added imagereload parámetro con puntos de interrupción explícitos;
  • en lugar de establecer un tamaño de visor fijo mediante unidades absolutas, utilice CSS que establezca la anchura y la altura del visor en 100 %, como se muestra a continuación:
#s7viewer.s7flyoutviewer {
 width: 100%;
 height: 100%;
}

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://s7d1.scene7.com/s7viewers/html5/js/FlyoutViewer.js"></script>
<style type="text/css">
.holder {
 width: 40%;
}
#s7viewer.s7flyoutviewer {
 width: 100%;
 height: 100%;
}
</style>
</head>
<body>
<div class="holder">
<div id="s7viewer" style="position:relative;z-index:1"></div>
</div>
<script type="text/javascript">
var flyoutViewer = new s7viewers.FlyoutViewer({
 "containerId":"s7viewer",
"params":{
 "asset":"Scene7SharedAssets/ImageSet-Views-Sample",
 "serverurl":"http://s7d1.scene7.com/is/image/",
 "imagereload":"1,breakpoint,200;400;800;1600"
}
}).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:

Demostraciones en directo

Ubicación de demostración alternativa

Integració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 lo centra 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 el diseño interactivo incrustado con altura ilimitada. El ejemplo resultante es el siguiente:

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://s7d1.scene7.com/s7viewers/html5/js/FlyoutViewer.js"></script>
<style type="text/css">
html, body {
 width: 100%;
 height: 100%;
}
.holder {
 position: absolute;
 left: 20%;
 top: 20%;
 width: 60%;
height: 60%;
}
#s7viewer.s7flyoutviewer {
 width: 100%;
 height: 100%;
}
</style>
</head>
<body>
<div class="holder">
<div id="s7viewer" style="position:relative;z-index:1"></div>
</div>
<script type="text/javascript">
var flyoutViewer = new s7viewers.FlyoutViewer({
 "containerId":"s7viewer",
"params":{
 "asset":"Scene7SharedAssets/ImageSet-Views-Sample",
 "serverurl":"http://s7d1.scene7.com/is/image/",
 "imagereload":"1,breakpoint,200;400;800;1600"
}
}).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 API basada en establecedor:

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://s7d1.scene7.com/s7viewers/html5/js/FlyoutViewer.js"></script>
<style type="text/css">
#s7viewer.s7flyoutviewer {
 width: 640px;
 height: 480px;
}
</style>
</head><body>
<div id="s7viewer" style="position:relative;z-index:1;"></div>
<script type="text/javascript">
var flyoutViewer = new s7viewers.FlyoutViewer();
flyoutViewer.setContainerId("s7viewer");
flyoutViewer.setParam("serverurl", "http://s7d1.scene7.com/is/image/");
flyoutViewer.setAsset("Scene7SharedAssets/ImageSet-Views-Sample");
flyoutViewer.init();
</script>
</body>
</html>

En esta página