互動式影像

互動式影像檢視器是一種檢視器,可顯示單一不可縮放影像,其中包含可點按的熱點。 此檢視器的目的是實作「可購物橫幅」體驗。 也就是說,使用者可以在橫幅影像上選取熱點,並重新導向至您網站上的快速檢視或產品詳細資料頁面。 專為桌上型電腦和行動裝置所設計。

注意

此檢視器不支援使用IR (影像演算)或UGC (使用者產生的內容)的影像。

檢視器型別為508。

示範URL

https://experienceleague.adobe.com/tools/dynamic-media-demo/shoppable-banner/InteractiveImage.html?lang=zh-Hant?lang=zh-Hant

系統要求

另請參閱 系統需求.

使用互動式影像檢視器

互動式影像檢視器代表一個主要JavaScript檔案和一組協助程式檔案(單一JavaScript包含此特定檢視器使用的所有Viewer SDK元件、資產、CSS),這些檔案由檢視器在執行階段下載。

互動式影像檢視器僅可用於內嵌模式,即透過檔案說明的API整合至目標網頁。

設定和外觀設定類似於本說明中說明的其他檢視器。 所有外觀設定都是透過自訂CSS來達成。

另請參閱 所有檢視器通用的命令參考 — 設定屬性所有檢視器通用的命令參考 — URL

與互動式影像檢視器互動

視訊影像檢視器支援的互動是案頭系統上的熱點啟用。 此啟動會在點選和點一下觸控裝置上進行。

檢視器可使用完整的鍵盤。

另請參閱 鍵盤協助工具與導覽.

內嵌互動式影像檢視器

互動式影像檢視器內嵌於託管頁面中。 這類網頁可能具有靜態版面,也可能是「回應式」的,且在不同裝置或不同瀏覽器視窗大小中顯示的方式不同。

為因應這些需求,檢視器支援兩種主要操作模式:固定大小內嵌和回應式內嵌。

關於固定大小內嵌模式和回應式設計內嵌模式

在內嵌模式中,檢視器會新增至現有網頁。 此網頁可能已有某些與檢視器無關的客戶內容。 檢視器通常只會佔用網頁的一部分空間。

主要使用案例是針對桌上型電腦或平板電腦裝置的網頁,以及可根據裝置型別自動調整版面的回應式設計頁面。

當檢視器在初始載入後未變更其大小時,會使用固定大小內嵌。 此方法適用於具有靜態配置的網頁。

回應式設計內嵌假設檢視器必須在執行階段調整大小來回應其容器的大小變更 DIV. 最常見的使用案例是將檢視器新增至使用彈性頁面配置的網頁。

在回應式設計內嵌模式中,檢視器的行為會因網頁大小其容器的方式而異 DIV. 如果網頁僅設定容器的寬度 DIV,只要其高度不受限制,檢視器就會根據所使用資產的外觀比例,自動選擇其高度。 此功能可確保資產完全符合檢視要求,而不需在兩側加上任何邊框間距。 此使用案例最常用於使用回應式網頁設計版面架構(例如Bootstrap和Foundation)的網頁。

否則,如果網頁同時設定檢視器容器的寬度和高度 DIV,檢視器會填滿該區域。 它也遵循網頁版面配置提供的大小。 一個好的範例是內嵌檢視器至強制回應覆蓋圖,其中覆蓋圖會根據網頁瀏覽器視窗大小調整大小。

固定大小內嵌

您可以執行下列動作,將檢視器新增至網頁:

  1. 將檢視器JavaScript檔案新增至網頁。

  2. 定義容器 DIV.

  3. 設定檢視器大小。

  4. 建立和初始化檢視器。

  5. 將檢視器JavaScript檔案新增至網頁。

    建立檢視器需要您在HTML標頭中新增指令碼標籤。 在使用檢視器API之前,請務必先包含 InterativeImage.js. 此 InteractiveImage.js 檔案位於 html5/js/ 標準IS-Viewers部署的子資料夾:

<s7viewers_root>/etc/dam/viewers/s7viewers/html5/js/InteractiveImage.js

如果檢視器部署在某個Adobe Dynamic Media Classic伺服器上,且從相同網域提供服務,則可以使用相對路徑。 否則,您需要指定已安裝IS-Viewers的其中一個Adobe Dynamic Media Classic伺服器的完整路徑。

相對路徑如下所示:

<script language="javascript" type="text/javascript" src="/etc/dam/viewers/s7viewers/html5/js/InteractiveImage.js"></script>
注意

