Show Menu
主題×

whitelistParentDomain 及 whitelistIframeDomains

這些設定可讓實作於 iFrame 及上層頁面的不同 ID 服務代碼執行個體互相通訊。這兩個設定專為協助解決 2 個特定使用案例問題而設計。在特定使用案例中,您可能需要控制上層頁面/網域,並擁有載入您所控制網域之 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 中施實。
You may also want to implement these configurations when you're serving video in an iFrame with Video Heartbeat . 影片心率需要有 ID 服務 ID (MID) 才能正常運作。
使用案例 1: 在 iFrame 和上層頁面實作瀏覽器封鎖第三方 Cookie 及 ID 服務
使用案例元素
說明
條件
這會使用包含下列條件的案例:
  • A 公司在其首頁中實作了 ID 服務。
  • A 公司在其首頁的 iFrame 中實作了 ID 服務。
  • A 公司擁有上層頁面和 iFrame,而且兩處均已實作 ID 服務。
  • 客戶透過會封鎖第三方 Cookie 的瀏覽器載入上層頁面。
結果
基於上述條件,ID 服務會:
  • 在上層頁面正常運作。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。
  • 由於 A 公司並未使用此服務,因此無法透過上層頁面取得訪客 ID。
解決方法
藉由這些白名單設定來修改 iFrame 中的 ID 服務
Visitor.getInstance
函數。在程式碼中指定上層網域和子網域。這些設定可讓 iFrame 中的 ID 服務程式碼檢查訪客 ID 的上層頁面 ID 服務程式碼。
如果 iFrame 的 ID 服務程式碼沒有收到回應的上層頁面,這些設定便會產生本機訪客 ID。

設定安全與安全性

您可以安全地實作這些設定,因為:
  • 在上層網域和 iFrame 網域中實作的 ID 服務必須使用相同的組織 ID。如果上層或 iFrame 中的組織 ID 不同,這些白名單設定便無法運作。
  • 這些設定只會與程式碼所指定的網域和 iFrames 通訊。
  • iFrame 與上層頁面之間的通訊會採用特定的格式。如果上層頁面的 ID 服務沒有接收到採用預期格式的要求,則此共用程序就會失敗。

支援的訪客 API 方法

實作這些白名單設定時,ID 服務支援有限的公用 API 方法集。支援的方法會依上述使用案例而有所不同。
使用案例
支援的方法
案例 1
  • getMarketingCloudID
  • getAudienceManagerLocationHint
  • getAudienceManagerBlob
  • getSupplementalDataID
  • getCustomerIDs
案例 2
  • getSupplementalDataID
  • getMarketingCloudVisitorID