whitelistParentDomain 和 whitelistIframeDomains

通过这些配置,在 iFrame 中和父页面上实施的 ID 服务代码的不同实例可以相互通信。它们旨在帮助解决以下两种特定用例中出现的问题:您可能会(也可能不会)控制父页面/域,以及您在自己控制的域的 iFrame 中加载 ID 服务代码。它们在 VisitorAPI.js 代码版本 2.2 或更高版本中可用。

目录:

语法

使用此代码时,需要两个配置元素。

配置语法 描述

whitelistParentDomain: " Domain name of parent page "

接受作为字符串传入的单个域名。

whitelistIframeDomains: [ "iFrame domain","iFrame domain","iFrame domain" ]

接受作为数组传入的一个或多个 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:浏览器阻止第三方 Cookie,并且在 iFrame 和父页面上实施 ID 服务

用例元素 描述

条件

此用例包括以下条件:

  • 公司 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