Zoom

La visionneuse de zoom est une visionneuse d’images qui affiche une image agrandie. Cette visionneuse fonctionne avec des visionneuses d’images et la navigation est effectuée à l’aide d’échantillons. Il comprend des outils de zoom, la prise en charge du plein écran, des échantillons et un bouton de fermeture facultatif. Il est conçu pour fonctionner sur les ordinateurs de bureau et les appareils mobiles.

REMARQUE

Les images qui utilisent IR (Image Rendering) ou UGC (User-Generated Content) ne sont pas prises en charge par cette visionneuse.

Type de visionneuse 502.

Voir Configuration requise et conditions préalables.

URL de démonstration

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

Utilisation de la visionneuse de zoom

La visionneuse de zoom représente un fichier JavaScript principal et un ensemble de fichiers d’assistance (un seul fichier JavaScript inclus avec tous les composants du SDK de la visionneuse utilisés par cette visionneuse, ressources et CSS particulière) téléchargés par la visionneuse au moment de l’exécution.

Vous pouvez utiliser la visionneuse de zoom en mode contextuel à l’aide d’une page HTML prête pour la production fournie avec les visionneuses IS ou en mode intégré, où elle est intégrée à la page web cible à l’aide d’une API documentée.

La configuration et l’habillage sont similaires à ceux des autres visionneuses. L’habillage est effectué au moyen d’une feuille CSS personnalisée.

Voir Référence de commande commune à toutes les visionneuses - Attributs de configuration et Référence de commande commune à toutes les visionneuses - URL

Interaction avec la visionneuse de zoom

La visionneuse de zoom prend en charge les mouvements tactiles suivants, courants dans d’autres applications mobiles. Lorsque la visionneuse ne peut pas traiter le mouvement de glissement de l’utilisateur, elle transfère l’événement vers le navigateur web pour effectuer un défilement de page natif. Ce type de fonctionnalité permet à l’utilisateur de parcourir la page même si la visionneuse occupe la majeure partie de l’écran de l’appareil.

Mouvement

Description

Appuyer une seule fois

Sélectionne une nouvelle miniature dans les échantillons. Dans la vue principale, elle masque ou révèle les éléments de l’interface utilisateur.

Double appui

Applique un zoom à un niveau jusqu’à ce que l’agrandissement maximal soit atteint. Le geste de double pression suivant réinitialise la visionneuse à l’état d’affichage initial.

Pincement

Applique un zoom avant ou arrière.

Glissement ou clic horizontal

Fait défiler la liste des échantillons dans la barre d’échantillons.

Si l’image est à l’état de réinitialisation et que le paramètre de transition d’image est défini sur diapositive, la ressource est modifiée avec l’animation de la diapositive. Pour les autres modes de transition de cadre , le mouvement effectue le défilement de page natif.

Si l’image est agrandie, elle se déplace horizontalement. Si l’image est déplacée vers le bord de la vue et qu’un glissement est effectué dans la même direction, le mouvement effectue un défilement de page natif.

Glissement vertical

Si l’image est à l’état réinitialisé, le mouvement effectue un défilement de page natif.

Lorsque l’image est agrandie, elle bouge l’image verticalement. Si l’image est déplacée vers le bord de la vue et qu’un glissement est effectué dans la même direction, le mouvement effectue un défilement de page natif.

Si le mouvement est effectué dans la zone des échantillons, il effectue un défilement de page natif.

La visionneuse prend en charge les entrées tactile et de souris sur les périphériques Windows dotés d’un écran tactile et d’une souris. Toutefois, cette prise en charge est limitée aux navigateurs Chrome, Internet Explorer 11 et Edge uniquement.

Cette visionneuse est entièrement accessible au clavier.

Voir Accessibilité clavier et navigation.

Incorporation de la visionneuse de zoom

