ズーム zoom

Zoom Viewerは、ズーム可能な画像を表示する画像ビューアです。 このビューアは画像セットで機能し、ナビゲーションはスウォッチを使用して行われます。 ズームツール、フルスクリーンサポート、スウォッチ、オプションの閉じるボタンがあります。 デスクトップやモバイルデバイスで動作するように設計されています。

NOTE
IR (画像レンダリング)またはUGC (ユーザー生成コンテンツ)を使用する画像は、このビューアではサポートされていません。

ビューアータイプ 502。

必要システム構成と前提条件を参照してください。

デモ URL section-e1c3106f5b3e445d9b95be337c2f94e2

https://landing.adobe.com/en/na/dynamic-media/ctir-2755/live-demos.html

Zoom Viewerの使用 section-e6c68406ecdc4de781df182bbd8088b4

Zoom Viewerは、メインのJavaScript ファイルと一連のヘルパーファイルを表します(1つのJavaScriptには、この特定のビューアで使用されるすべてのViewer SDK コンポーネント、assets、CSSが含まれています)。実行時にビューアがダウンロードします。

ポップアップモードでは、IS-Viewersを備えた実稼動対応のHTML ページを使用するか、ドキュメント化されたAPIを使用してターゲット web ページに統合する埋め込みモードでZoom Viewerを使用できます。

設定とスキニングは、他のビューアと同様です。 すべてのスキニングは、カスタム CSSを使用して実行できます。

すべてのビューアに共通する​ コマンド参照 – 構成属性およびすべてのビューアに共通するコマンド参照 – URLを参照してください

Zoom Viewerの操作 section-642e66ca38cd4032992840ec6c0b0cd2

Zoom Viewerは、他のモバイルアプリケーションで一般的な次のタッチジェスチャーをサポートしています。 ビューアがユーザーのスワイプジェスチャーを処理できない場合、ネイティブページスクロールを実行するようにイベントをweb ブラウザーに転送します。 この種類の機能により、ビューアがデバイスの画面領域のほとんどを占めている場合でも、ユーザーはページ内を移動できます。

ジェスチャ
説明
シングルタップ
スウォッチで新しいサムネールを選択します。 メインビューでは、ユーザーインターフェイス要素が表示または非表示になります。
ダブルタップ
最大の倍率に達するまで1 レベルでズームします。 次のダブルタップジェスチャーは、ビューアを初期表示状態にリセットします。
ピンチ
ズームインまたはズームアウト
水平スワイプまたはフリック

スウォッチバーのスウォッチのリストをスクロールします。

画像がリセット状態で、 frametransition パラメーターがスライドに設定されている場合、アセットはスライドアニメーションで変更されます。 その他 frametransition モードの場合、ジェスチャーはネイティブページスクロールを実行します。

画像をズームインすると、画像が水平方向に移動します。 画像をビューエッジに移動し、スワイプを同じ方向に実行すると、ジェスチャーはネイティブページスクロールを実行します。

縦方向スワイプ

画像がリセット状態の場合、ジェスチャーはネイティブページスクロールを実行します。

画像をズームインすると、画像が垂直方向に移動します。 画像をビューエッジに移動し、スワイプを同じ方向に実行すると、ジェスチャーはネイティブページスクロールを実行します。

ジェスチャーがスウォッチ領域内で行われた場合、ネイティブページスクロールが実行されます。

ビューアは、タッチスクリーンとマウスを使用したWindows デバイスでのタッチ入力とマウス入力の両方をサポートしています。 ただし、このサポートは、Chrome、Internet Explorer 11、およびEdgeのweb ブラウザーのみに限定されます。

このビューアにはキーボードから完全にアクセス可能です。

​ キーボードのアクセシビリティとナビゲーション ​を参照してください。

Zoom Viewerの埋め込み section-6bb5d3c502544ad18a58eafe12a13435

