Zoom sur la ligne inline-zoom

La visionneuse de zoom intégré est une visionneuse d’images. Il affiche une image statique avec la version agrandie affichée sur cette image statique lorsqu’un utilisateur effectue un survol ou touche la vue principale. Cette visionneuse fonctionne avec les visionneuses d’images et la navigation s’effectue à l’aide d’échantillons. Il est conçu pour fonctionner sur les ordinateurs de bureau et les appareils mobiles.

NOTE
Les images qui utilisent le rendu d’image (IR) ou le contenu créé par l’utilisateur (UGC) ne sont pas pris 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://landing.adobe.com/en/na/dynamic-media/ctir-2755/live-demos.html

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

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

La visionneuse de zoom intégré peut être utilisée en mode pop-up à l’aide d’une page HTML prête pour l’exploitation fournie avec les visionneuses d’hébergements 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 feuille CSS personnalisée pour appliquer l’habillage.

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

Interaction avec la visionneuse de zoom intégré section-ab66eb6955aa4a8aa6d14a3b3acfed3f

La visionneuse de zoom intégré prend en charge les gestes tactiles et multipoint courants dans d’autres applications mobiles.

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

La visionneuse prend également en charge l’entrée tactile et l’entrée souris sur les appareils Windows dotés d’un écran tactile et d’une souris. Cette prise en charge se limite toutefois aux navigateurs web Chrome, Internet Explorer 11 et Edge uniquement.

Cette visionneuse est entièrement accessible à partir du clavier.

Voir Accessibilité clavier et navigation.

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

Les différentes pages web ont des besoins différents en termes de comportement des observateurs. Parfois, une page web fournit 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 dernier cas, la page web peut avoir une mise en page statique ou utiliser une conception réactive qui s’affiche différemment selon l’appareil ou la taille des fenêtres du navigateur. Pour répondre à ces besoins, la visionneuse prend en charge trois modes de fonctionnement principaux : pop-up, incorporation à taille fixe et incorporation réactive.

Pop-up

En mode pop-up, la visionneuse s’ouvre dans une fenêtre ou un onglet distinct du navigateur web. Il 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 window.open()’appel JavaScript, correctement configuré A l’élément HTML ou de toute autre manière appropriée.

Il est recommandé d’utiliser la page HTML prête à l’emploi pour le mode pop-up appelé FlyoutViewer.html. Il se trouve sous le sous-dossier html5/ de votre déploiement d’visionneuses d’images standard :

<s7viewers_root>/html5/FlyoutViewer.html

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

Voici un exemple de code HTML qui permet d’ouvrir 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 à 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 non lié à la visionneuse. Normalement, la visionneuse n’occupe qu’une partie de l’espace réservé à la page web.

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

Le mode d’incorporation de taille fixe est utilisé lorsque la visionneuse ne change pas de taille après son chargement initial. Ce choix est préférable pour les pages web avec une disposition de page statique.

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

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

En mode d’incorporation de responsive design, la visionneuse se comporte différemment selon la taille du DIV de conteneur de pages web. Si la page web définit uniquement la largeur du DIV de conteneur, sans restriction de hauteur, la visionneuse choisit automatiquement sa hauteur en fonction des proportions de la ressource utilisée. Cette fonctionnalité signifie que la ressource s’adapte 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 disposition en responsive design telles que Bootstrap ou Foundation.

Dans le cas contraire, si la page web définit à la fois la largeur et la hauteur du DIV de conteneur de la visionneuse, celle-ci ne remplit que cette zone et respecte la taille fournie par la mise en page de la 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.

Incorporation de taille fixe

Ajoutez la visionneuse à une page web en procédant comme suit :

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

  2. La définition du DIV de conteneur.

  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.

    La création d’une visionneuse nécessite l’ajout d’une balise de script dans l’en-tête 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 d’observateurs IS standard :

<s7viewers_root>/html5/js/FlyoutViewer.js

