Spin spin
Visualizzatore 360 gradi è un visualizzatore di immagini che fornisce una visualizzazione a 360 gradi dell'immagine o anche una visualizzazione multidimensionale se viene utilizzato un set 360 gradi appropriato. Dispone di strumenti di zoom e rotazione, supporto per schermo intero e un pulsante di chiusura opzionale. È progettato per funzionare su desktop e dispositivi mobili.
Visualizzatore di tipo 503.
Consulta Requisiti di sistema e prerequisiti.
URL demo section-e1c3106f5b3e445d9b95be337c2f94e2
Utilizzo del Visualizzatore 360 gradi section-e6c68406ecdc4de781df182bbd8088b4
Il Visualizzatore 360 gradi rappresenta un file JavaScript principale e un set di file di supporto (un singolo JavaScript include con tutti i componenti SDK del Visualizzatore utilizzati da questo particolare visualizzatore, risorse e CSS) scaricati dal visualizzatore in fase di esecuzione.
Il visualizzatore 360 gradi può essere utilizzato sia in modalità pop-up utilizzando una pagina HTML pronta per la produzione fornita con IS-Viewers che in modalità incorporata, dove viene integrato nella pagina web di destinazione utilizzando l’API documentata.
La configurazione e l’interfaccia sono simili a quelle degli altri visualizzatori. Tutte le operazioni di skin possono essere eseguite tramite CSS personalizzato.
Vedi Riferimento al comando comune a tutti i visualizzatori - Attributi di configurazione e Riferimento al comando comune a tutti i visualizzatori - URL
Interazione con il visualizzatore 360 gradi section-642e66ca38cd4032992840ec6c0b0cd2
Il visualizzatore 360 gradi supporta i seguenti gesti touch comuni in altre applicazioni mobili. Quando il visualizzatore non è in grado di elaborare il gesto di scorrimento di un utente, inoltra l’evento al browser web per eseguire uno scorrimento nativo della pagina. Questa funzionalità consente all’utente di spostarsi all’interno della pagina anche se il visualizzatore occupa la maggior parte dell’area dello schermo del dispositivo.
Se l'immagine è in stato di ripristino, ruota orizzontalmente lungo il set.
Se l'immagine è ingrandita, l'immagine viene spostata orizzontalmente. Se l'immagine viene spostata sul bordo della vista e viene ancora eseguito un passaggio di scorrimento in quella direzione, il movimento esegue uno scorrimento nativo della pagina.
Se l'immagine è reimpostata, l'angolo di visualizzazione verticale viene modificato nel caso in cui venga utilizzato un set 360 gradi multidimensionale. In un set 360 gradi unidimensionale, il movimento esegue uno scorrimento nativo della pagina. Oppure, quando un set 360 gradi multidimensionale si trova sull'ultimo o sul primo asse in modo che lo scorrimento verticale non provochi una modifica dell'angolo di visualizzazione verticale, il movimento esegue anche uno scorrimento nativo della pagina.
Se l'immagine è ingrandita, l'immagine viene spostata in verticale. Se l'immagine viene spostata sul bordo della vista e viene ancora eseguito un passaggio di scorrimento in quella direzione, il movimento esegue uno scorrimento nativo della pagina.
Questo visualizzatore è completamente accessibile da tastiera.
Incorporazione visualizzatore 360 gradi section-6bb5d3c502544ad18a58eafe12a13435
Pagine web diverse hanno esigenze diverse per il comportamento del visualizzatore. A volte una pagina web fornisce un collegamento che, se selezionato, apre il visualizzatore in una finestra del browser separata. In altri casi, è necessario incorporare il visualizzatore direttamente nella pagina di hosting. In quest’ultimo caso, la pagina web può avere un layout di pagina statico o utilizzare una progettazione reattiva che viene visualizzata in modo diverso su dispositivi diversi o per dimensioni diverse della finestra del browser. Per soddisfare queste esigenze, il visualizzatore supporta tre modalità operative principali: popup, incorporamento di dimensioni fisse e incorporamento di progetti reattivi.
Informazioni sulla modalità popup
In modalità pop-up, il visualizzatore viene aperto in una finestra o scheda del browser Web separata. Occupa l’intera area della finestra del browser e si regola nel caso in cui il browser venga ridimensionato o l’orientamento di un dispositivo mobile venga modificato.
La modalità pop-up è la più comune per i dispositivi mobili. La pagina Web carica il visualizzatore utilizzando window.open()
chiamata JavaScript, A
elemento HTML configurato correttamente o qualsiasi altro metodo appropriato.
Si consiglia di utilizzare una pagina HTML preconfigurata per la modalità di funzionamento popup. In questo caso, si chiama SpinViewer.html e si trova nella sottocartella html5/ della distribuzione IS-Viewers standard:
<s7viewers_root>/html5/SpinViewer.html
Puoi ottenere una personalizzazione visiva applicando CSS personalizzata.
Di seguito è riportato un esempio di codice HTML che apre il visualizzatore in una nuova finestra:
<a href="https://s7d1.scene7.com/s7viewers/html5/SpinViewer.html?asset=Scene7SharedAssets/SpinSet_Sample&stagesize=500,400"
target="_blank">Open popup viewer</a>
Informazioni sulla modalità di incorporamento a dimensione fissa e sulla modalità di incorporamento di progettazione reattiva
In modalità incorporata, il visualizzatore viene aggiunto alla pagina web esistente, che potrebbe già avere alcuni contenuti per i clienti non correlati al visualizzatore. Il visualizzatore occupa normalmente solo una parte del patrimonio immobiliare di una pagina web.
I casi d’uso principali sono le pagine web orientate per desktop o dispositivi tablet e le pagine di progettazione reattive che regolano automaticamente il layout a seconda del tipo di dispositivo.
L’incorporamento a dimensione fissa viene utilizzato quando il visualizzatore non ne modifica le dimensioni dopo il caricamento iniziale. Questa è la scelta migliore per le pagine web con un layout statico.
L'incorporamento reattivo della progettazione presuppone che il visualizzatore debba essere ridimensionato in fase di esecuzione in risposta alla modifica delle dimensioni del relativo contenitore DIV
. Il caso d’uso più comune è l’aggiunta di un visualizzatore a una pagina web che utilizza un layout di pagina flessibile.
In modalità di incorporamento di progettazione reattiva, il visualizzatore si comporta in modo diverso a seconda del modo in cui la pagina web ridimensiona il contenitore DIV
. Se la pagina Web imposta solo la larghezza del contenitore DIV
, lasciando libera la sua altezza, il visualizzatore sceglie automaticamente la sua altezza in base alle proporzioni della risorsa utilizzata. Questa funzionalità assicura che la risorsa si adatti perfettamente alla vista senza alcuna spaziatura sui lati. Questo caso d’uso è il più comune per le pagine web che utilizzano framework di layout di progettazione reattivi come Bootstrap o Foundation.
In caso contrario, se la pagina Web imposta sia la larghezza che l'altezza per il contenitore del visualizzatore DIV
, il visualizzatore occupa solo tale area e segue le dimensioni fornite dal layout della pagina Web. Un buon esempio potrebbe essere l’incorporamento del visualizzatore in una sovrapposizione modale, in cui la sovrapposizione viene ridimensionata in base alle dimensioni della finestra del browser web.
Incorporazione a dimensione fissa
Per aggiungere il visualizzatore 360 gradi a una pagina web, effettua le seguenti operazioni:
-
Aggiunta del file JavaScript del visualizzatore alla pagina Web.
-
Definizione del contenitore
DIV
. -
Impostazione delle dimensioni del visualizzatore.
-
Creazione e inizializzazione del visualizzatore.
-
Aggiunta del file JavaScript del visualizzatore alla pagina Web.
Per creare un visualizzatore è necessario aggiungere un tag script nell’intestazione del HTML. Prima di poter utilizzare l'API del visualizzatore, assicurati di includere
SpinViewer.js
.SpinViewer.js
si trova nella sottocartella html5/js/ della distribuzione IS-Viewers standard:<s7viewers_root>/html5/js/SpinViewer.js
Puoi utilizzare un percorso relativo se il visualizzatore viene distribuito su uno dei server Dynamic Medie di Adobe e viene fornito dallo stesso dominio. In caso contrario, si specifica un percorso completo per uno dei server Dynamic Medie di Adobe in cui sono installati i visualizzatori IS.
Il percorso relativo è simile al seguente:
code language-html <script language="javascript" type="text/javascript" src="/s7viewers/html5/js/SpinViewer.js"></script>
note note NOTE Fare riferimento solo al file JavaScript include
del visualizzatore principale nella pagina. Non fare riferimento ad altri file JavaScript nel codice della pagina web che potrebbero essere scaricati dalla logica del visualizzatore in fase di esecuzione. In particolare, non fare riferimento direttamente alla libreriaUtils.js
dell'SDK di HTML5 caricata dal visualizzatore dal percorso di contesto/s7viewers
(il cosiddetto SDK consolidatoinclude
). Il motivo è che la posizione diUtils.js
o di librerie di visualizzatori di runtime simili è completamente gestita dalla logica del visualizzatore e la posizione cambia tra le versioni del visualizzatore. L'Adobe non mantiene sul server le versioni precedenti del visualizzatore secondarioincludes
.Di conseguenza, il posizionamento di un riferimento diretto a qualsiasi JavaScript include
secondario utilizzato dal visualizzatore nella pagina interrompe la funzionalità del visualizzatore in futuro, quando viene distribuita una nuova versione del prodotto. -
Definizione del DIV del contenitore.
Aggiungi un elemento DIV vuoto alla pagina in cui vuoi che venga visualizzato il visualizzatore. L’ID dell’elemento DIV deve essere definito perché questo ID viene passato successivamente all’API del visualizzatore.
Il DIV segnaposto è un elemento posizionato, il che significa che la proprietà CSS
position
è impostata surelative
oabsolute
.Di seguito è riportato un esempio di un elemento DIV segnaposto definito:
code language-html <div id="s7viewer" style="position:relative"></div>
-
Impostazione delle dimensioni del visualizzatore
È possibile impostare la dimensione statica per il visualizzatore dichiarandolo per la classe CSS di primo livello
.s7spinviewer
in unità assolute oppure utilizzando il modificatorestagesize
.È possibile inserire il dimensionamento in CSS direttamente nella pagina HTML o in un file CSS visualizzatore personalizzato. Viene successivamente assegnato a un record di predefiniti visualizzatore in Dynamic Media Classic o passato esplicitamente utilizzando un comando di stile.
Per ulteriori informazioni sullo stile del visualizzatore con CSS, vedere Personalizzazione del visualizzatore 360 gradi.
Di seguito è riportato un esempio di definizione di una dimensione di visualizzatore statico nella pagina HTML:
code language-html #s7viewer.s7spinviewer { width: 640px; height: 480px; }
È possibile impostare il modificatore
stagesize
nel record del predefinito visualizzatore in Dynamic Media Classic. In alternativa, è possibile trasmetterlo esplicitamente con il codice di inizializzazione del visualizzatore con la raccoltaparams
o come chiamata API come descritto nella sezione Riferimento comando, come segue:code language-html spinViewer.setParam("stagesize", "640,480");
Si consiglia un approccio basato su CSS, che viene utilizzato in questo esempio.
-
Creazione e inizializzazione del visualizzatore.
Dopo aver completato i passaggi precedenti, si crea un'istanza della classe
s7viewers.SpinViewer
, si passano tutte le informazioni di configurazione al relativo costruttore e si chiama il metodoinit()
su un'istanza del visualizzatore. Le informazioni di configurazione vengono passate al costruttore come oggetto JSON. Questo oggetto ha almeno il campocontainerId
che contiene il nome dell'ID contenitore del visualizzatore e l'oggetto JSONparams
nidificato con i parametri di configurazione supportati dal visualizzatore. In questo caso dell'oggettoparams
, deve avere almeno l'URL Image Server passato come proprietàserverUrl
e la risorsa iniziale come parametroasset
. API di inizializzazione basata su JSON consente di creare e avviare il visualizzatore con una singola riga di codice.È importante aggiungere il contenitore del visualizzatore al DOM in modo che il codice del visualizzatore possa trovare l’elemento contenitore in base al relativo ID. Alcuni browser ritardano la creazione di DOM fino alla fine della pagina web. Per garantire la massima compatibilità, chiamare il metodo
init()
immediatamente prima del tag di chiusuraBODY
o sul corpo dell'eventoonload()
.Allo stesso tempo, l’elemento contenitore non deve ancora necessariamente far parte del layout della pagina web. Ad esempio, potrebbe essere nascosto utilizzando lo stile
display:none
assegnato. In questo caso, il visualizzatore ritarda il processo di inizializzazione fino al momento in cui la pagina web riporta l’elemento contenitore al layout. Quando si verifica questa azione, il caricamento del visualizzatore riprende automaticamente.Di seguito è riportato un esempio di creazione di un'istanza del visualizzatore, passaggio delle opzioni di configurazione minime necessarie al costruttore e chiamata del metodo
init()
. L'esempio presuppone chespinViewer
sia l'istanza del visualizzatore,s7viewer
il nome del segnapostoDIV
, http://s7d1.scene7.com/is/image/ l'URL di Image Server e Scene7SharedAssets/SpinSet_Sample la risorsa.code language-html <script type="text/javascript"> var spinViewer = new s7viewers.SpinViewer({ "containerId":"s7viewer", "params":{ "asset":"Scene7SharedAssets/SpinSet_Sample", "serverurl":"http://s7d1.scene7.com/is/image/" } }).init(); </script>
Il codice che segue è un esempio completo di una pagina web banale che incorpora il visualizzatore 360 gradi con una dimensione fissa:
code language-html <!DOCTYPE html> <html> <head> <script type="text/javascript" src="http://s7d1.scene7.com/s7viewers/html5/js/SpinViewer.js"></script> <style type="text/css"> #s7viewer.s7spinviewer { width: 640px; height: 480px; } </style> </head> <body> <div id="s7viewer" style="position:relative"></div> <script type="text/javascript"> var spinViewer = new s7viewers.SpinViewer({ "containerId":"s7viewer", "params":{ "asset":"Scene7SharedAssets/SpinSet_Sample", "serverurl":"http://s7d1.scene7.com/is/image/" } }).init(); </script> </body> </html>
Incorporamento di progettazione reattiva con altezza illimitata
Con l’incorporamento di un design reattivo, la pagina web in genere ha un layout flessibile che determina la dimensione di runtime del contenitore del visualizzatore DIV
. Ai fini di questo esempio, si supponga che la pagina Web consenta al contenitore del visualizzatore DIV
di occupare il 40% delle dimensioni della finestra del browser Web, senza limitazioni di altezza. Il codice HTML risultante per la pagina Web è simile al seguente:
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
.holder {
width: 40%;
}
</style>
</head>
<body>
<div class="holder"></div>
</body>
</html>
L’aggiunta del visualizzatore a una pagina di questo tipo è simile all’incorporamento di dimensioni fisse, con l’unica differenza che non è necessario definire esplicitamente le dimensioni del visualizzatore.
- Aggiunta del file JavaScript del visualizzatore alla pagina Web.
- Definizione del DIV del contenitore.
- Creazione e inizializzazione del visualizzatore.
Tutti i passaggi precedenti sono gli stessi dell’incorporamento a dimensione fissa. Aggiungere il contenitore DIV
al " titolare" esistente DIV
. Il codice seguente è un esempio completo. Puoi vedere come cambiano le dimensioni del visualizzatore quando il browser viene ridimensionato e come le proporzioni del visualizzatore corrispondono alla risorsa.
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://s7d1.scene7.com/s7viewers/html5/js/SpinViewer.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 spinViewer = new s7viewers.SpinViewer({
"containerId":"s7viewer",
"params":{
"asset":"Scene7SharedAssets/SpinSet_Sample",
"serverurl":"http://s7d1.scene7.com/is/image/"
}
}).init();
</script>
</body>
</html>
La pagina di esempi seguente illustra altri casi d’uso reali di progetti reattivi con altezza illimitata incorporati:
Dimensione flessibile con larghezza e altezza definite
In presenza di un’incorporazione di dimensioni flessibili con larghezza e altezza definite, lo stile della pagina web è diverso. In altre parole, fornisce entrambe le dimensioni al " titolare" DIV
e lo centra nella finestra del browser. La pagina Web imposta inoltre le dimensioni dell'elemento HTML
e dell'elemento BODY
al 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>
I passaggi di incorporamento rimanenti sono identici all’incorporamento reattivo con altezza illimitata. L’esempio risultante è il seguente:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://s7d1.scene7.com/s7viewers/html5/js/SpinViewer.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 spinViewer = new s7viewers.SpinViewer({
"containerId":"s7viewer",
"params":{
"asset":"Scene7SharedAssets/SpinSet_Sample",
"serverurl":"http://s7d1.scene7.com/is/image/"
}
}).init();
</script>
</body>
</html>
Incorporamento tramite API basata su Set
Invece di utilizzare l’inizializzazione basata su JSON è possibile utilizzare un’API basata su setter e un costruttore no-args. Con il costruttore API non accetta parametri e i parametri di configurazione sono specificati utilizzando i metodi API setContainerId()
, setParam()
e setAsset()
con chiamate JavaScript separate.
L’esempio seguente mostra un’incorporazione a dimensione fissa con API basate su setter:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://s7d1.scene7.com/s7viewers/html5/js/SpinViewer.js"></script>
<style type="text/css">
#s7viewer.s7spinviewer {
width: 640px;
height: 480px;
}
</style>
</head>
<body>
<div id="s7viewer" style="position:relative"></div>
<script type="text/javascript">
var spinViewer = new s7viewers.SpinViewer();
spinViewer.setContainerId("s7viewer");
spinViewer.setParam("serverurl", "http://s7d1.scene7.com/is/image/");
spinViewer.setAsset("Scene7SharedAssets/SpinSet_Sample");
spinViewer.init();
</script>
</body>
</html>