Interactieve afbeelding interactive-image
Interactive Image Viewer is een viewer die één niet-zoombare afbeelding met aanklikbare hotspots weergeeft. Het doel van deze viewer is het implementeren van een 'shoppable banner'-ervaring. Met andere woorden, de gebruiker kan een hotspot boven de bannerafbeelding selecteren en worden omgeleid naar een Quickview- of productdetailpagina op uw website. Het is ontworpen voor gebruik op desktops en mobiele apparaten.
Het viewertype is 508.
Demo-URL section-c0ad383db6a444979dc7eeb1ec4cf54d
https://landing.adobe.com/en/na/dynamic-media/ctir-2755/live-demos.html
Systeemvereisten section-b7270cc4290043399681dc504f043609
Zie vereisten van het Systeem .
Interactieve afbeeldingsviewer gebruiken section-e6c68406ecdc4de781df182bbd8088b4
Interactive Image Viewer vertegenwoordigt een JavaScript-hoofdbestand en een set helperbestanden (één JavaScript-bestand met alle SDK-componenten van Viewer die door deze viewer worden gebruikt, elementen, CSS) die door de viewer in runtime zijn gedownload.
Interactive Image Viewer kan alleen worden gebruikt in de ingesloten modus, waar deze met de gedocumenteerde API is geïntegreerd in de doelwebpagina.
Configuratie en skins zijn vergelijkbaar met die van de andere viewers die in deze Help worden beschreven. Alle skins worden gemaakt door middel van aangepaste CSS.
Zie verwijzing van het Bevel gemeenschappelijk aan alle kijkers - de attributen van de Configuratie en verwijzing van het Bevel gemeenschappelijk aan alle Kijkers - URL
Interactie met Interactive Image Viewer section-642e66ca38cd4032992840ec6c0b0cd2
Interactie die wordt ondersteund door de Video Image Viewer is activering van hotspots op desktopsystemen. Deze activering vindt plaats op klikapparaten en op aanraakapparaten met één tik.
De viewer is volledig toegankelijk via het toetsenbord.
Zie toegankelijkheid van het Toetsenbord en navigatie .
Interactieve afbeeldingsviewer insluiten section-6bb5d3c502544ad18a58eafe12a13435
De interactieve beeldviewer is ingesloten in de hostpagina. Een dergelijke webpagina kan een statische lay-out hebben of kan "responsief" zijn en anders worden weergegeven op verschillende apparaten of voor verschillende venstergrootten in de browser.
Om aan deze behoeften tegemoet te komen, ondersteunt de viewer twee primaire bewerkingsmodi: insluiten van vaste grootte en responsieve insluiting.
Ongeveer vaste grootte inbeddende wijze en ontvankelijke ontwerp het inbedden wijze
In de ingesloten modus wordt de viewer toegevoegd aan de bestaande webpagina. Deze webpagina heeft mogelijk al inhoud van een klant die geen betrekking heeft op de viewer. De viewer neemt doorgaans slechts een deel van het onroerend goed van een webpagina in beslag.
De meest gebruikte gevallen zijn webpagina's die zijn georiënteerd op desktops of tablets en responsieve, ontworpen pagina's die de lay-out automatisch aanpassen, afhankelijk van het apparaattype.
De insluiting met een vaste grootte wordt gebruikt wanneer de viewer de grootte niet wijzigt na de eerste keer laden. Deze methode is de beste keuze voor webpagina's met een statische indeling.
Bij het insluiten van responsieve ontwerpen wordt ervan uitgegaan dat de viewer bij uitvoering de grootte moet wijzigen als reactie op de wijziging van de grootte van de container DIV
. De meest gebruikte optie is het toevoegen van een viewer aan een webpagina die een flexibele pagina-indeling gebruikt.
In de responsieve ontwerpinsluitingsmodus werkt de viewer anders, afhankelijk van de manier waarop de container van de webpagina wordt verkleind DIV
. Als op de webpagina alleen de breedte van de container DIV
wordt ingesteld en de hoogte onbeperkt blijft, kiest de viewer automatisch de hoogte op basis van de hoogte-breedteverhouding van het gebruikte element. Deze functionaliteit zorgt ervoor dat het element perfect in de weergave past zonder opvulling aan de zijkanten. Dit is het meest gangbare geval voor webpagina's die responsieve webontwerplay-outframeworks zoals Bootstrap en Foundation gebruiken.
Als de webpagina zowel de breedte als de hoogte voor de container van de viewer DIV
instelt, vult de viewer alleen dat gebied. De pagina volgt ook de grootte die de webpaginalay-out biedt. Een goed voorbeeld is het insluiten van de viewer in een modale overlay, waarbij de grootte van de overlay wordt aangepast aan de venstergrootte van de webbrowser.
Vaste grootte het inbedden
U voegt de viewer als volgt toe aan een webpagina:
-
Het JavaScript-bestand van de viewer toevoegen aan uw webpagina.
-
De container definiëren
DIV
. -
De viewergrootte instellen.
-
De viewer maken en initialiseren
-
Het JavaScript-bestand van de viewer toevoegen aan uw webpagina.
Voor het maken van een viewer moet u een scripttag toevoegen aan de kop van HTML. Zorg ervoor dat u InterativeImage.js opneemt voordat u de viewer-API kunt gebruiken. Het bestand InteractiveImage.js bevindt zich in de submap html5/js/ van uw standaard IS-Viewers-implementatie:
<s7viewers_root>/etc/dam/viewers/s7viewers/html5/js/InteractiveImage.js
U kunt een relatief pad gebruiken als de viewer wordt geïmplementeerd op een van de Adobe Dynamic Media Classic-servers en vanuit hetzelfde domein wordt aangeboden. Anders geeft u een volledig pad op naar een van de Adobe Dynamic Media Classic-servers waarop IS-Viewers zijn geïnstalleerd.
Het relatieve pad ziet er als volgt uit:
<script language="javascript" type="text/javascript" src="/etc/dam/viewers/s7viewers/html5/js/InteractiveImage.js"></script>
include
-hoofdviewerbestand op uw pagina. Verwijs geen extra JavaScript-bestanden in de webpaginacode die door de logica van de viewer tijdens de uitvoering kunnen worden gedownload. Verwijs met name niet rechtstreeks naar de HTML5 SDK Utils.js
-bibliotheek die door de viewer is geladen vanuit het /s7viewers
contextpad (de zogenaamde geconsolideerde SDK include
). De reden hiervoor is dat de locatie van Utils.js
of vergelijkbare runtimeviewerbibliotheken volledig wordt beheerd door de logica van de viewer en dat de locatie verandert tussen de viewerreleases. Adobe houdt oudere versies van de secundaire viewer includes
niet op de server.include
op de pagina plaatst, wordt de viewerfunctionaliteit in de toekomst verbroken wanneer een nieuwe productversie wordt geïmplementeerd.-
De container definiëren
DIV
.Voeg een leeg
DIV
-element toe aan de pagina waarop u de viewer wilt weergeven. De id van het elementDIV
moet zijn gedefinieerd omdat deze id later wordt doorgegeven aan de viewer-API. De grootte van het DIV-bestand wordt bepaald door CSS.De plaatsaanduiding
DIV
is een gepositioneerd element, wat betekent dat de eigenschapposition
CSS is ingesteld oprelative
ofabsolute
.Hieronder ziet u een voorbeeld van een gedefinieerd plaatsaanduidingselement
DIV
:code language-html <div id="s7viewer" style="position:relative"></div>
-
De viewergrootte instellen
U kunt de statische grootte voor de viewer instellen door de viewer te declareren voor de CSS-klasse op hoofdniveau in absolute eenheden of door de optie
.s7interactiveimage
te gebruiken.stagesize
U kunt de grootte in CSS rechtstreeks op de HTML-pagina plaatsen. U kunt de grootte ook in een aangepast CSS-bestand van de viewer plaatsen, dat later wordt toegewezen aan een record met viewervoorinstellingen in Adobe Experience Manager Assets - Op aanvraag of expliciet wordt doorgegeven met de opdracht
style
.Zie Video voor meer informatie over het stileren van de kijker met CSS.
Hieronder ziet u een voorbeeld van het definiëren van een statische viewergrootte op de HTML-pagina:
code language-html #s7viewer.s7interactiveimage { width: 1174px; height: 500px; }
U kunt de optie
stagesize
expliciet doorgeven met de initialisatiecode van de viewer metparams
-verzameling of als een API-aanroep, zoals wordt beschreven in de sectie Opdrachtverwijzing:code language-html interactiveImage.setParam("stagesize", "1174,500");
Een op CSS gebaseerde benadering wordt geadviseerd en in dit voorbeeld gebruikt.
-
De viewer maken en initialiseren
Wanneer u de bovenstaande stappen hebt uitgevoerd, maakt u een instantie van de klasse
s7viewers.InteractiveImage
, geeft u alle configuratiegegevens door aan de constructor en roept u de methodeinit()
aan voor een viewerinstantie. De informatie van de configuratie wordt overgegaan tot de aannemer als voorwerp JSON. Dit object moet minimaal eencontainerId
-veld hebben met de naam van de viewercontainer-id en een genestparams
JSON-object met configuratieparameters die door de viewer worden ondersteund. In dit geval moet voor hetparams
-object ten minste de URL van de afbeeldingsserver worden doorgegeven als eigenschapserverUrl
en het eerste element als parameterasset
. Met de op JSON gebaseerde initialisatie-API kunt u de viewer maken en starten met één coderegel.Het is belangrijk dat de viewercontainer aan het DOM wordt toegevoegd, zodat de viewercode het containerelement op basis van de id kan vinden. Sommige browsers stellen het samenstellen van DOM tot het einde van de webpagina uit. Roep voor maximale compatibiliteit de methode
init()
aan vlak voor de afsluitendeBODY
-tag of voor de bodyonload()
-gebeurtenis.Tegelijkertijd mag het containerelement nog niet noodzakelijkerwijs deel uitmaken van de webpaginalay-out. Het kan bijvoorbeeld verborgen zijn met de daaraan toegewezen
display:none
stijl. In dit geval vertraagt de viewer het initialisatieproces totdat de webpagina het containerelement weer in de layout plaatst. Wanneer deze gebeurtenis plaatsvindt, wordt de viewer automatisch opnieuw geladen.Hieronder ziet u een voorbeeld van het maken van een viewer-instantie, het doorgeven van de minimaal benodigde configuratieopties aan de constructor en het aanroepen van de methode
init()
. In het voorbeeld wordt ervan uitgegaan datinteractiveImage
de viewerinstantie is;s7viewer
is de naam van de plaatsaanduidingDIV
;http://aodmarketingna.assetsadobe.com/is/image
is de URL van de afbeeldingsserver en/content/dam/mac/aodmarketingna/shoppable-banner/shoppable-banner.
is het element:code language-html <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>
De volgende code is een volledig voorbeeld van een triviale webpagina die de Video Image Viewer insluit met een vaste grootte:
code language-html <!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>
Responsief ontwerp inbeddend met onbeperkte hoogte
Bij responsieve ontwerpinsluiting heeft de webpagina normaal gesproken een flexibele indeling die de runtimegrootte van de container van de viewer DIV
bepaalt. In het volgende voorbeeld wordt ervan uitgegaan dat de webpagina de container van de viewer DIV
40% van de venstergrootte van de webbrowser laat innemen. En de hoogte blijft onbeperkt. De HTML-code van de webpagina ziet er als volgt uit:
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
.holder {
width: 40%;
}
</style>
</head>
<body>
<div class="holder"></div>
</body>
</html>
Het toevoegen van de viewer aan een dergelijke pagina is vergelijkbaar met de stappen voor het insluiten van een vaste grootte. Het enige verschil is dat u de viewergrootte niet expliciet hoeft te definiëren.
- Het JavaScript-bestand van de viewer toevoegen aan uw webpagina.
- De container definiëren
DIV
. - De viewer maken en initialiseren
Alle bovenstaande stappen zijn gelijk aan die bij het insluiten van de vaste grootte. Voeg de container DIV
toe aan de bestaande "holder"
DIV
. De volgende code is een volledig voorbeeld. U ziet hoe de grootte van de viewer verandert wanneer de browser wordt aangepast en hoe de hoogte-breedteverhouding van de viewer overeenkomt met het element.
<!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>
Flexibele grootte die met Gedefinieerde Breedte en Hoogte inbedt
Als er insluiting in flexibele grootte is waarbij de breedte en hoogte zijn gedefinieerd, is de opmaak van de webpagina anders. Het biedt beide grootten voor de "holder"
DIV en centreert deze in het browservenster. Bovendien stelt de webpagina de grootte van het element HTML
en BODY
in op 100 procent.
<!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>
De overige insluitingsstappen zijn identiek aan de stappen die worden gebruikt voor het insluiten van responsieve lagen met onbeperkte hoogte. Het resulterende voorbeeld is het volgende:
<!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>
Inbeddend het Gebruiken van op zetter-Gebaseerde API
In plaats van JSON-gebaseerde initialisatie, is het mogelijk om op setter-gebaseerde API en no-args aannemer te gebruiken. Wanneer u deze API-constructor gebruikt, worden er geen parameters gebruikt en worden configuratieparameters opgegeven met de API-methoden setContainerId()
, setParam()
en setAsset()
met afzonderlijke JavaScript-aanroepen.
In het volgende voorbeeld wordt het gebruik van insluiting met een vaste grootte met de op een setter gebaseerde API geïllustreerd:
<!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>