Grundlegender Zoom basic-zoom
Der einfache Zoom-Viewer ist ein Bild-Viewer, der ein einzelnes zoombares Bild anzeigt. Es verfügt über Zoom-Tools, Vollbildunterstützung und eine optionale Schaltfläche zum Schließen. Dieser Viewer ist der leichteste. Es wurde für Desktop-PCs und mobile Geräte entwickelt.
Viewer-Typ 501.
Siehe Systemanforderungen und Voraussetzungen.
Demo-URL section-e1c3106f5b3e445d9b95be337c2f94e2
https://s7d9.scene7.com/s7viewers/html5/BasicZoomViewer.html?asset=Scene7SharedAssets/Backpack_B
Verwenden des einfachen Zoom-Viewers section-e6c68406ecdc4de781df182bbd8088b4
Der einfache Zoom-Viewer stellt eine JavaScript-Datei und eine Reihe von Hilfsdateien dar, die der Viewer zur Laufzeit herunterlädt. Im Wesentlichen handelt es sich um ein einziges JavaScript-Include mit allen Viewer-SDK-Komponenten, die von diesem bestimmten Viewer, diesen Assets und CSS verwendet werden.
Sie können den einfachen Zoom-Viewer im Popup-Modus mit einer produktionsbereiten HTML-Seite verwenden, die mit IS-Viewers bereitgestellt wird, oder im eingebetteten Modus, wo er mithilfe der dokumentierten API in die Ziel-Web-Seite integriert wird.
Konfiguration und Skinning sind mit denen der anderen Viewer vergleichbar. 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 grundlegenden Zoom-Viewer section-642e66ca38cd4032992840ec6c0b0cd2
Der einfache Zoom-Viewer unterstützt die folgenden Touch-Gesten, die in anderen Mobile Apps üblich sind.
Wenn der Viewer die Wischgeste eines Benutzers nicht verarbeiten kann, leitet er das Ereignis an den Webbrowser weiter, um einen nativen Seitenscroll durchzuführen. Mit dieser Funktion kann der Benutzer durch die Seite navigieren, auch wenn der Viewer den größten Teil des Bildschirmbereichs des Geräts einnimmt.
Wenn sich das Bild in einem zurückgesetzten Zustand befindet, führt die Geste einen nativen Seitenscroll durch.
Wenn das Bild vergrößert wird, wird es verschoben. Wenn das Bild an den Ansichtsrand verschoben und in diese Richtung gewischt wird, führt die Geste einen nativen Seitenscroll durch.
Der Viewer unterstützt auch Touch-Eingabe und Mauseingabe auf Windows-Geräten mit Touchscreen und Maus. Diese Unterstützung ist jedoch auf Chrome, Internet Explorer 11 und Edge-Webbrowser beschränkt.
Dieser Viewer ist vollständig mit der Tastatur zugänglich.
Einbetten des einfachen Zoom-Viewers section-6bb5d3c502544ad18a58eafe12a13435
Verschiedene Web-Seiten haben unterschiedliche Anforderungen an das Viewer-Verhalten. Manchmal enthält eine Web-Seite einen Link, der bei Auswahl den Viewer in einem separaten Browser-Fenster öffnet. In anderen Fällen ist es erforderlich, den Viewer direkt in die Hosting-Seite einzubetten. Im letzteren Fall kann die Web-Seite über ein statisches Seiten-Layout verfügen oder ein responsives Design verwenden, das auf verschiedenen Geräten oder für verschiedene Browser-Fenstergrößen unterschiedlich angezeigt wird. Um diesen Anforderungen gerecht zu werden, unterstützt der Viewer drei primäre Betriebsmodi: Popup, Einbettung mit fester Größe und Einbetten von responsivem Design.
Über den Popup-Modus
Im Popup-Modus wird der Viewer in einem separaten Fenster oder einer separaten Registerkarte des Webbrowsers geöffnet. Sie nimmt den gesamten Browser-Fensterbereich in Anspruch und passt sich an, falls die Größe des Browsers geändert oder die Ausrichtung des Geräts geändert wird.
Der Popup-Modus ist der gängigste für Mobilgeräte. Die Web-Seite lädt den Viewer mithilfe des window.open()
JavaScript-Aufrufs, des ordnungsgemäß konfigurierten HTML-Elements A
einer anderen geeigneten Methode.
Es wird empfohlen, eine vorkonfigurierte HTML-Seite für den Popup-Betriebsmodus zu verwenden. In diesem Fall wird sie als BasicZoomViewer.html bezeichnet und befindet sich im html5/ Unterordner Ihrer standardmäßigen IS-Viewer-Bereitstellung:
<s7viewers_root>/html5/BasicZoomViewer.html
Sie können die visuelle Anpassung erreichen, indem Sie benutzerdefiniertes CSS anwenden.
Im Folgenden finden Sie ein Beispiel für HTML-Code, der den Viewer in einem neuen Fenster öffnet:
<a href="http://s7d1.scene7.com/s7viewers/html5/BasicZoomViewer.html?asset=Scene7SharedAssets/Backpack_B" target="_blank">Open popup viewer</a>
Über den Einbettungsmodus für feste Größe und den Einbettungsmodus für responsives Design
Im eingebetteten Modus wird der Viewer zur vorhandenen Web-Seite hinzugefügt, die möglicherweise bereits einige Kundeninhalte enthält, die nicht mit dem Viewer verknüpft sind. 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, sowie responsive Design-Seiten, deren Layout automatisch an den Gerätetyp angepasst wird.
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 eingeschränkt wird, 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 und folgt der Größe, die das Web-Seiten-Layout bereitstellt. 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.
-
Definieren des Container-DIV.
-
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 BasicZoomViewer.js einbeziehen. Die BasicZoomViewer.js-Datei befindet sich im html5/js/ Unterordner Ihrer standardmäßigen IS-Viewers-Bereitstellung:
<s7viewers_root>/html5/js/BasicZoomViewer.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="/s7viewers/html5/js/BasicZoomViewer.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.-
Definieren des Container-DIV.
Fügen Sie der Seite, auf der der Viewer angezeigt werden soll, ein leeres DIV-Element hinzu. Für das DIV-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.
Das Platzhalter-DIV ist ein positioniertes Element, d. h. die
position
CSS-Eigenschaft ist aufrelative
oderabsolute
festgelegt.Im Folgenden finden Sie ein Beispiel für ein definiertes Platzhalter-DIV-Element:
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
.s7basiczoomviewer
CSS-Klasse der obersten Ebene in absoluten Einheiten deklarieren oderstagesize
Modifikator verwenden.Legen Sie die Größenanpassung in CSS direkt auf der HTML-Seite oder in einer benutzerdefinierten CSS-Viewer-Datei fest. Sie wird dann später einem Viewer-Vorgabeneintrag in Dynamic Media Classic zugewiesen oder explizit mithilfe eines Stilbefehls übergeben.
Weitere zum Formatieren des Viewers mit CSS finden Sie unter „AnpassenZoom-Viewers“.
Im Folgenden finden Sie ein Beispiel für die Definition einer statischen Viewer-Größe auf einer HTML-Seite:
code language-html #s7viewer.s7basiczoomviewer { width: 640px; height: 480px; }
Sie können
stagesize
Modifikator im Viewer-Vorgabeneintrag in Dynamic Media Classic festlegen. Sie können sie auch explizit mit dem Viewer-Initialisierungs-Code mitparams
Sammlung oder als API-Aufruf wie im Abschnitt „Befehlsreferenz“ beschrieben übergeben, wie im Folgenden dargestellt:code language-html basicZoomViewer.setParam("stagesize", "640,480");
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.BasicZoomViewer
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 über ein Feld „containerId“ 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. Bei Eintreten dieses Ereignisses 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,basicZoomViewer
die Viewer-Instanz ist.s7viewer
ist der Name des PlatzhaltersDIV
.http://s7d1.scene7.com/is/image/
ist die Bildbereitstellungs-URL undScene7SharedAssets/Backpack_B
ist das Asset:code language-html <script type="text/javascript"> var basicZoomViewer = new s7viewers.BasicZoomViewer({ "containerId":"s7viewer", "params":{ "asset":"Scene7SharedAssets/Backpack_B", "serverurl":"http://s7d1.scene7.com/is/image/" } }).init(); </script>
Der folgende Code ist ein vollständiges Beispiel für eine triviale Web-Seite, auf der der grundlegende Zoom-Viewer mit einer festen Größe eingebettet ist:
code language-html <!DOCTYPE html> <html> <head> <script type="text/javascript" src="http://s7d1.scene7.com/s7viewers/html5/js/BasicZoomViewer.js"></script> <style type="text/css"> #s7viewer.s7basiczoomviewer { width: 640px; height: 480px; } </style> </head> <body> <div id="s7viewer" style="position:relative"></div> <script type="text/javascript"> var basicZoomViewer = new s7viewers.BasicZoomViewer({ "containerId":"s7viewer", "params":{ "asset":"Scene7SharedAssets/Backpack_B", "serverurl":"http://s7d1.scene7.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, wobei seine Höhe nicht beschränkt wird. 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.
- Definieren des Container-DIV.
- Viewer erstellen und initialisieren.
Alle oben genannten Schritte sind dieselben wie bei der Einbettung in fester Größe. Fügen Sie das 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://s7d1.scene7.com/s7viewers/html5/js/BasicZoomViewer.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 basicZoomViewer = new s7viewers.BasicZoomViewer({
"containerId":"s7viewer",
"params":{
"asset":"Scene7SharedAssets/Backpack_B",
"serverurl":"http://s7d1.scene7.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://s7d1.scene7.com/s7viewers/html5/js/BasicZoomViewer.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 basicZoomViewer = new s7viewers.BasicZoomViewer({
"containerId":"s7viewer",
"params":{
"asset":"Scene7SharedAssets/Backpack_B",
"serverurl":"http://s7d1.scene7.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 einer Setter-basierten API:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://s7d1.scene7.com/s7viewers/html5/js/BasicZoomViewer.js"></script>
<style type="text/css">
#s7viewer.s7basiczoomviewer {
width: 640px;
height: 480px;
}
</style>
</head>
<body>
<div id="s7viewer" style="position:relative"></div>
<script type="text/javascript">
var basicZoomViewer = new s7viewers.BasicZoomViewer();
basicZoomViewer.setContainerId("s7viewer");
basicZoomViewer.setParam("serverurl", "http://s7d1.scene7.com/is/image/");
basicZoomViewer.setAsset("Scene7SharedAssets/Backpack_B");
basicZoomViewer.init();
</script>
</body>
</html>