Le comportement de la visionneuse varie en fonction des pages web. Il arrive qu’une page web fournisse un lien qui, en cliquant dessus, ouvre la visionneuse dans une fenêtre de navigateur distincte. Dans d’autres cas, il est nécessaire d’incorporer directement la visionneuse dans la page d’hébergement. Dans ce cas, la page web peut avoir une mise en page statique ou utiliser une conception réactive qui s’affiche différemment sur différents appareils ou pour différentes tailles de fenêtre de navigateur. Pour répondre à ces besoins, la visionneuse prend en charge trois modes de fonctionnement Principaux : pop-up, incorporation de taille fixe et incorporation de conceptions réactives.

A propos du mode pop-up

En mode contextuel, la visionneuse s’ouvre dans une fenêtre ou un onglet de navigateur Web distinct. Il prend toute la zone de la fenêtre du navigateur et s’ajuste au cas où le navigateur serait redimensionné ou où l’orientation de l’appareil serait modifiée.

Ce mode est le plus courant pour les appareils mobiles. La page web charge la visionneuse à l’aide de l’appel JavaScript window.open(), de l’élément HTML A correctement configuré ou de toute autre méthode appropriée.

Il est recommandé d’utiliser une page HTML d’usine pour le mode de fonctionnement de la fenêtre contextuelle. La page HTML d’usine est appelée ZoomViewer.html et se trouve sous le sous-dossier html5/ de votre déploiement de visionneuses IS standard, comme dans l’exemple suivant :

<s7viewers_root>/html5/ZoomViewer.html

Application d’une page CSS personnalisée pour obtenir une apparence personnalisée.

Voici un exemple de code HTML qui ouvre la visionneuse dans la nouvelle fenêtre :

 <a 
href="http://s7d1.scene7.com/s7viewers/html5/ZoomViewer.html?asset=Scene7SharedAssets/ImageSet-Views-Sample" 
target="_blank">Open popup viewer</a>

À propos du mode d’incorporation à taille fixe et du mode d’incorporation de responsive design

En mode incorporé, la visionneuse est ajoutée à la page web existante, qui peut déjà comporter du contenu client qui n’est pas lié à la visionneuse. Normalement, la visionneuse n’occupe qu’une partie de l’emplacement de la page web.

Les cas d’utilisation Principaux sont les pages web orientées vers les ordinateurs de bureau ou les tablettes, ainsi que les pages réactives qui ajustent automatiquement la mise en page en fonction du type d’appareil.

L’incorporation des tailles fixes est utilisée lorsque la visionneuse ne modifie pas sa taille après le chargement initial. Cette option est la meilleure option pour les pages web avec une disposition statique.

Le mode d’incorporation des conceptions réactives suppose que le redimensionnement de la visionneuse est nécessaire au moment de l’exécution en raison du changement de taille de son conteneur DIV. Le cas d’utilisation le plus courant consiste à ajouter une visionneuse à une page web qui utilise une disposition souple.

En mode d’incorporation en responsive design, la visionneuse se comporte différemment selon la façon dont la page web dimensionne son conteneur DIV. Si la page web définit uniquement la largeur du conteneur DIV, sans restriction de hauteur, la visionneuse choisit automatiquement sa hauteur en fonction des proportions de la ressource utilisée. Cette logique permet de s’assurer que la ressource s’intègre parfaitement dans la vue sans marge intérieure sur les côtés. Ce cas d’utilisation est le plus courant pour les pages web qui utilisent des structures de mise en page réactive telles que Bootstrap, Foundation, etc.

Si la page web définit la largeur et la hauteur du conteneur de la visionneuse DIV, la visionneuse remplit cette zone et suit la taille fournie par la page web. Par exemple, l’incorporation de la visionneuse dans une superposition modale, où la superposition est dimensionnée en fonction de la taille de la fenêtre du navigateur web.

Incorporation de taille fixe

Pour ajouter la visionneuse à une page web, procédez comme suit :

  1. Ajout du fichier JavaScript de la visionneuse à votre page web.

  2. Définition du conteneur DIV.

  3. Définition de la taille de la visionneuse.

  4. Création et initialisation de la visionneuse.

  5. Ajout du fichier JavaScript de la visionneuse à votre page web.

    Pour créer une visionneuse, vous devez ajouter une balise de script dans l’en-tête HTML. Avant d’utiliser l’API de visionneuse, veillez à inclure ZoomViewer.js. Le fichier ZoomViewer.js se trouve sous le sous-dossier html5/js/ de votre déploiement IS-Viewers standard :