web ページごとに、閲覧者の行動に対するニーズは異なります。 Web ページでリンクが提供される場合があります。このリンクを選択すると、別のブラウザーウィンドウでビューアが開きます。 それ以外の場合は、ビューアをホスティングページに直接埋め込む必要があります。 後者の場合、web ページは静的なレイアウトを使用するか、異なるデバイスまたは異なるブラウザーウィンドウのサイズに対して異なる表示を行うレスポンシブデザインを使用します。 これらのニーズに対応するために、ビューアでは、ポップアップ、固定サイズの埋め込み、レスポンシブデザインの埋め込みという3つの主要な操作モードをサポートしています。

ポップアップモードについて

ポップアップモードでは、ビューアは別のweb ブラウザーウィンドウまたはタブで開きます。 ブラウザーのウィンドウ領域全体を使用し、ブラウザーのサイズが変更されたり、デバイスの向きが変更されたりした場合に備えて調整します。

このモードは、モバイルデバイスで最も一般的です。 Web ページは、window.open() JavaScript呼び出し、A HTML要素の適切な設定、またはその他の適切なメソッドを使用してビューアを読み込みます。

ポップアップ操作モードには、標準のHTML ページを使用することをお勧めします。 標準のHTML ページはZoomViewer.htmlと呼ばれ、次のように、標準のIS-Viewers デプロイメントのhtml5/ サブフォルダーにあります。

<s7viewers_root>/html5/ZoomViewer.html

カスタム CSSを適用して、ページのカスタマイズされた外観を実現します。

次に、新しいウィンドウでビューアを開くHTML コードの例を示します。

 <a href="http://s7d1.scene7.com/s7viewers/html5/ZoomViewer.html?asset=Scene7SharedAssets/ImageSet-Views-Sample"
target="_blank">Open popup viewer</a>

固定サイズ埋め込みモードとレスポンシブデザイン埋め込みモードについて

埋め込みモードでは、ビューアは既存のweb ページに追加されます。このページには、ビューアに関連しない顧客コンテンツが既に含まれている可能性があります。 通常、閲覧者はweb ページの不動産の一部しか占めていません。

主なユースケースは、デスクトップ PCやタブレットデバイス向けのweb ページです。デバイスの種類に応じてレイアウトを自動的に調整するレスポンシブデザインのページも使用できます。

初期読み込み後にビューアのサイズが変更されない場合は、固定サイズ埋め込みが使用されます。 このオプションは、静的レイアウトを持つweb ページに最適です。

レスポンシブデザイン埋め込みモードは、コンテナ DIVのサイズ変更により、実行時にビューアのサイズ変更が必要であると仮定します。 最も一般的なユースケースは、柔軟性の高いレイアウトを使用するweb ページにビューアを追加することです。

レスポンシブデザイン埋め込みモードでは、web ページのサイズとコンテナ DIVのサイズによって、ビューアの動作が異なります。 Web ページでコンテナ DIVの幅のみを設定し、高さを制限しない場合、ビューアは使用するアセットの縦横比に応じて自動的に高さを選択します。 このロジックにより、側面にパディングすることなく、アセットをビューに完全に収めることができます。 このユースケースは、BootstrapやFoundationなどのレスポンシブレイアウトフレームワークを使用するweb ページで最も一般的です。

Web ページがビューアのコンテナ DIVの幅と高さの両方を設定すると、ビューアはその領域に入力し、web ページが提供するサイズに従います。 例えば、ビューアをモーダルオーバーレイに埋め込むと、オーバーレイのサイズがweb ブラウザーのウィンドウサイズに応じて調整されます。

固定サイズ埋め込み section-44f365e6c0dd40709467a459afa82a7f

