Rotação spin
O Visualizador de rotação é um visualizador de imagem que fornece uma visualização de 360 graus da imagem ou até mesmo uma visualização multidimensional se o conjunto de rotação apropriado estiver sendo usado. Ele tem ferramentas de zoom e rotação, suporte para tela cheia e um botão de fechamento opcional. Ele foi projetado para funcionar em desktops e dispositivos móveis.
Visualizador tipo 503.
Consulte Requisitos e pré-requisitos do sistema.
URL de demonstração section-e1c3106f5b3e445d9b95be337c2f94e2
Usar o visualizador de rotação section-e6c68406ecdc4de781df182bbd8088b4
O Visualizador de rotação representa um arquivo JavaScript principal e um conjunto de arquivos auxiliares (um único JavaScript inclui todos os componentes do SDK do Visualizador usados por esse visualizador específico, ativos, CSS) baixados pelo visualizador em tempo de execução.
O Visualizador de rotação pode ser usado no modo pop-up usando a página de HTML pronta para produção fornecida com os Visualizadores de IS ou no modo incorporado, onde é integrado à página da Web de destino usando a API documentada.
A configuração e a aparência são semelhantes às dos outros visualizadores. Toda a atribuição de capa pode ser obtida por meio de CSS personalizado.
Consulte Referência de comando comum a todos os visualizadores - Atributos de configuração e Referência de comando comum a todos os visualizadores - URL
Interação com o Visualizador de rotação section-642e66ca38cd4032992840ec6c0b0cd2
O Visualizador de rotação é compatível com os seguintes gestos de toque, comuns em outros aplicativos móveis. Quando o visualizador não consegue processar o gesto de deslizar de um usuário, ele encaminha o evento para o navegador da Web para executar uma rolagem de página nativa. Essa funcionalidade permite que o usuário navegue pela página mesmo se o visualizador ocupar a maior parte da área da tela do dispositivo.
Se a imagem estiver em um estado de redefinição, ela passará pelo conjunto horizontalmente.
Se o zoom da imagem for ampliado, ela moverá a imagem horizontalmente. Se a imagem for movida para a borda da exibição e um deslizamento ainda for feito nessa direção, o gesto executará uma rolagem de página nativa.
Se a imagem estiver em um estado de redefinição, ela alterará o ângulo de exibição vertical caso um conjunto de rotação multidimensional seja usado. Em um conjunto de rotação unidimensional, o gesto executa uma rolagem de página nativa. Ou, quando um conjunto de rotação multidimensional está no último ou no primeiro eixo, de modo que o deslizamento vertical não resulte em uma alteração do ângulo de exibição vertical, o gesto também executa uma rolagem de página nativa.
Se o zoom da imagem for ampliado, ela será movida verticalmente. Se a imagem for movida para a borda da exibição e um deslizamento ainda for feito nessa direção, o gesto executará uma rolagem de página nativa.
Este visualizador é totalmente acessível pelo teclado.
Consulte Acessibilidade e navegação do teclado.
Incorporação do visualizador de rotação section-6bb5d3c502544ad18a58eafe12a13435
Páginas da Web diferentes têm necessidades diferentes para o comportamento do visualizador. Às vezes, uma página da Web fornece um link que, quando selecionado, abre o visualizador em uma janela do navegador separada. Em outros casos, é necessário incorporar o visualizador diretamente na página de hospedagem. No último caso, a página da Web pode ter um layout de página estático ou usar um design responsivo que é exibido de forma diferente em diferentes dispositivos ou para diferentes tamanhos de janela do navegador. Para acomodar essas necessidades, o visualizador é compatível com três modos de operação principais: pop-up, incorporação de tamanho fixo e incorporação de design responsiva.
Sobre o modo pop-up
No modo pop-up, o visualizador é aberto em uma janela ou guia separada do navegador da Web. Ele ocupa toda a área da janela do navegador e se ajusta caso o navegador seja redimensionado ou a orientação de um dispositivo móvel seja alterada.
O modo pop-up é o mais comum para dispositivos móveis. A página da Web carrega o visualizador usando a chamada do JavaScript window.open()
, o elemento de HTML A
configurado corretamente ou qualquer outro método adequado.
É recomendável usar uma página de HTML pronta para uso para o modo de operação pop-up. Nesse caso, ele é chamado de SpinViewer.html e está localizado na subpasta html5/ da sua implantação padrão do IS-Viewers:
<s7viewers_root>/html5/SpinViewer.html
Você pode obter personalização visual aplicando CSS personalizado.
Veja a seguir um exemplo do código HTML que abre o visualizador em uma nova janela:
<a href="https://s7d1.scene7.com/s7viewers/html5/SpinViewer.html?asset=Scene7SharedAssets/SpinSet_Sample&stagesize=500,400"
target="_blank">Open popup viewer</a>
Sobre o modo de incorporação de tamanho fixo e o modo de incorporação de design responsivo
No modo incorporado, o visualizador é adicionado à página da Web existente, que pode já ter algum conteúdo de cliente não relacionado ao visualizador. O visualizador normalmente ocupa apenas uma parte do patrimônio imobiliário de uma página da Web.
Os principais casos de uso são páginas da Web orientadas para desktops ou dispositivos tablet e também páginas de design responsivas que ajustam o layout automaticamente, dependendo do tipo de dispositivo.
A incorporação de tamanho fixo é usada quando o visualizador não altera seu tamanho após o carregamento inicial. Essa ação é a melhor opção para páginas da Web com layout estático.
A incorporação de design responsivo presume que o visualizador deve redimensionar em tempo de execução em resposta à alteração de tamanho de seu contêiner DIV
. O caso de uso mais comum é adicionar um visualizador a uma página da Web que usa um layout de página flexível.
No modo de incorporação de design responsivo, o visualizador se comporta de forma diferente, dependendo da forma como a página da Web dimensiona seu contêiner DIV
. Se a página da Web definir somente a largura do contêiner DIV
, deixando sua altura irrestrita, o visualizador escolherá automaticamente sua altura de acordo com a proporção do ativo usado. Essa funcionalidade garante que o ativo se ajuste perfeitamente à exibição sem qualquer preenchimento nas laterais. Esse caso de uso é o mais comum para páginas da Web que usam estruturas de layout de design responsivas, como Bootstrap ou Foundation.
Caso contrário, se a página da Web definir a largura e a altura do contêiner do visualizador DIV
, o visualizador preencherá apenas essa área e seguirá o tamanho fornecido pelo layout da página da Web. Um bom exemplo pode ser a incorporação do visualizador em uma sobreposição modal, em que a sobreposição é dimensionada de acordo com o tamanho da janela do navegador da Web.
Incorporação de tamanho fixo
Você adiciona o Visualizador de rotação a uma página da Web fazendo o seguinte:
-
Adicionar o arquivo JavaScript do visualizador à sua página da Web.
-
Definindo o container
DIV
. -
Definindo o tamanho do visualizador.
-
Criar e inicializar o visualizador.
-
Adicionar o arquivo JavaScript do visualizador à sua página da Web.
A criação de um visualizador exige a adição de uma tag de script no cabeçalho de HTML. Antes de usar a API do visualizador, inclua
SpinViewer.js
.SpinViewer.js
está localizado na subpasta html5/js/ da sua implantação padrão do IS-Viewers:<s7viewers_root>/html5/js/SpinViewer.js
Você pode usar um caminho relativo se o visualizador for implantado em um dos servidores Adobe Dynamic Media e for distribuído no mesmo domínio. Caso contrário, você especificará um caminho completo para um dos servidores Adobe Dynamic Media que possuem os Visualizadores IS instalados.
O caminho relativo tem a seguinte aparência:
code language-html <script language="javascript" type="text/javascript" src="/s7viewers/html5/js/SpinViewer.js"></script>
note note NOTE Faça referência somente ao arquivo include
do visualizador principal do JavaScript na sua página. Não faça referência a nenhum arquivo JavaScript adicional no código da página da Web que possa ser baixado pela lógica do visualizador no tempo de execução. Especificamente, não faça referência direta à bibliotecaUtils.js
do SDK HTML5 carregada pelo visualizador do caminho de contexto/s7viewers
(o chamado SDK consolidadoinclude
). O motivo é que a localização deUtils.js
ou bibliotecas de visualizador de tempo de execução semelhantes é totalmente gerenciada pela lógica do visualizador e a localização muda entre as versões do visualizador. O Adobe não mantém versões anteriores do visualizador secundárioincludes
no servidor.Como resultado, a inserção de uma referência direta a qualquer JavaScript include
secundário usado pelo visualizador na página interrompe a funcionalidade do visualizador no futuro, quando uma nova versão do produto é implantada. -
Definição do container DIV.
Adicione um elemento DIV vazio à página em que você deseja que o visualizador apareça. O elemento DIV deve ter sua ID definida porque essa ID é passada posteriormente para a API do visualizador.
O espaço reservado DIV é um elemento posicionado, o que significa que a propriedade CSS
position
está definida comorelative
ouabsolute
.Veja a seguir um exemplo de um elemento DIV de espaço reservado definido:
code language-html <div id="s7viewer" style="position:relative"></div>
-
Definir o tamanho do visualizador
Você pode definir o tamanho estático do visualizador declarando-o para a classe CSS de nível superior
.s7spinviewer
em unidades absolutas ou usando o modificadorstagesize
.Você pode colocar o dimensionamento no CSS diretamente na página do HTML ou em um arquivo CSS do visualizador personalizado. Posteriormente, ele é atribuído a um registro de predefinição do visualizador no Dynamic Media Classic ou passado explicitamente usando um comando de estilo.
Consulte Personalizando o visualizador de rotação para obter mais informações sobre como estilizar o visualizador com CSS.
Este é um exemplo de definição de um tamanho de visualizador estático na página HTML:
code language-html #s7viewer.s7spinviewer { width: 640px; height: 480px; }
É possível definir o modificador
stagesize
no registro de predefinição do visualizador no Dynamic Media Classic. Ou você pode passá-lo explicitamente com o código de inicialização do visualizador com a coleçãoparams
ou como uma chamada de API, conforme descrito na seção Referência de Comandos, da seguinte maneira:code language-html spinViewer.setParam("stagesize", "640,480");
Uma abordagem baseada em CSS é recomendada e é usada neste exemplo.
-
Criar e inicializar o visualizador.
Quando tiver concluído as etapas acima, você criará uma instância da classe
s7viewers.SpinViewer
, passará todas as informações de configuração para seu construtor e chamará o métodoinit()
em uma instância do visualizador. As informações de configuração são passadas ao construtor como um objeto JSON. No mínimo, esse objeto tem o campocontainerId
que contém o nome da ID do contêiner de visualizador e o objeto JSONparams
aninhado com parâmetros de configuração aos quais o visualizador dá suporte. Nesse caso do objetoparams
, ele deve ter pelo menos a URL do Servidor de imagens passada como propriedadeserverUrl
e ativo inicial como parâmetroasset
. A API de inicialização baseada em JSON permite criar e iniciar o visualizador com uma única linha de código.É importante adicionar o contêiner do visualizador ao DOM para que o código do visualizador possa encontrar o elemento do contêiner por sua ID. Alguns navegadores atrasam a criação do DOM até o fim da página da Web. Para obter compatibilidade máxima, chame o método
init()
antes de fechar a marcaBODY
ou no evento de corpoonload()
.Ao mesmo tempo, o elemento de contêiner não deve necessariamente fazer parte do layout da página da Web ainda. Por exemplo, ela pode estar oculta usando o estilo
display:none
atribuído a ela. Nesse caso, o visualizador atrasa o processo de inicialização até o momento em que a página da Web traz o elemento de contêiner de volta ao layout. Quando essa ação ocorre, o carregamento do visualizador é retomado automaticamente.Este é um exemplo de criação de uma instância do visualizador, passando as opções de configuração mínimas necessárias para o construtor e chamando o método
init()
. O exemplo presume quespinViewer
é a instância do visualizador,s7viewer
é o nome do espaço reservadoDIV
, http://s7d1.scene7.com/is/image/ é a URL do Servidor de Imagens e Scene7SharedAssets/SpinSet_Sample é o ativo.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>
O código a seguir é um exemplo completo de uma página da Web trivial que incorpora o Visualizador de rotação com um tamanho fixo:
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>
Incorporação responsiva de design com altura irrestrita
Com a incorporação de design responsivo, a página da Web normalmente tem algum tipo de layout flexível em vigor que determina o tamanho do tempo de execução do contêiner do visualizador DIV
. Para fins deste exemplo, considere que a página da Web permite que o contêiner do visualizador DIV
ocupe 40% do tamanho da janela do navegador da Web, deixando sua altura irrestrita. O código de HTML da página da Web resultante é semelhante ao seguinte:
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
.holder {
width: 40%;
}
</style>
</head>
<body>
<div class="holder"></div>
</body>
</html>
Adicionar o visualizador a essa página é semelhante à incorporação de tamanho fixo, com a única diferença sendo que você não precisa definir explicitamente o tamanho do visualizador.
- Adicionar o arquivo JavaScript do visualizador à sua página da Web.
- Definição do container DIV.
- Criar e inicializar o visualizador.
Todas as etapas acima são as mesmas da incorporação de tamanho fixo. Adicionar o contêiner DIV
ao " titular" existente DIV
. O código a seguir é um exemplo completo. Você pode ver como o tamanho do visualizador muda quando o navegador é redimensionado e como a taxa de proporção do visualizador corresponde ao ativo.
<!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>
A página de exemplos a seguir ilustra mais casos de uso reais de incorporação de design responsivo com altura irrestrita:
Local de demonstração alternativo
Incorporação de tamanho flexível com largura e altura definidas
Se houver incorporação de tamanho flexível com largura e altura definidas, o estilo da página da Web será diferente. Ou seja, ele fornece ambos os tamanhos ao " titular" DIV
e centraliza na janela do navegador. Além disso, a página da Web define o tamanho do elemento HTML
e BODY
como 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>
As etapas de incorporação restantes são idênticas à incorporação responsiva de design com altura irrestrita. O exemplo resultante é o seguinte:
<!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>
Incorporando usando API baseada em Setter
Em vez de usar a inicialização baseada em JSON, é possível usar a API baseada em setter e o construtor sem args. Com essa API, o construtor não aceita parâmetros e os parâmetros de configuração são especificados usando os métodos de API setContainerId()
, setParam()
e setAsset()
com chamadas JavaScript separadas.
O exemplo a seguir mostra a incorporação de tamanho fixo com a API baseada em 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>