<s7viewers_root>/html5/js/ZoomViewer.js

Vous pouvez utiliser un chemin relatif si la visionneuse est déployée sur l’un des serveurs Dynamic Media Classic Adobe et qu’elle est diffusée à partir du même domaine. Dans le cas contraire, vous spécifiez un chemin d’accès complet à l’un des serveurs Dynamic Media Classic Adobe sur lesquels les visionneuses IS sont installées.

Le chemin relatif ressemble à ce qui suit :

<script language="javascript" type="text/javascript" src="/s7viewers/html5/js/ZoomViewer.js"></script>
REMARQUE

Vous ne devez référencer que le fichier JavaScript de la visionneuse principale include sur votre page. Vous ne devez pas référencer de fichiers JavaScript supplémentaires dans le code de page web qui peuvent être téléchargés selon la logique de la visionneuse au moment de l’exécution. En particulier, ne référencez pas directement la bibliothèque Utils.js SDK HTML5 chargée par la visionneuse à partir du chemin de contexte /s7viewers (appelé SDK consolidé include). Cela est dû au fait que l’emplacement des bibliothèques de visionneuses Utils.js ou d’exécution similaires est entièrement géré par la logique de la visionneuse et que l’emplacement change entre les versions de la visionneuse. Adobe ne conserve pas les anciennes versions de la visionneuse secondaire includes sur le serveur.