次の操作を実行して、ビューアをweb ページに追加します。

  1. ビューアのJavaScript ファイルをweb ページに追加します。

  2. コンテナ DIVの定義。

  3. ビューアサイズの設定。

  4. ビューアの作成と初期化。

  5. ビューアのJavaScript ファイルをweb ページに追加します。

    ビューアを作成するには、HTML ヘッドにスクリプトタグを追加する必要があります。 ビューアーAPIを使用する前に、ZoomViewer.jsを含めることを確認してください。 ZoomViewer.js ファイルは、標準のIS-Viewers デプロイメントのhtml5/js/ サブフォルダーにあります。

<s7viewers_root>/html5/js/ZoomViewer.js

ビューアがAdobe Dynamic Media Classic サーバーのいずれかにデプロイされ、同じドメインから提供される場合は、相対パスを使用できます。 そうでない場合は、IS-ViewersがインストールされているAdobe Dynamic Media Classic サーバーの1つにフルパスを指定します。

相対パスは次のようになります。

<script language="javascript" type="text/javascript" src="/s7viewers/html5/js/ZoomViewer.js"></script>
NOTE
ページ上のメイン ビューア JavaScript include ファイルのみを参照してください。 実行時にビューアのロジックによってダウンロードされる可能性があるweb ページコード内の他のJavaScript ファイルを参照しないでください。 特に、/s7viewers コンテキストパス(いわゆる統合SDK include)からビューアによって読み込まれたHTML5 SDK Utils.js ライブラリを直接参照しないでください。 その理由は、Utils.jsまたは類似のランタイムビューアーライブラリの場所が、ビューアーのロジックによって完全に管理され、ビューアーリリース間で場所が変更されるためです。 Adobeは、古いバージョンのセカンダリビューア includesをサーバー上に保持しません。
その結果、ビューアがページ上で使用するセカンダリ JavaScript includeを直接参照すると、新しい製品バージョンがデプロイされる際に、将来的にビューア機能が破損します。
  1. コンテナ DIVの定義。

    ビューアを表示するページに、空のDIV エレメントを追加します。 このIDは後でビューア APIに渡されるので、DIV要素にはIDが定義されている必要があります。

    プレースホルダーDIVは配置された要素です。position CSS プロパティがrelativeまたはabsoluteに設定されていることを意味します。

    次に、定義済みのプレースホルダーDIV要素の例を示します。

    code language-html
    
    <div id="s7viewer" style="position:relative"></div>
    
  2. ビューアサイズの設定。

    このビューアは、複数の項目セットを操作する際にサムネールを表示します。デスクトップシステムでは、サムネールがメインビューの下に配置されます。 同時に、ビューアでは、setAsset() APIを使用してランタイムでメインアセットを入れ替えることができます。 開発者は、新しいアセットが1つのアイテムしか持たない場合に、ビューアが下部のサムネール領域をどのように管理するかを制御できます。 外のビューアのサイズを維持し、メインビューの高さを上げてサムネール領域を占有することができます。 または、メインビューサイズを静的に保ち、外側のビューア領域を折りたたんで、web ページのコンテンツを上に移動させ、サムネールから残った空き画面の不動産を使用することもできます。

    外部ビューアの境界を維持するには、.s7zoomviewer トップレベル CSS クラスのサイズを絶対単位で定義します。 CSSのサイズは、HTML ページに配置できます。 または、カスタムのビューア CSS ファイルに配置して、後でDynamic Media Classicのビューアプリセットレコードに割り当てるか、スタイルコマンドを使用して明示的に渡すことができます。

    CSSを使用したビューアのスタイル設定について詳しくは、Zoom ビューアのカスタマイズ ​を参照してください。

    次に、HTML ページで静的な外部ビューアサイズを定義する例を示します。

    code language-html
    
    #s7viewer.s7zoomviewer {
     width: 640px;
     height: 480px;
    }
    

メインビューのディメンションを静的にするには、.s7zoomviewer .s7container CSS セレクターを使用するか、stagesize修飾子を使用して、内部Container SDK コンポーネントのビューアーサイズを絶対単位で定義します。

