Interaktives Bild interactive-image
Der interaktive Bild-Viewer ist ein Viewer, der ein einzelnes, nicht zoombares Bild mit klickbaren Hotspots anzeigt. Der Zweck dieses Viewers ist die Implementierung eines „Banner-Erlebnisses mit Shopping-Funktion“. Das heißt, der Benutzer kann einen Hotspot über dem Bannerbild auswählen und zu einer Schnellansicht- oder Produktdetailseite auf Ihrer Website umgeleitet werden. Es wurde für Desktop-PCs und mobile Geräte entwickelt.
Viewer-Typ ist 508.
Demo-URL section-c0ad383db6a444979dc7eeb1ec4cf54d
Systemanforderungen section-b7270cc4290043399681dc504f043609
Siehe Systemanforderungen.
Verwenden des interaktiven Bild-Viewers section-e6c68406ecdc4de781df182bbd8088b4
Der interaktive Bild-Viewer stellt eine JavaScript-Hauptdatei und einen Satz Hilfsdateien (ein einziges JavaScript Include mit allen Viewer-SDK-Komponenten, die von diesem bestimmten Viewer verwendet werden, Assets, CSS) dar, die vom Viewer zur Laufzeit heruntergeladen wurden.
Der interaktive Bild-Viewer kann nur im eingebetteten Modus verwendet werden, wo er mithilfe der dokumentierten API in die Ziel-Web-Seite integriert wird.
Konfiguration und Skinning ähneln denen der anderen Viewer, die in dieser Hilfe beschrieben werden. Die gesamte Skin-Verwaltung erfolgt über benutzerdefiniertes CSS.
Siehe Für alle Viewer gemeinsame Befehlsreferenz - Konfigurationsattribute und Für alle Viewer gemeinsame Befehlsreferenz - URL
Interagieren mit dem interaktiven Bild-Viewer section-642e66ca38cd4032992840ec6c0b0cd2
Interaktion, die vom Videobild-Viewer unterstützt wird, ist die Hotspot-Aktivierung auf Desktop-Systemen. Diese Aktivierung erfolgt durch einfaches Tippen beim Klicken und Berühren von Geräten.
Der Viewer ist vollständig mit der Tastatur zugänglich.
Siehe Tastaturzugriff und Navigation.
Einbetten des interaktiven Bild-Viewers section-6bb5d3c502544ad18a58eafe12a13435
Der interaktive Bild-Viewer ist in die Hosting-Seite eingebettet. Eine solche Web-Seite kann ein statisches Layout haben, oder sie kann „responsiv“ sein und auf verschiedenen Geräten oder für verschiedene Browser-Fenstergrößen unterschiedlich angezeigt werden.
Um diesen Anforderungen gerecht zu werden, unterstützt der Viewer zwei primäre Betriebsmodi: Einbetten in fester Größe und responsives Einbetten.
Über den Einbettungsmodus für feste Größe und den Einbettungsmodus für responsives Design
Im eingebetteten Modus wird der Viewer zur vorhandenen Webseite hinzugefügt. Möglicherweise enthält diese Web-Seite bereits Kundeninhalte, die sich nicht auf den Viewer beziehen. Der Viewer belegt normalerweise nur einen Teil des Grundbesitzes einer Web-Seite.
Die wichtigsten Anwendungsfälle sind Web-Seiten, die für Desktops oder Tablet-Geräte ausgerichtet sind, und responsiv gestaltete Seiten, die das Layout automatisch je nach Gerätetyp anpassen.
Einbetten in fester Größe wird verwendet, wenn der Viewer seine Größe nach dem ersten Laden nicht ändert. Diese Methode ist die beste Wahl für Web-Seiten mit statischem Layout.
Beim Einbetten eines responsiven Designs wird davon ausgegangen, dass die Größe des Viewers zur Laufzeit entsprechend der Größenänderung seiner Container-DIV
geändert werden muss. Der häufigste Anwendungsfall ist das Hinzufügen eines Viewers zu einer Web-Seite, die ein flexibles Seiten-Layout verwendet.
Im responsiven Design-Einbettungsmodus verhält sich der Viewer unterschiedlich, je nachdem, wie die Größe der Web-Seite seinen Container-DIV
bestimmt. Wenn die Web-Seite nur die Breite des Container-DIV
festlegt und seine Höhe nicht beschränkt, wählt der Viewer automatisch seine Höhe entsprechend dem Seitenverhältnis des verwendeten Assets aus. Diese Funktion stellt sicher, dass das Asset perfekt in die Ansicht passt, ohne dass an den Seiten ein Abstand vorhanden ist. Dieser Anwendungsfall ist der häufigste bei Web-Seiten, die responsive Web-Design-Layout-Frameworks wie Bootstrap und Foundation verwenden.
Wenn die Web-Seite jedoch sowohl die Breite als auch die Höhe für die Container-DIV
des Viewers festlegt, füllt der Viewer nur diesen Bereich aus. Dies entspricht auch der Größe, die das Web-Seiten-Layout bietet. Ein gutes Beispiel ist das Einbetten des Viewers in eine modale Überlagerung, bei der die Größe der Überlagerung an die Fenstergröße des Webbrowsers angepasst ist.
Einbetten in fester Größe
Sie können den Viewer wie folgt zu einer Web-Seite hinzufügen:
-
Hinzufügen der Viewer-JavaScript-Datei zu Ihrer Web-Seite.
-
Container-
DIV
definieren. -
Festlegen der Viewer-Größe.
-
Viewer erstellen und initialisieren.
-
Hinzufügen der Viewer-JavaScript-Datei zu Ihrer Web-Seite.
Zum Erstellen eines Viewers müssen Sie dem HTML-Head ein Script-Tag hinzufügen. Bevor Sie die Viewer-API verwenden können, stellen Sie sicher, dass Sie InterativeImage.js einbeziehen. Die InteractiveImage.js-Datei befindet sich im html5/js/ Unterordner Ihrer standardmäßigen IS-Viewers-Bereitstellung:
<s7viewers_root>/etc/dam/viewers/s7viewers/html5/js/InteractiveImage.js
Sie können einen relativen Pfad verwenden, wenn der Viewer auf einem der Adobe Dynamic Media Classic-Server bereitgestellt wird und er von derselben Domain bereitgestellt wird. Andernfalls geben Sie einen vollständigen Pfad zu einem der Adobe Dynamic Media Classic-Server an, auf denen die IS-Viewer installiert sind.
Der relative Pfad sieht wie folgt aus:
<script language="javascript" type="text/javascript" src="/etc/dam/viewers/s7viewers/html5/js/InteractiveImage.js"></script>
include
-Datei des Haupt-Viewers. Verweisen Sie nicht auf zusätzliche JavaScript-Dateien im Web-Seiten-Code, die möglicherweise von der Logik des Viewers zur Laufzeit heruntergeladen werden. Verweisen Sie insbesondere nicht direkt auf die vom Viewer aus /s7viewers
Kontextpfad geladene HTML5 SDK Utils.js
-Bibliothek (so genannte konsolidierte SDK-include
). Der Grund dafür ist, dass der Speicherort von Utils.js
oder ähnlichen Runtime-Viewer-Bibliotheken vollständig von der Logik des Viewers verwaltet wird und sich der Speicherort zwischen den Viewer-Versionen ändert. Adobe speichert ältere Versionen der sekundären Viewer-includes
nicht auf dem Server.include
einfügen, die vom Viewer verwendet wird, wird die Viewer-Funktionalität in Zukunft unterbrochen, wenn eine neue Produktversion bereitgestellt wird.-
Container-
DIV
definieren.Fügen Sie der Seite, auf der der Viewer angezeigt werden soll, ein leeres
DIV
hinzu. Für dasDIV
-Element muss eine ID definiert sein, da diese ID später an die Viewer-API übergeben wird. Die Größe des DIV wird durch CSS angegeben.Der
DIV
ist ein positioniertes Element, d. h. dieposition
CSS-Eigenschaft ist aufrelative
oderabsolute
festgelegt.Im Folgenden finden Sie ein Beispiel für ein definiertes Platzhalter-
DIV
:code language-html <div id="s7viewer" style="position:relative"></div>
-
Festlegen der Viewer-Größe
Sie können die statische Größe für den Viewer festlegen, indem Sie sie entweder für
.s7interactiveimage
CSS-Klasse der obersten Ebene in absoluten Einheiten deklarieren oderstagesize
Modifikator verwenden.Sie können die Größenanpassung in CSS direkt auf der HTML-Seite festlegen. Sie können die Größenanpassung auch in eine benutzerdefinierte Viewer-CSS-Datei einfügen, die dann später in Adobe Experience Manager Assets „On-Demand“ einem Viewer-Vorgabeneintrag zugewiesen oder explizit mit
style
Befehl übergeben wird.Weitere Informationen Formatieren des Viewers mit CSS finden Sie„Video“.
Im Folgenden finden Sie ein Beispiel für die Definition einer statischen Viewer-Größe auf der HTML-Seite:
code language-html #s7viewer.s7interactiveimage { width: 1174px; height: 500px; }
Sie können den
stagesize
-Modifikator explizit mit dem Viewer-Initialisierungs-Code mitparams
Sammlung oder als API-Aufruf übergeben, wie im Abschnitt „Befehlsreferenz“ beschrieben, wie hier zu sehen:code language-html interactiveImage.setParam("stagesize", "1174,500");
Ein CSS-basierter Ansatz wird empfohlen und wird in diesem Beispiel verwendet.
-
Viewer erstellen und initialisieren.
Wenn Sie die obigen Schritte ausgeführt haben, erstellen Sie eine Instanz
s7viewers.InteractiveImage
Klasse, übergeben alle Konfigurationsinformationen an ihren Konstruktor und rufeninit()
Methode in einer Viewer-Instanz auf. Konfigurationsinformationen werden als JSON-Objekt an den Konstruktor übergeben. Dieses Objekt sollte mindestens übercontainerId
Feld verfügen, das den Namen der Viewer-Container-ID enthält undparams
JSON-Objekt mit Konfigurationsparametern verschachtelt ist, die vom Viewer unterstützt werden. In diesem Fall muss für dasparams
-Objekt mindestens die Bildbereitstellungs-URL alsserverUrl
-Eigenschaft übergeben werden und das anfängliche Asset mussasset
Parameter sein. Mit der JSON-basierten Initialisierungs-API können Sie den Viewer mit einer einzigen Codezeile erstellen und starten.Es ist wichtig, dass der Viewer-Container zum DOM hinzugefügt wird, damit der Viewer-Code das Container-Element anhand seiner ID finden kann. Einige Browser verzögern die Erstellung von DOM bis zum Ende der Web-Seite. Um maximale Kompatibilität zu erzielen, rufen Sie die
init()
-Methode unmittelbar vor dem schließendenBODY
-Tag oder im body-onload()
auf.Gleichzeitig sollte das Container-Element noch nicht unbedingt Teil des Web-Seiten-Layouts sein. Beispielsweise kann sie mithilfe
display:none
ihr zugewiesenen Stils ausgeblendet werden. In diesem Fall verzögert der Viewer den Initialisierungsprozess bis zu dem Moment, an dem die Web-Seite das Container-Element wieder zum Layout zurückbringt. Wenn dieses Ereignis eintritt, wird das Laden des Viewers automatisch fortgesetzt.Im Folgenden finden Sie ein Beispiel für das Erstellen einer Viewer-Instanz, das Übergeben der erforderlichen Mindestkonfigurationsoptionen an den Konstruktor und das Aufrufen der
init()
-Methode. Im Beispiel wird davon ausgegangen,interactiveImage
die Viewer-Instanz ist.s7viewer
ist der Name des PlatzhaltersDIV
.http://aodmarketingna.assetsadobe.com/is/image
ist die Bildbereitstellungs-URL und/content/dam/mac/aodmarketingna/shoppable-banner/shoppable-banner.
ist das Asset: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>
Der folgende Code ist ein vollständiges Beispiel für eine triviale Web-Seite, bei der der Video-Bild-Viewer mit einer festen Größe eingebettet wird:
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>
Responsives Design mit unbegrenzter Höhe
Beim Einbetten eines responsiven Designs verfügt die Web-Seite normalerweise über ein flexibles Layout, das die Laufzeitgröße der Container-DIV
des Viewers bestimmt. Nehmen wir für das folgende Beispiel an, dass die Web-Seite dem Container-DIV
des Viewers ermöglicht, 40 % der Fenstergröße des Webbrowsers zu verwenden. Und seine Höhe ist unbegrenzt. Der Web-Seiten-HTML-Code würde wie folgt aussehen:
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
.holder {
width: 40%;
}
</style>
</head>
<body>
<div class="holder"></div>
</body>
</html>
Das Hinzufügen des Viewers zu einer solchen Seite ähnelt den Schritten für Einbetten in fester Größe. Der einzige Unterschied besteht darin, dass Sie die Viewer-Größe nicht explizit definieren müssen.
- Hinzufügen der Viewer-JavaScript-Datei zu Ihrer Web-Seite.
- Container-
DIV
definieren. - Viewer erstellen und initialisieren.
Alle oben genannten Schritte sind dieselben wie bei der Einbettung in fester Größe. Fügen Sie die Container-DIV
zum vorhandenen "holder"
-DIV
hinzu. Der folgende Code ist ein vollständiges Beispiel. Beachten Sie, wie sich die Viewer-Größe ändert, wenn der Browser skaliert wird, und wie das Seitenverhältnis des Viewers mit dem Asset übereinstimmt.
<!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>
Die folgende Beispielseite zeigt weitere reale Verwendungen der responsiven Designeinbettung mit unbegrenzter Höhe:
Flexible Einbettungsgröße mit definierter Breite und Höhe
Wenn es Einbettungen in flexibler Größe gibt, bei denen Breite und Höhe definiert sind, ist der Web-Seiten-Stil anders. Es bietet beide Größen für den "holder"
DIV und zentriert ihn im Browser-Fenster. Außerdem legt die Web-Seite die Größe des HTML
- und BODY
auf 100 Prozent fest.
<!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>
Die übrigen Einbettungsschritte sind identisch mit den Schritten für responsives Einbetten mit unbegrenzter Höhe. Das daraus resultierende Beispiel lautet:
<!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>
Einbetten mithilfe der Setter-basierten API
Anstatt die JSON-basierte Initialisierung zu verwenden, ist es möglich, eine Setter-basierte API und einen Nicht-Args-Konstruktor zu verwenden. Bei Verwendung dieses API-Konstruktors sind keine Parameter erforderlich und Konfigurationsparameter werden mithilfe von setContainerId()
-, setParam()
- und setAsset()
-API-Methoden mit separaten JavaScript-Aufrufen angegeben.
Das folgende Beispiel veranschaulicht die Verwendung der Einbettung fester Größe mit der Setter-basierten API:
<!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>