Vous pouvez utiliser un chemin d’accès relatif si la visionneuse est déployée sur l’un des serveurs Dynamic Media d’Adobe et qu’elle est diffusée à partir du même domaine. Sinon, 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
Référencez uniquement le fichier de include JavaScript de la visionneuse principale sur votre page. Ne référencez aucun fichier JavaScript supplémentaire dans le code de page web qui pourrait ê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 de Utils.js SDK HTML5 chargée par la visionneuse à partir /s7viewers chemin de contexte (appelé include consolidée de SDK). En effet, l’emplacement des bibliothèques de visionneuse d’exécution Utils.js ou similaires est entièrement géré par la logique de la visionneuse et l’emplacement change entre les versions de la visionneuse. Adobe ne conserve pas les anciennes versions des includes secondaires de la visionneuse sur le serveur.
Par conséquent, le fait de placer une référence directe à toute include JavaScript secondaire utilisée par la visionneuse sur la page interrompt la fonctionnalité de la visionneuse à l’avenir lorsqu’une nouvelle version du produit est déployée.
  1. Définition du DIV du conteneur.

    Ajoutez un élément DIV vide à la page sur laquelle vous souhaitez que la visionneuse apparaisse. L’identifiant de l’élément DIV doit être défini, car cet identifiant 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 incombe à la page web de spécifier le z-index approprié pour l’élément DIV d’espace réservé. Cela permet de s’assurer que la partie déroulante de la visionneuse s’affiche au-dessus des autres éléments de la page web.

    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 visionneuses d’éléments multiples. Sur les ordinateurs de bureau, les miniatures sont placées sous la vue principale. Dans le même temps, la visionneuse permet de permuter la ressource principale au moment de l’exécution à l’aide de l’API setAsset(). En tant que développeur ou développeuse, 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 extérieure intacte et de laisser la vue principale augmenter sa hauteur et occuper la zone des miniatures. Vous pouvez également conserver la taille de l’affichage principal statique et réduire la zone extérieure de la visionneuse, en laissant le contenu de la page web se déplacer vers le haut, puis utiliser l’espace disponible à gauche dans les miniatures.

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

    Consultez Personnalisation de la visionneuse de zoom intégré pour plus d’informations sur la mise en forme de la visionneuse avec CSS.

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

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

Pour rendre les dimensions d’affichage principales statiques, définissez la taille de la visionneuse en unités absolues pour le composant SDK Container interne à l’aide .s7flyoutviewer .s7container sélecteur CSS. 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 modifie pas sa taille lors du changement de ressource :

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

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

  1. Création et initialisation de la visionneuse.

    Une fois les étapes ci-dessus terminées, vous créez une instance de s7viewers.FlyoutViewer classe, transmettez toutes les informations de configuration à son constructeur et appelez init() méthode sur une instance de visionneuse. Les informations de configuration sont transmises au constructeur en tant qu’objet JSON. Au minimum, cet objet doit comporter le champ containerId qui contient le nom de l’ID de conteneur de visionneuse et de 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 l’URL du service 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 du CSS en tant que paramètre contentUrl et le nom du préréglage 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 d’ajouter le conteneur de visionneuse au DOM afin que le code de la visionneuse puisse trouver l’élément de conteneur à l’aide de son identifiant. Certains navigateurs retardent la création du DOM jusqu’à la fin de la page web. Pour une compatibilité maximale, appelez la méthode init() juste avant la balise BODY de fermeture ou sur l’événement body onload().

    Dans le même temps, l’élément de conteneur ne doit pas nécessairement encore faire partie de la mise en page web. Par exemple, elle peut être masquée à l’aide display:none style 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 dans 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, transmettant les options de configuration minimales nécessaires au constructeur et 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 du service 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 de page web triviale qui incorpore la visionneuse de zoom intégré avec 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>
    

Incorporation de conception réactive avec hauteur illimitée section-056cb574713c4d07be6d07cf3c598839

Avec l’incorporation de responsive design, la page web dispose normalement d’un type de disposition flexible qui détermine la taille d’exécution du DIV de conteneur de la visionneuse. Dans l’exemple suivant, supposons que la page web permette au DIV de conteneur de la visionneuse de prendre 40 % de la taille de la fenêtre du navigateur web, sans restriction de 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 la taille fixe à partir 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. La définition du DIV de conteneur.
  3. Définition de la taille de la visionneuse.
  4. Création et initialisation de la visionneuse.

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

  • ajouter l'DIV conteneur au DIV « porte-conteneur » existant ;
  • ajout d’un 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 le CSS qui définit la width et la height de la visionneuse sur 100 % comme dans ce qui suit :
#s7viewer.s7flyoutviewer {
 width: 100%;
 height: 100%;
}

Le code suivant en est un exemple complet. Notez la manière dont la taille de la visionneuse change lorsque le navigateur est redimensionné, ainsi que la manière dont les proportions de la visionneuse correspondent à 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 Responsive Design avec une hauteur illimitée :

Démonstrations en direct

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

S’il existe une incorporation de taille flexible avec la largeur et la hauteur définies, 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>

Le reste des étapes d’incorporation est identique aux étapes utilisées pour l’incorporation de 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 de l’API Setter section-af26f0cc2e5140e8a9bfd0c6a841a6d1

Au lieu d’utiliser l’initialisation basée sur JSON, il est possible d’utiliser l’API basée sur setter et le 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 taille fixe avec l’API 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