次に、アセットを切り替える際にメインビュー領域のサイズが変更されないように、内部Container SDK コンポーネントのビューアーサイズを定義する例を示します。

#s7viewer.s7zoomviewer .s7container {
 width: 640px;
 height: 480px;
}

Dynamic Media Classicのビューアプリセットレコードでstagesize修飾子を設定できます。 または、params コレクションを使用してビューアの初期化コードを使用して明示的に渡すか、このヘルプの「コマンドリファレンス」セクションで説明されているように、API呼び出しとして渡すことができます。次に示します。

 zoomViewer.setParam("stagesize",
"640,480");

CSS ベースのアプローチを推奨し、この例で使用します。

  1. ビューアの作成と初期化。

    上記の手順を完了したら、s7viewers.ZoomViewer クラスのインスタンスを作成し、すべての構成情報をそのコンストラクターに渡し、ビューアーインスタンスでinit() メソッドを呼び出します。

    構成情報は、JSON オブジェクトとしてコンストラクターに渡されます。 少なくとも、このオブジェクトには、ビューアコンテナ IDの名前を保持するcontainerId フィールドと、ビューアがサポートする設定パラメーターを含むネストされたparams JSON オブジェクトが必要です。 この場合、params オブジェクトには、少なくともserverUrl プロパティとして渡されたImage Serving URLとasset パラメーターとして最初のアセットが必要です。 JSON ベースの初期化APIを使用すると、1行のコードでビューアを作成して開始できます。

    ビューアコードがIDでコンテナ要素を見つけられるように、ビューアコンテナをDOMに追加することが重要です。 一部のブラウザーは、Web ページの最後までDOMの構築を遅らせます。 互換性を最大限に高めるには、終了BODY タグの直前または本文onload() イベントでinit() メソッドを呼び出します。

    同時に、コンテナ要素は必ずしもweb ページレイアウトの一部であってはなりません。 例えば、割り当てられたdisplay:none スタイルを使用して非表示にすることができます。 この場合、ビューアは、web ページがコンテナ要素をレイアウトに戻す瞬間まで初期化プロセスを遅らせます。 このアクションが発生すると、ビューアの読み込みが自動的に再開されます。

    次に、ビューアーインスタンスを作成し、必要な最小限の設定オプションをコンストラクターに渡し、init() メソッドを呼び出す例を示します。 この例では、zoomViewerがビューアインスタンスで、s7viewerがプレースホルダーDIVの名前、http://s7d1.scene7.com/is/image/が画像サービング URL、Scene7SharedAssets/ImageSet-Views-Sampleがアセットであると仮定します。

    code language-html
    
    <script type="text/javascript">
    var zoomViewer = new s7viewers.ZoomViewer({
     "containerId":"s7viewer",
    "params":{
     "asset":"Scene7SharedAssets/ImageSet-Views-Sample",
     "serverurl":"http://s7d1.scene7.com/is/image/"
    }
    }).init();
    </script>
    

    次のコードは、ビデオビューアを固定サイズで埋め込む面倒なweb ページの完全な例です。

    code language-html
    
    <!DOCTYPE html>
    <html>
    <head>
    <script type="text/javascript" src="http://s7d1.scene7.com/s7viewers/html5/js/ZoomViewer.js"></script>
    <style type="text/css">
    #s7viewer.s7zoomviewer {
     width: 640px;
     height: 480px;
    }
    </style>
    </head>
    <body>
    <div id="s7viewer" style="position:relative"></div>
    <script type="text/javascript">
    var zoomViewer = new s7viewers.ZoomViewer({
     "containerId":"s7viewer",
    "params":{
     "asset":"Scene7SharedAssets/ImageSet-Views-Sample",
     "serverurl":"http://s7d1.scene7.com/is/image/"
    }
    }).init();
    </script>
    </body>
    </html>
    

無制限の高さを持つレスポンシブデザイン埋め込み section-b9ca11a7e7aa4f74ab43244cbca37ae0