僅參照主要檢視器JavaScript include 檔案時。 請勿在網頁程式碼中參考任何其他JavaScript檔案(這些檔案可能由檢視器的邏輯在執行階段下載)。 尤其請勿直接參照HTML5 SDK Utils.js 檢視器從載入的程式庫 /s7viewers 內容路徑(所謂的整合SDK) include)。 原因在於 Utils.js 或類似的執行階段檢視器程式庫完全由檢視器的邏輯管理,且位置會在檢視器版本之間變更。 Adobe不會保留次要檢視器的舊版本 includes 在伺服器上。

因此,直接參照任何次要JavaScript include 當日後部署新產品版本時,頁面上檢視器使用的檢視器功能會中斷檢視器。

  1. 定義容器 DIV.

    新增空白 DIV 元素至您要顯示檢視器的頁面。 此 DIV 元素必須定義其ID,因為此ID稍後會傳遞至檢視器API。 DIV的大小是透過CSS指定的。

    預留位置 DIV 是定位元素,這表示 position CSS屬性已設定為 relativeabsolute.

    以下是已定義預留位置的範例 DIV 元素:

    <div id="s7viewer" style="position:relative"></div>
    
  2. 設定檢視器大小

    您可以宣告檢視器的靜態大小,將它設為 .s7interactiveimage 以絕對單位表示的頂層CSS類別,或是使用 stagesize 修飾元。

    您可以直接在HTML頁面上放入CSS的大小調整。 或者,您可以將大小調整放入自訂檢視器CSS檔案中,稍後再將該檔案指派給Adobe Experience Manager Assets中的檢視器預設集記錄(隨選),或明確透過以下方式傳遞: style 命令。

    另請參閱 視訊 以取得有關使用CSS設定檢視器樣式的詳細資訊。

    以下是在「HTML」頁面中定義靜態檢視器大小的範例:

    #s7viewer.s7interactiveimage {
     width: 1174px;
     height: 500px;
    }
    

    您可以明確傳遞 stagesize 含有檢視器初始化程式碼的修飾元 params 集合或作為API呼叫,如命令參考一節中所述,如下所示:

    interactiveImage.setParam("stagesize", "1174,500");
    

    建議使用以CSS為基礎的方法,並用於此範例。

  3. 建立和初始化檢視器。

    完成上述步驟後,您會建立 s7viewers.InteractiveImage 類別,將所有設定資訊傳遞至其建構函式,並呼叫 init() 檢視器例項的方法。 設定資訊會以JSON物件的形式傳遞至建構函式。 此物件至少應具有 containerId 包含檢視器容器ID名稱且以巢狀顯示的欄位 params 具有檢視器支援之設定引數的JSON物件。 在此案例中, params 物件至少必須將影像伺服URL傳遞為 serverUrl 屬性,並將初始資產設為 asset 引數。 JSON型初始化API可讓您使用一行程式碼建立及啟動檢視器。

    請務必將檢視器容器新增至DOM,讓檢視器程式碼可依其ID找到容器元素。 有些瀏覽器會延遲建立DOM,直到網頁結尾。 如需最大相容性,請呼叫 init() 方法(在結尾之前) BODY 標籤或內文 onload() 事件。

    同時,容器元素不一定會成為網頁版面的一部分。 例如,它可能會使用以下專案隱藏: display:none 樣式已指派給它。 在此情況下,檢視器會延遲其初始化程式,直到網頁將容器元素帶回版面配置為止。 發生此事件時,檢視器會自動繼續載入。

    以下範例說明如何建立檢視器例項、將最低必要的設定選項傳遞至建構函式,以及呼叫 init() 方法。 範例假設 interactiveImage 是檢視器例項; s7viewer 是預留位置的名稱 DIVhttp://aodmarketingna.assetsadobe.com/is/image 是「影像伺服」URL,以及 /content/dam/mac/aodmarketingna/shoppable-banner/shoppable-banner. 為資產:

    <script type="text/javascript">
    var interactiveImage = new s7viewers.InteractiveImage ({
     "containerId":"s7viewer",
    "params":{
     "asset":"/content/dam/mac/aodmarketingna/shoppable-banner/shoppable-banner.jpg",
     "serverurl":"http://aodmarketingna.assetsadobe.com/is/image"
    }
    }).init();
    </script>
    

    下列程式碼為將Video Image Viewer嵌入固定大小的簡單網頁的完整範例:

    <!DOCTYPE html>
    <html>
    <head>
    <script type="text/javascript" src="http://aodmarketingna.assetsadobe.com/etc/dam/viewers/s7viewers/html5/js/InteractiveImage.js"></script>
    <style type="text/css">
    #s7viewer.s7interactiveimage {
     width: 1174px;
     height: 500px;
    }
    </style>
    </head>
    <body>
    <div id="s7viewer" style="position:relative"></div>
    <script type="text/javascript">
    var interactiveImage = new s7viewers.InteractiveImage({
     "containerId":"s7viewer",
    "params":{
     "asset":"/content/dam/mac/aodmarketingna/shoppable-banner/shoppable-banner.jpg",
     "serverurl":"http://aodmarketingna.assetsadobe.com/is/image"
    }
    }).init();
    </script>
    </body>
    </html>
    

