Zoom intégré inline-zoom

La visionneuse de zoom en ligne est une visionneuse d’images. Il affiche une image statique avec la version agrandie affichée au-dessus de cette image statique lorsqu’un utilisateur fait défiler ou touche la vue principale. Cette visionneuse fonctionne avec des visionneuses d’images et la navigation est effectuée à l’aide d’échantillons. Il est conçu pour fonctionner sur les ordinateurs de bureau et les appareils mobiles.

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

Le type de visionneuse est 504.

Voir Configuration requise et conditions préalables.

URL de démonstration section-e1c3106f5b3e445d9b95be337c2f94e2

https://s7d9.scene7.com/s7viewers/html5/FlyoutViewer.html?asset=Scene7SharedAssets/ImageSet-Views-Sample&config=Scene7SharedAssets/Universal_HTML5_Zoom_Inline&stagesize=500,400

Utilisation de la visionneuse de zoom intégrée section-f21ac23d3f6449ad9765588d69584772

La visionneuse de zoom intégrée représente un fichier JavaScript principal et un ensemble de fichiers d’assistance (une seule JavaScript est incluse 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.

La visionneuse de zoom intégrée peut être utilisée en mode pop-up à l’aide de la page d’HTML prête pour la production fournie avec les visionneuses de diffusion d’images ou en mode intégré où elle est intégrée à une page web cible à l’aide d’une API documentée.

La configuration et l’habillage sont similaires à ceux des autres visionneuses. Vous pouvez utiliser une page CSS personnalisée pour appliquer l’habillage.

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 intégrée section-ab66eb6955aa4a8aa6d14a3b3acfed3f

La visionneuse de zoom en ligne prend en charge les gestes tactiles simples et multipoints communs aux autres applications mobiles.

Mouvement
Description
Appuyer une seule fois
Active la vue déroulante ou modifie le niveau de zoom principal et secondaire dans les échantillons, sélectionne une nouvelle miniature.
Glissement ou clic horizontal
Fait défiler la liste des échantillons dans la barre d’échantillons.
Glissement vertical
Si le mouvement est effectué dans la zone des échantillons, il effectue un défilement de page natif.

La visionneuse prend également 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. Cette prise en charge est toutefois limitée aux navigateurs Web Chrome, Internet Explorer 11 et Edge.

Cette visionneuse est entièrement accessible au clavier.

Voir Accessibilité clavier et navigation.

Incorporation de la visionneuse de zoom intégrée section-6bb5d3c502544ad18a58eafe12a13435

Le comportement de la visionneuse varie en fonction des pages web. Il arrive qu’une page web fournisse un lien cliquable qui ouvre la visionneuse dans une fenêtre de navigateur distincte. Dans d’autres cas, il peut être 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 des tailles fixes et incorporation réactive.

pop-up

Dans le mode contextuel, la visionneuse s’ouvre dans une fenêtre ou un onglet de navigateur Web distinct. Elle prend toute la zone de la fenêtre du navigateur et s’ajuste lorsque la fenêtre du navigateur est redimensionnée ou que l’orientation de l’appareil est 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 d’HTML A correctement configuré ou de toute autre méthode appropriée.

Il est recommandé d’utiliser la page d’HTML d’usine pour le mode contextuel appelé FlyoutViewer.html. Il se trouve sous le sous-dossier html5/ de votre déploiement Image Serving-Viewers standard :

<s7viewers_root>/html5/FlyoutViewer.html

Le composant FlyoutZoomView doit également être configuré pour fonctionner en mode de zoom intégré. Il est recommandé d’utiliser le paramètre prédéfini prêt à l’emploi Scene7SharedAssets/Universal_HTML5_Zoom_Inline pour la visionneuse de zoom en ligne ou un paramètre prédéfini personnalisé dérivé de ce paramètre. La personnalisation visuelle peut être réalisée en appliquant une page CSS personnalisée.

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

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

Incorporation de taille fixe et incorporation réactive

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 occupe uniquement une partie de l’espace des pages web.

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

Le mode d’incorporation des tailles fixe est utilisé lorsque la visionneuse ne modifie pas sa taille après son chargement initial. Ce choix est préférable pour les pages web ayant une mise en page statique.

Le mode d’incorporation de la conception réactive suppose que la visionneuse doit être redimensionnée lors de l’exécution en réponse au changement de taille de son conteneur DIV. Le cas d’utilisation le plus courant consiste à ajouter une visionneuse à une page web qui utilise une mise en page flexible.

Lors de l’utilisation du mode d’incorporation Responsive Design avec la visionneuse de zoom en ligne, veillez à spécifier des points d’arrêt explicites pour l’image de la vue principale à l’aide du paramètre imagereload . Idéalement, faites correspondre vos points d’arrêt avec les points d’arrêt de largeur de la visionneuse comme dicté par la page web CSS.

En mode d’incorporation en responsive design, la visionneuse se comporte différemment selon la taille d’un conteneur de page web DIV. Si la page web définit uniquement la largeur du conteneur DIV, en ne limitant pas sa hauteur, la visionneuse sélectionne automatiquement sa hauteur en fonction des proportions de la ressource utilisée. Cette fonctionnalité signifie que la ressource s’intègre parfaitement à la vue sans marge intérieure sur les côtés. Ce cas d’utilisation particulier est le plus courant pour les pages web qui utilisent des structures de mise en page en responsive design comme Bootstrap ou Foundation.

Sinon, si la page web définit à la fois la largeur et la hauteur du conteneur de la visionneuse DIV, la visionneuse ne remplit que cette zone et suit la taille fournie par la mise en page web. Un bon exemple de cas d’utilisation consiste à incorporer la visionneuse dans une superposition modale, où la superposition est dimensionnée en fonction de la taille de la fenêtre du navigateur web.

Intégration 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 de l’HTML. Avant de pouvoir utiliser l’API de visionneuse, veillez à inclure FlyoutViewer.js. FlyoutViewer.js se trouve dans le sous-dossier html5/js/ suivant de votre déploiement IS-Viewers standard :

<s7viewers_root>/html5/js/FlyoutViewer.js

Vous pouvez utiliser un chemin relatif si la visionneuse est déployée sur l’un des serveurs Dynamic Media 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 Adobe sur lesquels les visionneuses IS sont installées.

Un chemin relatif ressemble à ce qui suit :

<script language="javascript" type="text/javascript" src="/s7viewers/html5/js/FlyoutViewer.js"></script>
NOTE
Ne référencez que le fichier JavaScript include de la visionneuse principale sur votre page. Ne référencez aucun fichier JavaScript supplémentaire dans le code de page web qui peut être téléchargé par la logique de la visionneuse au moment de l’exécution. En particulier, ne référencez pas directement la bibliothèque Utils.js du SDK HTML5 chargée par la visionneuse à partir du chemin de contexte /s7viewers (appelé SDK consolidé include). La raison en est que l’emplacement de Utils.js ou de bibliothèques de visionneuses 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, le fait de placer 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 ensuite transmis à 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.

    Il est de la responsabilité de la page web de spécifier le z-index approprié pour l’élément DIV de l’espace réservé. Cela permet de s’assurer que la partie fenêtre déroulante de la visionneuse s’affiche au-dessus des autres éléments de la page web.

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

    code language-html
    <div id="s7viewer" style="position:relative;z-index:1"></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. En même temps, la visionneuse permet la permutation de la ressource principale lors 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 dans la zone inférieure 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 extérieure, en laissant le contenu de la page web se déplacer vers le haut, puis utiliser l’espace libre de la page laissé par les miniatures.

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

    Pour plus d’informations sur le style de la visionneuse avec CSS, voir Personnalisation de la visionneuse de zoom intégrée .

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

    code language-html
    #s7viewer.s7flyoutviewer {
     width: 640px;
     height: 480px;
    }
    

    Vous pouvez voir le comportement avec une zone de visionneuse externe fixe sur l’exemple de page 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/inlinezoom/InlineZoom-fixed-outer-area.html?lang=fr

    Pour rendre les dimensions d’affichage principales statiques, définissez la taille de la visionneuse en unités absolues pour le composant de SDK Container interne à l’aide du sélecteur CSS .s7flyoutviewer .s7container. En outre, vous devez remplacer la taille fixe définie pour la classe CSS de niveau supérieur .s7flyoutviewer dans le CSS de la visionneuse par défaut, en la définissant sur auto.

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

    code language-html
    #s7viewer.s7flyoutviewer {
     width: auto;
     height: auto;
    }
    #s7viewer.s7flyoutviewer .s7container {
     width: 640px;
     height: 480px;
    }
    

    L’exemple de page suivant montre 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/inlinezoom/InlineZoom-fixed-main-view.html?lang=fr

    En outre, la feuille CSS de visionneuse par défaut fournit une taille fixe pour sa zone externe prête à l’emploi.

  3. Création et initialisation de la visionneuse.

    Lorsque vous avez suivi les étapes ci-dessus, vous créez une instance de la classe s7viewers.FlyoutViewer, 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 avoir 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 avoir au moins l’URL de diffusion d’images transmise en tant que propriété serverUrl ; la ressource initiale en tant que paramètre asset, le chemin de base pour le chargement de CSS en tant que paramètre contentUrl et le nom de paramètre prédéfini en tant que paramètre config. 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 de fermeture BODY ou sur l’événement body onload() .

    Dans le même temps, l’élément de conteneur ne doit pas nécessairement faire partie de la mise en 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. Lorsque cette action se produit, le chargement de la visionneuse reprend automatiquement.

    Voici un exemple de création d’une instance de visionneuse, en transmettant les options de configuration minimales nécessaires au constructeur et en appelant la méthode init(). L’exemple suppose que inlineZoomViewer 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 :

    code language-html
    <script type="text/javascript">
    var inlineZoomViewer = new s7viewers.FlyoutViewer({
     "containerId":"s7viewer",
    "params":{
     "asset":"Scene7SharedAssets/ImageSet-Views-Sample",
    "config" : "Scene7SharedAssets/Universal_HTML5_Zoom_Inline",
    "contenturl" : "http://s7d1.scene7.com/is/content/",
    "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 de zoom intégrée à une taille fixe :

    code language-html
    <!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 inlineZoomViewer = new s7viewers.FlyoutViewer({
     "containerId":"s7viewer",
    "params":{
     "asset":"Scene7SharedAssets/ImageSet-Views-Sample",
    "config" : "Scene7SharedAssets/Universal_HTML5_Zoom_Inline",
    "contenturl" : "http://s7d1.scene7.com/is/content/",
     "serverurl":"http://s7d1.scene7.com/is/image/"
    }
    }).init();
    </script>
    </body>
    </html>
    

Intégration de conception réactive avec une hauteur libre section-056cb574713c4d07be6d07cf3c598839

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 d’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 devez remplacer le dimensionnement fixe du CSS de la visionneuse par défaut par la taille définie en unités relatives.

  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.

Toutes les étapes ci-dessus sont identiques à celles de l’incorporation d’une taille fixe avec les trois exceptions suivantes :

  • ajouter le conteneur DIV au "détenteur" existant DIV ;
  • ajout du paramètre imagereload avec des points d’arrêt explicites ;
  • au lieu de définir une taille de visionneuse fixe à l’aide d’unités absolues, utilisez une feuille CSS qui définit la visionneuse width et height sur 100 % comme dans l’exemple suivant :
#s7viewer.s7flyoutviewer {
 width: 100%;
 height: 100%;
}

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/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 inlineZoomViewer = new s7viewers.FlyoutViewer({
 "containerId":"s7viewer",
"params":{
 "asset":"Scene7SharedAssets/ImageSet-Views-Sample",
"config" : "Scene7SharedAssets/Universal_HTML5_Zoom_Inline",
"contenturl" : "http://s7d1.scene7.com/is/content/",
 "serverurl":"http://s7d1.scene7.com/is/image/",
 "imagereload":"1,breakpoint,200;400;800;1600"
}
}).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

Autre emplacement de démonstration

Intégration flexible de taille avec définition de largeur et de hauteur section-0a329016f9414d199039776645c693de

Si l’incorporation de tailles flexibles avec largeur et hauteur est définie, le style de la page web est différent. Il fournit les deux tailles au DIV "holder" 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/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 inlineZoomViewer = new s7viewers.FlyoutViewer({
 "containerId":"s7viewer",
"params":{
 "asset":"Scene7SharedAssets/ImageSet-Views-Sample",
"config" : "Scene7SharedAssets/Universal_HTML5_Zoom_Inline",
"contenturl" : "http://s7d1.scene7.com/is/content/",
 "serverurl":"http://s7d1.scene7.com/is/image/",
 "imagereload":"1,breakpoint,200;400;800;1600"
}
}).init();
</script>
</body>
</html>

Incorporation à l’aide d’une API basée sur Setter section-af26f0cc2e5140e8a9bfd0c6a841a6d1

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 l’API basée sur setter :

<!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 inlineZoomViewer = new s7viewers.FlyoutViewer();
inlineZoomViewer.setContainerId("s7viewer");
inlineZoomViewer.setParam("serverurl", "http://s7d1.scene7.com/is/image/");
inlineZoomViewer.setParam("config", "Scene7SharedAssets/Universal_HTML5_Zoom_Inline");
inlineZoomViewer.setParam("contenturl", "http://s7d1.scene7.com/is/content/");
inlineZoomViewer.setAsset("Scene7SharedAssets/ImageSet-Views-Sample");
inlineZoomViewer.init();
</script>
</body>
</html>
recommendation-more-help
b7426f53-aad9-4c00-83fc-664f30f681e8