レスポンシブデザインの埋め込みでは、通常、web ページには、ビューアのコンテナ DIVのランタイムサイズを決定する、ある種の柔軟なレイアウトが配置されています。 次の例では、web ページでビューアのコンテナ DIVがweb ブラウザーのウィンドウ サイズの40%を使用でき、高さは制限されないと仮定します。 Web ページのHTML コードは次のようになります。

<!DOCTYPE html>
<html>
<head>
<style type="text/css">
.holder {
 width: 40%;
}
</style>
</head>
<body>
<div class="holder"></div>
</body>
</html>

このようなページにビューアを追加することは、固定サイズ埋め込みの手順と似ています。 唯一の違いは、ビューアサイズを明示的に定義する必要がないことです。

  1. ビューアのJavaScript ファイルをweb ページに追加します。
  2. コンテナ DIVの定義。
  3. ビューアの作成と初期化。

上記のすべての手順は、固定サイズの埋め込みと同じです。 コンテナ DIVを既存の"holder" DIVに追加します。 次のコードは、完全な例です。 ブラウザーのサイズを変更するとビューアのサイズが変わり、ビューアの縦横比がアセットとどのように一致するかを確認します。

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://s7d1.scene7.com/s7viewers/html5/js/ZoomViewer.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 zoomViewer = new s7viewers.ZoomViewer({
 "containerId":"s7viewer",
"params":{
 "asset":"Scene7SharedAssets/ImageSet-Views-Sample",
 "serverurl":"http://s7d1.scene7.com/is/image/"
}
}).init();
</script>
</body>
</html>

次のサンプルページでは、高さの制限のないレスポンシブデザイン埋め込みをより実際に使用する方法を示します。

ライブデモ

幅と高さが定義された柔軟なサイズの埋め込み section-3674e6c032594441a6576b7fb1de6e64

幅と高さが定義された柔軟なサイズの埋め込みがある場合、web ページのスタイルが異なります。 "holder" DIVに両方のサイズを提供し、ブラウザーウィンドウの中央に配置します。 また、web ページでは、HTML要素とBODY要素のサイズが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>

残りの埋め込み手順は、高さの制限のないレスポンシブデザイン埋め込みに使用する手順と同じです。 結果として得られる例は次のとおりです。

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://s7d1.scene7.com/s7viewers/html5/js/ZoomViewer.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 zoomViewer = new s7viewers.ZoomViewer({
 "containerId":"s7viewer",
"params":{
 "asset":"Scene7SharedAssets/ImageSet-Views-Sample",
 "serverurl":"http://s7d1.scene7.com/is/image/"
}
}).init();
</script>
</body>
</html>

セッターベースのAPIを使用した埋め込み section-44e014925f24418b900696003855c0a9

JSON ベースの初期化を使用する代わりに、セッターベースのAPIとno-args コンストラクターを使用できます。 このAPI コンストラクターを使用すると、パラメーターは受け取られず、設定パラメーターはsetContainerId()setParam()setAsset()のAPI メソッドを使用して指定され、別々のJavaScript呼び出しが行われます。

次の例は、セッターベースのAPIを使用した固定サイズの埋め込みを使用する方法を示しています。

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://s7d1.scene7.com/s7viewers/html5/js/ZoomViewer.js"></script>
<style type="text/css">
#s7viewer.s7zoomviewer {
 width: 640px;
 height: 480px;
}
</style>
</head>
<body>
<div id="s7viewer" style="position:relative"></div>
<script type="text/javascript">
var zoomViewer = new s7viewers.ZoomViewer();
zoomViewer.setContainerId("s7viewer");
zoomViewer.setParam("serverurl", "http://s7d1.scene7.com/is/image/");
zoomViewer.setAsset("Scene7SharedAssets/ImageSet-Views-Sample");
zoomViewer.init();
</script>
</body>
</html>
recommendation-more-help
dynamic-media-developer-resources-help-aem-viewers-ref