高度不受限制的回應式設計內嵌

透過回應式設計內嵌,網頁通常會有某種彈性的版面配置,可指定檢視器容器的執行階段大小 DIV. 對於以下範例,假設網頁允許檢視器的容器 DIV 以取得網頁瀏覽器視窗大小的40%。 而且,其高度不受限制。 網頁HTML程式碼如下所示:

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

將檢視器新增至這類頁面,類似於固定大小內嵌的步驟。 唯一的區別是您不需要明確定義檢視器大小。

  1. 將檢視器JavaScript檔案新增至網頁。
  2. 定義容器 DIV.
  3. 建立和初始化檢視器。

上述所有步驟與固定大小內嵌的步驟相同。 新增容器 DIV 至現有 "holder" DIV. 下列程式碼為完整範例。 請注意瀏覽器調整大小時檢視器大小的變化,以及檢視器外觀比例與資產相符的方式。

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://aodmarketingna.assetsadobe.com/etc/dam/viewers/s7viewers/html5/js/InteractiveImage.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 interactiveImage = new s7viewers.InteractiveImage({
 "containerId":"s7viewer",
"params":{
 "asset":"/content/dam/mac/aodmarketingna/shoppable-banner/shoppable-banner.jpg",
 "serverurl":"http://aodmarketingna.assetsadobe.com/is/image"
}
}).init();
</script>
</body>
</html>

以下範例頁面說明高度不受限制的回應式設計內嵌在實際應用中的更多情況:

https://experienceleague.adobe.com/tools/dynamic-media-demo/shoppable-banner/InteractiveImage-responsive-unrestricted-height.html?lang=zh-Hant?lang=zh-Hant

定義寬度和高度的彈性大小內嵌

如果有定義寬度和高度的彈性大小內嵌,則網頁樣式會不同。 它提供兩種大小給 "holder" 在瀏覽器視窗中進行DIV和置中。 此外,網頁會設定 HTMLBODY 元素至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://aodmarketingna.assetsadobe.com/etc/dam/viewers/s7viewers/html5/js/InteractiveImage.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 interactiveImage = new s7viewers.InteractiveImage({
 "containerId":"s7viewer",
"params":{
 "asset":"/content/dam/mac/aodmarketingna/shoppable-banner/shoppable-banner.jpg",
 "serverurl":"http://aodmarketingna.assetsadobe.com/is/image"
}
}).init();
</script>
</body>
</html>

使用Setter型API內嵌

您可以使用setter型API和no-args建構函式,而不使用JSON型初始化。 使用此API建構函式不接受任何引數,而且設定引數是透過以下方式指定的: setContainerId()setParam()、和 setAsset() 具有個別JavaScript呼叫的API方法。

下列範例說明如何將固定大小內嵌與setter型API搭配使用:

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://aodmarketingna.assetsadobe.com/etc/dam/viewers/s7viewers/html5/js/InteractiveImage.js"></script>
<style type="text/css">
#s7viewer.s7interactiveimage {
 width: 1174px;
 height: 500px;
}
</style>
</head>
<body>
<div id="s7viewer" style="position:relative"></div>
<script type="text/javascript">
var interactiveImage = new s7viewers.InteractiveImage();
interactiveImage.setContainerId("s7viewer");
interactiveImage.setParam("serverurl", "http://aodmarketingna.assetsadobe.com/is/image");
interactiveImage.setAsset("/content/dam/mac/aodmarketingna/shoppable-banner/shoppable-banner.jpg");
interactiveImage.init();
</script>
</body>
</html>

本頁內容