Viewer SDK名前空間 viewer-sdk-namespace
ビューアは、多くのViewer SDK コンポーネントで構築されています。 通常、web ページはSDK コンポーネント APIと直接やり取りする必要はありません。一般的なニーズはすべてビューア API自体でカバーされています。
ただし、一部の高度なユースケースでは、web ページがgetComponent() ビューア APIを使用してSDK内のコンポーネントを参照し、SDK自体のAPIのすべての柔軟性を使用する必要があります。
ビューアによるSDK コンポーネントの読み込みと初期化に使用される名前空間は、ビューアが動作している環境によって異なります。 ビューアがAdobe Experience Managerで実行されている場合、ビューアはSDK コンポーネントをs7viewers.s7sdk名前空間に読み込みます。 同様に、Dynamic Media Classicから提供されたビューアは、SDKをs7classic.s7sdkに読み込みます。
いずれの場合も、ビューア内のSDKで使用される名前空間には、接頭辞としてs7viewersまたはs7classicが含まれています。 また、SDK ユーザーガイドまたはSDK API ドキュメントで使用されているプレーン s7sdk名前空間とは異なります。 そのため、内部ビューアコンポーネントと通信するカスタムアプリケーションコードを記述する場合は、完全修飾SDK名前空間を使用することが重要です。
例えば、StatusEvent.NOTF_VIEW_READY イベントをリッスンする予定で、ビューアがExperience Managerから提供される場合、完全修飾イベントの種類はs7viewers.s7sdk.event.StatusEvent.NOTF_VIEW_READYであり、イベントリスナーコードは次のようになります。
<instance>.setHandlers({
"initComplete":function() {
var flyout = <instance>.getComponent("flyout");
flyout.addEventListener(s7viewers.s7sdk.event.StatusEvent.NOTF_VIEW_READY, function(e) {
console.log("view ready");
}, false);
}
});
The same code for viewer served from Dynamic Media Classic looks like this:
<instance>.setHandlers({
"initComplete":function() {
var flyout = <instance>.getComponent("flyout");
flyout.addEventListener(s7classic.s7sdk.event.StatusEvent.NOTF_VIEW_READY, function(e) {
console.log("view ready");
}, false);
}
});