Par conséquent, l’insertion d’une référence directe à tout JavaScript secondaire include utilisé par la visionneuse sur la page rompt la fonctionnalité de visionneuse à l’avenir lorsqu’une nouvelle version de produit est déployée.

  1. Définition du conteneur DIV.

    Ajoutez un élément DIV vide à la page sur laquelle vous souhaitez que la visionneuse apparaisse. L’ID de l’élément DIV doit être défini, car cet ID est transmis ultérieurement à l’API de visionneuse.

    L’espace réservé DIV est un élément positionné, ce qui signifie que la propriété CSS position est définie sur relative ou absolute.

    Voici un exemple d’élément DIV d’espace réservé défini :

    <div id="s7viewer" style="position:relative"></div>
    
  2. Définition de la taille de la visionneuse.

    Cette visionneuse affiche des miniatures lorsque vous utilisez des jeux de plusieurs éléments. Sur les systèmes de bureau, les miniatures sont placées sous la vue principale. Parallèlement, la visionneuse permet la permutation de la ressource principale au moment de l’exécution à l’aide de l’API setAsset(). En tant que développeur, vous contrôlez la manière dont la visionneuse gère la zone des miniatures située en bas lorsque la nouvelle ressource ne comporte qu’un seul élément. Il est possible de conserver la taille de la visionneuse externe intacte et de laisser la vue principale augmenter sa hauteur et occuper la zone des miniatures. Vous pouvez également conserver la taille d’affichage principale statique et réduire la zone de la visionneuse externe, en laissant le contenu de la page web se déplacer vers le haut et utiliser les restes d’espace en plein écran des miniatures.

    Pour conserver les limites de la visionneuse externe intactes, définissez la taille de la classe CSS de niveau supérieur .s7zoomviewer en unités absolues. Le dimensionnement en CSS peut être directement placé sur la page HTML ou dans un fichier CSS de visionneuse personnalisé, qui est ultérieurement affecté à un enregistrement de paramètre prédéfini de visionneuse dans Dynamic Media Classic ou transféré explicitement à l’aide d’une commande de style.

    Voir Personnalisation de la visionneuse de zoom pour plus d’informations sur le style de la visionneuse avec CSS.

    Voici un exemple de définition d’une taille de visionneuse externe statique dans une page HTML :

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

    Vous pouvez voir le comportement avec une visionneuse externe fixe dans l’exemple suivant. Notez que lorsque vous passez d’un ensemble à l’autre, la taille de la visionneuse externe ne change pas :

    https://experienceleague.adobe.com/tools/dynamic-media-demo/viewers-ref/zoom/ZoomViewer-fixed-outer-area.html?lang=fr?lang=fr

    Pour rendre les dimensions d’affichage principales statiques, définissez la taille de la visionneuse en unités absolues pour le composant SDK interne Container à l’aide du sélecteur CSS .s7zoomviewer .s7container ou à l’aide du modificateur stagesize.

    Voici un exemple de définition de la taille de la visionneuse pour le composant SDK interne Container afin que la zone d’affichage principale ne change pas sa taille lors du changement de ressource :

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

    La page de démonstration suivante présente le comportement de la visionneuse avec une taille d’affichage principale fixe. Notez que lorsque vous basculez entre deux ensembles, la vue principale reste statique et le contenu de la page web se déplace verticalement.

    https://experienceleague.adobe.com/tools/dynamic-media-demo/viewers-ref/zoom/ZoomViewer-fixed-main-view.html?lang=fr?lang=fr

    Vous pouvez définir le modificateur stagesize dans l’enregistrement du paramètre prédéfini de la visionneuse dans Dynamic Media Classic, ou vous pouvez le transmettre explicitement avec le code d’initialisation de la visionneuse avec la collection params ou en tant qu’appel API, comme décrit dans la section Référence de commande de cette aide, comme dans l’exemple suivant :

     zoomViewer.setParam("stagesize", 
    "640,480");
    

    Une approche basée sur CSS est recommandée et est utilisée dans cet exemple.

  3. Création et initialisation de la visionneuse.

    Une fois les étapes ci-dessus terminées, vous créez une instance de la classe s7viewers.ZoomViewer, transmettez toutes les informations de configuration à son constructeur et appelez la méthode init() sur une instance de visionneuse.

    Les informations de configuration sont transmises au constructeur sous la forme d’un objet JSON. Au minimum, cet objet doit comporter le champ containerId qui contient le nom de l’ID de conteneur de la visionneuse et l’objet JSON params imbriqué avec les paramètres de configuration pris en charge par la visionneuse. Dans ce cas, l’objet params doit comporter au moins la propriété serverUrl URL de diffusion d’images et le paramètre asset de la ressource initiale. L’API d’initialisation basée sur JSON vous permet de créer et de démarrer la visionneuse avec une seule ligne de code.

    Il est important que le conteneur de la visionneuse soit ajouté au modèle DOM afin que le code de la visionneuse puisse trouver l’élément de conteneur en fonction de son identifiant. Certains navigateurs retardent la création du DOM jusqu’à la fin de la page web. Pour bénéficier d’une compatibilité maximale, appelez la méthode init() juste avant la balise BODY de fermeture ou sur l’événement onload() body .

    Dans le même temps, l’élément de conteneur ne doit pas nécessairement faire partie de la mise en page de la page web pour l’instant. Par exemple, il peut être masqué à l’aide du style display:none qui lui est affecté. Dans ce cas, la visionneuse retarde son processus d’initialisation jusqu’au moment où la page web ramène l’élément de conteneur à la mise en page. Dans ce cas, le chargement de la visionneuse reprend automatiquement.

    Voici un exemple de création d’une instance de visionneuse, de transmission des options de configuration minimales nécessaires au constructeur et d’appel de la méthode init() . Cet exemple suppose que zoomViewer est l’instance de visionneuse, s7viewer est le nom de l’espace réservé DIV, http://s7d1.scene7.com/is/image/ est l’URL de diffusion d’images et Scene7SharedAssets/ImageSet-Views-Sample est la ressource.

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

    Le code suivant est un exemple complet d’une page web triviale qui incorpore la visionneuse vidéo à une taille fixe :

    <!DOCTYPE html> 
    <html> 
    <head> 
    <script type="text/javascript" src="http://s7d1.scene7.com/s7viewers/html5/js/ZoomViewer.js"></script> 
    <style type="text/css"> 
    #s7viewer.s7zoomviewer { 
     width: 640px; 
     height: 480px; 
    } 
    </style> 
    </head> 
    <body> 
    <div id="s7viewer" style="position:relative"></div> 
    <script type="text/javascript"> 
    var zoomViewer = new s7viewers.ZoomViewer({ 
     "containerId":"s7viewer", 
    "params":{ 
     "asset":"Scene7SharedAssets/ImageSet-Views-Sample", 
     "serverurl":"http://s7d1.scene7.com/is/image/" 
    } 
    }).init(); 
    </script> 
    </body> 
    </html>
    

