互動式影像檢視器是一種檢視器,可顯示單一、不可縮放的影像及可點選的熱點。 此檢視器的目的是建置「可購買的橫幅」體驗。 也就是說,使用者可以在橫幅影像上選取熱點,並重新導向至您網站上的「快速檢視」或產品詳細資訊頁面。 它可在桌上型電腦和行動裝置上運作。
此檢視器不支援使用IR(影像演算)或UGC(使用者產生的內容)的影像。
檢視器類型為508。
https://marketing.adobe.com/resources/help/en_US/dm/shoppable-banner/samples/InteractiveImage.html
請參閱系統需求。
互動式影像檢視器代表主要JavaScript檔案和一組輔助檔案(單一JavaScript包含此特定檢視器使用的所有檢視器SDK元件、資產、CSS),由檢視器在執行時期下載。
互動式影像檢視器僅能在內嵌模式下使用,而且會使用記載的API整合在目標網頁中。
設定和外觀設定與本說明中說明的其他檢視器類似。 所有外觀設定都是透過自訂CSS來完成。
請參閱所有檢視器通用的命令參考——組態屬性和所有檢視器通用的命令參考- URL
視訊影像檢視器支援的互動是案頭系統上的熱點啟動。 只要輕點一下,就會在點選和觸控裝置上進行啟動。
檢視器可完全透過鍵盤存取。
請參閱鍵盤協助功能和導覽。
互動式影像檢視器是設計為內嵌在代管頁面中。 這種網頁可以具有靜態版面,或者可以是「自適應」的,並在不同裝置上或不同瀏覽器視窗大小顯示不同。
為滿足這些需求,檢視器支援兩種主要作業模式:固定大小內嵌和回應式內嵌。
關於固定大小嵌入模式和自適應設計嵌入模式
在內嵌模式中,檢視器會新增至現有的網頁。 此網頁可能已有一些與檢視器無關的客戶內容。 檢視器通常只佔用網頁的部分空間。
主要使用案例是面向桌上型電腦或平板電腦裝置的網頁,以及回應式設計的頁面,可根據裝置類型自動調整版面。
當檢視器在初始載入後未變更其大小時,會使用固定大小內嵌。 這是具有靜態版面的網頁的最佳選擇。
回應式設計內嵌假設檢視器可能需要在執行時期調整大小,以回應其容器DIV
的大小變更。 最常見的使用案例是將檢視器新增至使用彈性頁面版面的網頁。
在回應式設計內嵌模式中,檢視器的運作方式會因網頁大小的容器DIV
而異。 如果網頁僅設定容器的寬度DIV
,而不限制其高度,檢視器會根據所使用資產的長寬比自動選擇其高度。 此功能可確保資產完美整合至檢視中,而不會在側邊產生任何填補空間。 此使用案例是使用自適應網頁設計版面架構(例如引導、基礎等)的網頁最常見的使用案例。
否則,如果網頁同時設定檢視器容器DIV
的寬度和高度,檢視器只會填滿該區域。 它也會遵循網頁版面的大小。 一個很好的例子是將檢視器內嵌至模態覆蓋,其中覆蓋會根據網頁瀏覽器視窗大小而調整大小。
固定大小內嵌
您可執行下列動作,將檢視器新增至網頁:
將檢視器JavaScript檔案新增至您的網頁。
定義容器DIV
。
設定檢視器大小。
建立和初始化檢視器。
將檢視器JavaScript檔案新增至您的網頁。
建立檢視器時,您必須在HTML標題中新增指令碼標籤。 請務必加入InterativeImage.js,才能使用檢視器API。 InteractiveImage.js檔案位於標準IS-Viewer部署的html5/js/子資料夾下:
<s7viewers_root>/etc/dam/viewers/s7viewers/html5/js/InteractiveImage.js
如果檢視器部署在其中一個Adobe Dynamic Media Classic伺服器上,且是從相同網域提供,則可使用相對路徑。 否則,您會指定安裝IS-Viewer之一的Adobe Dynamic Media Classic伺服器的完整路徑。
相對路徑如下所示:
<script language="javascript" type="text/javascript" src="/etc/dam/viewers/s7viewers/html5/js/InteractiveImage.js"></script>
您只應在頁面上參考主要檢視器JavaScript include
檔案。 您不應在網頁程式碼中參考檢視器邏輯在執行時期中可能下載的任何其他JavaScript檔案。 尤其是,請勿直接參考檢視器從/s7viewers
內容路徑載入的HTML5 SDK Utils.js
程式庫(稱為統一SDK include
)。 原因是Utils.js
或類似的執行時期檢視器程式庫的位置完全由檢視器的邏輯管理,而檢視器版本間的位置也會變更。 Adobe不會在伺服器上保留舊版次要檢視器includes
。
因此,將檢視器使用的任何次要JavaScript include
直接參考放在頁面上,將來部署新產品版本時,檢視器功能會中斷。
定義容器DIV
。
將空的DIV
元素新增至您要檢視器出現的頁面。 DIV
元素必須已定義其ID,因為此ID稍後會傳遞至檢視器API。 DIV的大小是透過CSS指定的。
預留位置DIV
是定位的元素,這表示position
CSS屬性已設為relative
或absolute
。
以下是已定義的佔位符DIV
元素的示例:
<div id="s7viewer" style="position:relative"></div>
設定檢視器大小
您可以設定檢視器的靜態大小,方法是以絕對單位聲明.s7interactiveimage
頂層CSS類別,或使用stagesize
修飾元。
您可以直接將大小調整置於CSS中的HTML頁面,或自訂檢視器CSS檔案中,這些檔案稍後會指派給AEM Assets —— 隨選的檢視器預設記錄,或是使用style
命令明確傳遞。
如需使用CSS設定檢視器樣式的詳細資訊,請參閱Video。
以下是在HTML頁面中定義靜態檢視器大小的範例:
#s7viewer.s7interactiveimage {
width: 1174px;
height: 500px;
}
您可將stagesize
修飾元與檢視器初始化程式碼及params
系列明確傳遞,或以API呼叫的形式傳遞,如下所示:
interactiveImage.setParam("stagesize", "1174,500");
建議使用以CSS為基礎的方法,並在此範例中使用。
建立和初始化檢視器。
完成上述步驟後,您將建立一個s7viewers.InteractiveImage
類的實例,將所有配置資訊傳遞給其建構子,並在查看器實例上調用init()
方法。 設定資訊會以JSON物件的形式傳遞至建構函式。 至少,此物件應具有containerId
欄位,此欄位包含檢視器容器ID的名稱,並巢狀內嵌params
JSON物件,檢視器支援設定參數。 在這種情況下,params
物件至少必須將影像伺服URL傳遞為serverUrl
屬性,而初始資產則必須為asset
參數。 以JSON為基礎的初始化API可讓您使用一行程式碼來建立和啟動檢視器。
請務必將檢視器容器新增至DOM,如此檢視器程式碼就能依其ID找到容器元素。 有些瀏覽器會延遲建立DOM,直到網頁結束為止。 為獲得最大相容性,請在BODY
結束標籤之前或在主體onload()
事件上調用init()
方法。
同時,容器元素也不一定是網頁版面的一部分。 例如,它可能會使用指派給它的display:none
樣式進行隱藏。 在此情況下,檢視器會延遲其初始化程式,直到網頁將容器元素帶回版面為止。 發生此情況時,檢視器載入會自動繼續。
以下是建立檢視器例項、將最小必要組態選項傳遞至建構函式並呼叫init()
方法的範例。 範例假設interactiveImage
為檢視器例項;s7viewer
是佔位符DIV
的名稱;http://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>
以下程式碼是內嵌固定大小視訊影像檢視器之簡單網頁的完整範例:
<!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>
將檢視器新增至此類頁面的步驟類似於固定大小內嵌的步驟。 唯一的區別是您不需要明確定義檢視器大小。
DIV
。上述所有步驟都與固定大小內嵌相同。 將容器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>
下列範例頁面說明在實際使用中,不受高度限制的互動式設計內嵌功能:
定義寬度和高度的彈性大小內嵌
若是定義了寬度和高度的彈性大小內嵌,網頁樣式會有所不同。 它為"holder"
DIV提供兩種大小,並將它置於瀏覽器視窗中。 此外,網頁還將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://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-based API和no-args建構函式,而不是使用JSON型初始化。 使用此API建構函式時,不會使用任何參數,而且設定參數是使用setContainerId()
、setParam()
和setAsset()
API方法來指定,並使用個別的JavaScript呼叫。
下列範例說明如何搭配基於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>