Flyout flyout
Flyout Viewer is een beeldviewer. Er wordt een statische afbeelding weergegeven met de ingezoomde versie die wordt weergegeven in de vervolgweergave die een gebruiker activeert. Deze viewer werkt met afbeeldingssets en de navigatie wordt uitgevoerd met stalen. Het is ontworpen voor gebruik op desktops en mobiele apparaten.
Viewer type is 504.
Zie vereisten en eerste vereisten van het Systeem.
Demo-URL section-e1c3106f5b3e445d9b95be337c2f94e2
Flyout-viewer gebruiken section-f21ac23d3f6449ad9765588d69584772
Flyout Viewer vertegenwoordigt een JavaScript-hoofdbestand en een set hulpbestanden (één JavaScript-bestand met alle SDK-componenten van de viewer die door deze viewer worden gebruikt, elementen, CSS) die door de viewer in runtime zijn gedownload
De Flyout Viewer is alleen bedoeld voor ingesloten gebruik, wat betekent dat deze met gedocumenteerde API is geïntegreerd in de webpagina. Voor de Flyout-viewer is geen voor productie geschikte webpagina beschikbaar.
Configuratie en skins zijn vergelijkbaar met die van de andere viewers. U kunt aangepaste CSS gebruiken om skins toe te passen.
Zie verwijzing van het Bevel gemeenschappelijk aan alle kijkers - de attributen van de Configuratieen verwijzing van het Bevel gemeenschappelijk aan alle Kijkers - URL
Interactie met Flyout Viewer section-ab66eb6955aa4a8aa6d14a3b3acfed3f
De Flyout Viewer ondersteunt Single-touch en multi-touch bewegingen die ook in andere mobiele toepassingen voorkomen.
De viewer ondersteunt ook aanraakinvoer en muisinvoer op Windows-apparaten met aanraakscherm en muis. Deze ondersteuning is echter alleen beschikbaar voor webbrowsers van Chrome, Internet Explorer 11 en Edge.
Deze viewer is volledig toegankelijk via het toetsenbord.
Zie toegankelijkheid van het Toetsenbord en navigatie.
Flyout-viewer insluiten section-6bb5d3c502544ad18a58eafe12a13435
Verschillende webpagina's hebben verschillende vereisten voor viewergedrag. De webpagina kan een statische pagina-indeling hebben, of een responsief ontwerp gebruiken dat op verschillende apparaten anders wordt weergegeven of voor verschillende venstergrootten in de browser. Om aan deze behoeften tegemoet te komen, ondersteunt de viewer twee primaire bewerkingsmodi: insluiten van een vaste grootte en insluiten van een responsief ontwerp.
De insluitingsmodus met een vaste grootte wordt gebruikt wanneer de viewer de grootte niet wijzigt nadat de viewer voor het eerst is geladen. Deze optie is het meest geschikt voor webpagina's met een statische pagina-indeling.
Bij de insluitingsmodus voor responsief ontwerp wordt ervan uitgegaan dat de viewer tijdens de runtime 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.
Wanneer u responsieve ontwerpinsluitingsmodus gebruikt met de Flyout-viewer, moet u expliciete onderbrekingspunten opgeven voor de hoofdweergaveafbeelding met de parameter imagereload
. In het ideale geval past u uw onderbrekingspunten aan met de breedteonderbrekingspunten van de viewer die door de CSS van de webpagina worden voorgeschreven.
In de responsieve ontwerpinsluitingsmodus werkt de viewer anders, afhankelijk van de grootte van een webpaginacontainer DIV
. Als de webpagina alleen de breedte van de container DIV
instelt en de hoogte onbeperkt laat, kiest de viewer automatisch de hoogte op basis van de hoogte-breedteverhouding van het element dat wordt gebruikt. Dit betekent dat het element perfect in de weergave past zonder opvulling aan de zijkanten. Dit specifieke gebruiksgeval komt het meest voor op webpagina's die responsieve ontwerplay-outframeworks zoals Bootstrap en Foundation gebruiken.
Als de webpagina zowel de breedte als de hoogte voor de container van de viewer instelt DIV
, vult de viewer alleen dat gebied en volgt deze het formaat dat wordt aangegeven door de indeling van de webpagina. Een voorbeeld van een nuttig geval 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
FlyoutViewer.js
opneemt voordat u de viewer-API kunt gebruiken.FlyoutViewer.js
bevindt zich in de volgende html5/js/ -submap van uw standaard IS-Viewers-implementatie:
<s7viewers_root>/html5/js/FlyoutViewer.js
U kunt een relatief pad gebruiken als de viewer wordt geïmplementeerd op een van de Adobe Dynamic Media-servers en het vanuit hetzelfde domein wordt aangeboden. Anders geeft u een volledig pad op naar een van de Adobe Dynamic Media-servers waarop IS-Viewers zijn geïnstalleerd.
Een relatief pad ziet er als volgt uit:
<script language="javascript" type="text/javascript" src="/s7viewers/html5/js/FlyoutViewer.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 DIV definiëren.
Voeg een leeg DIV-element toe aan de pagina waarop u de viewer wilt weergeven. De id van het DIV-element moet worden gedefinieerd, omdat deze id later wordt doorgegeven aan de viewer-API.
De plaatsaanduiding DIV is een gepositioneerd element, wat betekent dat de eigenschap
position
CSS is ingesteld oprelative
ofabsolute
.Het is de verantwoordelijkheid van de webpagina om de juiste
z-index
voor het plaatsaanduidings-DIV-element op te geven. Zo zorgt u ervoor dat het vervolggedeelte van de viewer boven op de andere webpagina-elementen wordt weergegeven.Hieronder ziet u een voorbeeld van een gedefinieerd plaatsaanduiding voor een DIV-element:
code language-html <div id="s7viewer" style="position:relative;z-index:1"></div>
-
De viewergrootte instellen.
In deze viewer worden miniaturen weergegeven wanneer u werkt met sets met meerdere items. Op desktopsystemen worden miniaturen onder de hoofdweergave geplaatst. Tegelijkertijd kan de viewer het hoofdelement tijdens runtime wisselen met de API
setAsset()
. Als ontwikkelaar hebt u controle over de manier waarop de viewer het miniatuurgebied in het onderste gebied beheert wanneer het nieuwe element slechts één item bevat. Het is mogelijk de grootte van de buitenste viewer ongewijzigd te laten en de hoogte van de hoofdweergave te verhogen en het gebied met miniaturen in beslag te nemen. U kunt ook de grootte van de hoofdweergave statisch houden en het buitenste viewergebied samenvouwen, de inhoud van de webpagina omhoog laten verplaatsen en vervolgens het openstaande paginagebied van de miniaturen gebruiken.Als u de buitenste grenzen van de viewer ongewijzigd wilt laten, definieert u de grootte voor de CSS-klasse op hoofdniveau in absolute eenheden.
.s7flyoutviewer
Grootte in CSS kan rechts op de HTML-pagina worden geplaatst, of in een aangepast CSS-bestand van de viewer, later worden toegewezen aan een viewer-voorinstellingsrecord in Dynamic Media Classic, of expliciet worden doorgegeven met de opdracht style.Zie het Aanpassen van de Kijker van de Flyoutvoor meer informatie over het stileren van de kijker met CSS.
Hieronder ziet u een voorbeeld van het definiëren van de statische buitenste viewergrootte in een HTML-pagina:
code language-html #s7viewer.s7flyoutviewer { width: 640px; height: 480px; }
U kunt het gedrag met een vast buitenste viewergebied op de volgende voorbeeldpagina zien. Wanneer u schakelt tussen sets, verandert de grootte van de buitenste viewer niet:
Als u de afmetingen van de hoofdweergave statisch wilt maken, definieert u de viewergrootte in absolute eenheden voor de binnenste
Container
SDK-component met behulp van de.s7flyoutviewer .s7container
CSS-kiezer. Daarnaast moet u de vaste grootte die is gedefinieerd voor de CSS-klasse op hoofdniveau van.s7flyoutviewer
in de standaard viewer-CSS negeren door deze in te stellen opauto
.Hieronder ziet u een voorbeeld van het definiëren van de viewergrootte voor de binnenste
Container
SDK-component, zodat het hoofdweergavegebied de grootte van het gebied niet wijzigt wanneer het wordt omgeschakeld van het element:code language-html #s7viewer.s7flyoutviewer { width: auto; height: auto; } #s7viewer.s7flyoutviewer .s7container { width: 640px; height: 480px; }
Op de volgende voorbeeldpagina ziet u het gedrag van de viewer met een vaste hoofdweergavegrootte. Wanneer u tussen sets schakelt, blijft de hoofdweergave statisch en wordt de inhoud van de webpagina verticaal verplaatst:
Bovendien biedt de CSS van de standaardviewer een vaste grootte voor het buitenste gebied.
-
De viewer maken en initialiseren
Wanneer u de bovenstaande stappen hebt uitgevoerd, maakt u een instantie van de klasse
s7viewers.FlyoutViewer
, geeft u alle configuratiegegevens door aan de constructor en roept u de methodeinit()
aan voor een viewer-instantie. De informatie van de configuratie wordt overgegaan tot de aannemer als voorwerp JSON. Dit object moet minstens het veldcontainerId
hebben met de naam van de viewercontainer-id en het genesteparams
JSON-object met configuratieparameters die de viewer ondersteunt. 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 de 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 actie wordt uitgevoerd, 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 datflyoutViewer
de viewerinstantie is;s7viewer
is de naam van de plaatsaanduidingDIV
;http://s7d1.scene7.com/is/image/
is de URL van de afbeeldingsserver; enScene7SharedAssets/ImageSet-Views-Sample
is het element:code language-html <script type="text/javascript"> var flyoutViewer = new s7viewers.FlyoutViewer({ "containerId":"s7viewer", "params":{ "asset":"Scene7SharedAssets/ImageSet-Views-Sample", "serverurl":"http://s7d1.scene7.com/is/image/" } }).init(); </script>
De volgende code is een volledig voorbeeld van een triviale webpagina die de Flyout-viewer insluit met een vaste grootte:
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 flyoutViewer = new s7viewers.FlyoutViewer({ "containerId":"s7viewer", "params":{ "asset":"Scene7SharedAssets/ImageSet-Views-Sample", "serverurl":"http://s7d1.scene7.com/is/image/" } }).init(); </script> </body> </html>
Responsief ontwerpinsluiting met onbeperkte hoogte section-056cb574713c4d07be6d07cf3c598839
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 DIV
van de viewer 40% van de venstergrootte van de webbrowser laat nemen, waarbij de hoogte onbeperkt blijft. 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 vaste grootte van de standaardviewer-CSS moet overschrijven met de grootte die is ingesteld in relatieve eenheden.
- Het JavaScript-bestand van de viewer toevoegen aan uw webpagina.
- De container definiëren
DIV
. - De viewergrootte instellen.
- De viewer maken en initialiseren
Alle bovenstaande stappen zijn gelijk aan de stappen voor de insluiting van een vaste grootte, met de volgende drie uitzonderingen:
- de container
DIV
toevoegen aan de bestaande "holder"DIV
; - toegevoegde
imagereload
-parameter met expliciete onderbrekingspunten; - in plaats van een vaste viewergrootte in te stellen met absolute eenheden gebruikt u CSS die de breedte en hoogte van de viewer instelt op 100% zoals in het volgende voorbeeld:
#s7viewer.s7flyoutviewer {
width: 100%;
height: 100%;
}
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://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 flyoutViewer = new s7viewers.FlyoutViewer({
"containerId":"s7viewer",
"params":{
"asset":"Scene7SharedAssets/ImageSet-Views-Sample",
"serverurl":"http://s7d1.scene7.com/is/image/",
"imagereload":"1,breakpoint,200;400;800;1600"
}
}).init();
</script>
</body>
</html>
De volgende voorbeeldpagina illustreert het levensechte gebruik van responsieve ontwerpinsluiting met onbeperkte hoogte:
Flexibele insluiting van grootte met gedefinieerde breedte en hoogte section-0a329016f9414d199039776645c693de
Als er insluiting in flexibele grootte is waarbij de breedte en hoogte zijn gedefinieerd, is de opmaak van de webpagina anders. Het biedt zowel grootten als het "holder"
DIV-bestand en centreert het 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 responsieve ontwerpinsluiting met onbeperkte hoogte. Het resulterende voorbeeld is het volgende:
<!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 flyoutViewer = new s7viewers.FlyoutViewer({
"containerId":"s7viewer",
"params":{
"asset":"Scene7SharedAssets/ImageSet-Views-Sample",
"serverurl":"http://s7d1.scene7.com/is/image/",
"imagereload":"1,breakpoint,200;400;800;1600"
}
}).init();
</script>
</body>
</html>
Insluiten met behulp van op Setter gebaseerde API section-af26f0cc2e5140e8a9bfd0c6a841a6d1
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 aparte JavaScript-aanroepen.
In het volgende voorbeeld wordt het gebruik van insluiting op vaste grootte met een setter-API geïllustreerd:
<!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 flyoutViewer = new s7viewers.FlyoutViewer();
flyoutViewer.setContainerId("s7viewer");
flyoutViewer.setParam("serverurl", "http://s7d1.scene7.com/is/image/");
flyoutViewer.setAsset("Scene7SharedAssets/ImageSet-Views-Sample");
flyoutViewer.init();
</script>
</body>
</html>