whitelistParentDomain 及 whitelistIframeDomains

這些設定可讓實作於 iFrame 及上層頁面的不同 ID 服務代碼執行個體互相通訊。這些設定可在您不一定控制上層頁面/網域,且在您已控制之網域的 iFrame 中載入 ID 服務程式碼的情況下,協助您解決兩種特定使用案例的問題。這些設定適用於 VisitorAPI.js 程式碼 2.2 版或更新版本。

內容:

語法

使用此程式碼時,需要兩個設定元素。

設定語法 說明

whitelistParentDomain:" 上層頁面的網域名稱 "

接受單一網域名稱以字串形式傳入。

whitelistIframeDomains:[ "iFrame 網域","iFrame 網域","iFrame 網域" ]

接受一個或多個 iFrame 網域名稱以陣列形式傳入。

程式碼範例

您設定的 ID 服務程式碼看起來與此範例類似。

//Instantiate Visitor 
var visitor = Visitor.getInstance("Insert Experience Cloud Organization ID here",{ 
 ... 
 //Add parent page domain name and iFrame domain names 
 whitelistParentDomain: "parentpageA.com", 
 whitelistIframeDomains: ["iFrameDomain1.com","iFrameDomain2.com"], 
 ... 
 } 
);

使用案例

這些設定可協助您解決在瀏覽器封鎖第三方 Cookie 且下列任一條件成立時設定 ID 服務 Cookie 和指派訪客 ID 的問題:

  • 您不一定可控制上層頁面/網域。
  • ID 服務程式碼未安裝在上層頁面上,但實作於 iFrame 中。
秘訣

當您在 iFrame 中使用影片活動訊號提供影片時,您也可以實作這些設定。影片心率必須要有 ID 服務 ID (MID) 才能正常運作。

使用案例 1:在 iFrame 和上層頁面實作瀏覽器封鎖第三方 Cookie 及 ID Service

使用案例元素 說明

條件

此使用案例包含下列條件:

  • A 公司在其首頁中實作了 ID 服務。
  • A 公司在其首頁的 iFrame 中實作了 ID 服務。
  • A 公司擁有上層頁面和 iFrame,而且兩處均已實作 ID 服務。
  • 客戶將上層頁面載入封鎖第三方 Cookie 的瀏覽器中。

結果

基於這些條件,ID 服務會:

  • 在上層頁面上正常運作。它會請求並設定 AMCV Cookie,然後將唯一 ID 指派給網站訪客。
  • 在 iFrame 中無法運作。這是因為瀏覽器會將 iFrame 視為第三方網域,而防止 ID 服務設定 AMCV Cookie。

解決方法

藉由這些白名單設定來修改 iFrame 中的 ID 服務 Visitor.getInstance 函數。在程式碼中指定上層網域和子網域。這些設定可讓 iFrame 中的 ID 服務程式碼檢查上層頁面上的 ID 服務程式碼中是否有訪客 ID。

如果 iFrame 中的 ID 服務程式碼未收到回應上層頁面,這些設定將會產生本機訪客 ID。

使用案例 2:從您未控制或未使用 ID 服務的上層頁面中內嵌的 iFrame 請求 ID

使用案例元素 說明

條件

此使用案例包含下列條件:

  • 公司 A 未使用 ID 服務。
  • 公司 A 在頁面上載入 iFrame。此 iFrame 歸 B 公司所擁有,並載入到不同於 A 公司的網域。
  • 瀏覽器會封鎖第三方 Cookie。

結果

基於這些條件,ID 服務會:

  • 在 iFrame 中無法運作。這是因為瀏覽器會將 iFrame 視為第三方網域,而防止 ID 服務設定 AMCV Cookie。
  • 無法從上層頁面取得訪客 ID,因為公司 A 未使用此服務。

解決方法

藉由這些白名單設定來修改 iFrame 中的 ID 服務 Visitor.getInstance 函數。在程式碼中指定上層網域和子網域。這些設定可讓 iFrame 中的 ID 服務程式碼檢查上層頁面上的 ID 服務程式碼中是否有訪客 ID。

如果 iFrame 中的 ID 服務程式碼未收到回應上層頁面,這些設定將會產生本機訪客 ID。

設定安全與安全性

您可以安全地實作這些設定,因為:

  • 在上層網域和 iFrame 網域中實作的 ID 服務必須使用相同的組織 ID。當上層網域或 iFrame 中的組織 ID 不同時,這些白名單設定將無法運作。
  • 這些設定只會與程式碼中指定的網域和 iFrame 通訊。
  • iFrame 與上層頁面之間的通訊會遵循特定格式。如果上層頁面上的 ID 服務未收到預期格式的請求,此共用程序將會失敗。

支援的訪客 API 方法

實作這些白名單設定時,ID 服務支援有限的公用 API 方法集。支援的方法會依據上述使用案例的情況而有所不同。

使用案例 支援的方法

案例 1

  • getMarketingCloudID
  • getAudienceManagerLocationHint
  • getAudienceManagerBlob
  • getSupplementalDataID
  • getCustomerIDs

案例 2

  • getSupplementalDataID
  • getMarketingCloudVisitorID

本頁內容

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now