Intégration de conception réactive avec une hauteur libre

Avec l’incorporation de responsive design, la page web dispose normalement d’une sorte de disposition flexible qui détermine la taille d’exécution du conteneur de la visionneuse DIV. Pour l’exemple suivant, supposons que la page web permette au conteneur de la visionneuse DIV de prendre 40 % de la taille de la fenêtre du navigateur web, en ne restreignant pas sa hauteur. Le code HTML de la page web se présente comme suit :

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

L’ajout de la visionneuse à une telle page est similaire aux étapes d’incorporation à taille fixe. La seule différence est que vous n’avez pas besoin de définir explicitement la taille de la visionneuse.

  1. Ajout du fichier JavaScript de la visionneuse à votre page web.
  2. Définition du conteneur DIV.
  3. Création et initialisation de la visionneuse.

Toutes les étapes ci-dessus sont identiques à l’incorporation de tailles fixes. Ajoutez le conteneur DIV au "holder" DIV existant. Le code suivant est un exemple complet. Notez comment la taille de la visionneuse change lorsque le navigateur est redimensionné et comment le rapport d’aspect de la visionneuse correspond à la ressource.

<!DOCTYPE html> 
<html> 
<head> 
<script type="text/javascript" src="http://s7d1.scene7.com/s7viewers/html5/js/ZoomViewer.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 zoomViewer = new s7viewers.ZoomViewer({ 
 "containerId":"s7viewer", 
"params":{ 
 "asset":"Scene7SharedAssets/ImageSet-Views-Sample", 
 "serverurl":"http://s7d1.scene7.com/is/image/" 
} 
}).init(); 
</script> 
</body> 
</html> 

La page d’exemples suivante illustre d’autres utilisations réelles de l’incorporation en responsive design avec une hauteur illimitée :

Démonstrations en direct

Incorporation de taille flexible avec définition de la largeur et de la hauteur

Dans le cas d’une incorporation à taille flexible avec des valeurs de largeur et de hauteur définies, le style de la page web est différent. Il fournit les deux tailles à la balise "holder" DIV et le centre dans la fenêtre du navigateur. En outre, la page web définit la taille de l’élément HTML et BODY sur 100 %.

<!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> 

Les autres étapes d’incorporation sont identiques aux étapes utilisées pour l’incorporation en responsive design avec une hauteur illimitée. L’exemple qui en résulte est le suivant :

<!DOCTYPE html> 
<html> 
<head> 
<script type="text/javascript" src="http://s7d1.scene7.com/s7viewers/html5/js/ZoomViewer.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 zoomViewer = new s7viewers.ZoomViewer({ 
 "containerId":"s7viewer", 
"params":{ 
 "asset":"Scene7SharedAssets/ImageSet-Views-Sample", 
 "serverurl":"http://s7d1.scene7.com/is/image/" 
} 
}).init(); 
</script> 
</body> 
</html> 

Incorporation à l’aide d’une API basée sur setter

Au lieu d’utiliser l’initialisation basée sur JSON, il est possible d’utiliser une API basée sur un setter et un constructeur sans args. L’utilisation de ce constructeur d’API ne prend aucun paramètre et les paramètres de configuration sont spécifiés à l’aide des méthodes d’API setContainerId(), setParam() et setAsset() avec des appels JavaScript distincts.

L’exemple suivant illustre l’utilisation de l’incorporation de tailles fixes avec une API basée sur setter :

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

Sur cette page