配置Cookie使用情况

AEM提供的服务允许您配置和控制Cookie在网页中的使用方式:

  • 可配置的服务器端服务会维护可使用的cookie的列表。
  • javascript API使您的javascript代码能够验证是否可以使用cookie。

使用此功能可确保您的页面符合用户对cookie使用的同意。

配置允许的Cookie

配置AdobeGranite退出服务,以指定如何在您的网页上使用cookie。 下表介绍了可配置的属性。

要配置服务,可使用Web控制台向存储库添加OSGi配置。 下表描述了任何一种方法所需的属性。 对于OSGi配置,服务PID为com.adobe.granite.optout

属性名称(Web控制台) OSGi属性名称 描述
选择退出Cookie optout.cookies Cookie的名称,当在用户设备上显示时,它指示用户未同意使用Cookie。
退出HTTP头 optout.headers HTTP头的名称,当存在时,它指示用户未同意使用cookie。
白列表Cookie optout.whitelist.cookies 一列表对网站功能至关重要的cookie,未经用户同意即可使用。

使用客户端javascript调用AdobeGranite退出服务,以验证是否可以使用cookie。 使用Granite.OptOutUtil javascript对象执行下列任一任务:

  • 获取一列表cookie名称,以指示用户不同意将cookie用于跟踪目的。
  • 获取可使用的列表cookie。
  • 确定Web浏览器是否包含Cookie,该Cookie指示用户不同意使用Cookie进行跟踪。
  • 确定是否可以使用特定Cookie。

granite.utils 客户端库文件夹提供Granite.OptOutUtil对象。 将以下代码添加到页面标题JSP,以包含指向javascript库的链接:

<ui:includeClientLib categories="granite.utils" />

例如,以下javascript函数确定在写入COOKIE_NAME Cookie之前是否允许使用它:

function writeCookie(value){
   if (!Granite.OptOutUtil.maySetCookie("COOKIE_NAME")) 
      return;
   if (value) {
      value = encodeURIComponent(value);
      document.cookie = "COOKIE_NAME=" + value; 
   }
}

Granite.OptOutUtil Javascript对象

Granite.OptOutUtil允许您确定是否允许使用cookie。

getCookieNames()函数

返回cookie的名称,当存在时,该名称表示用户尚未同意使用cookie。

参数

无.

退货

一组cookie名称。

getWhitelistCookieNames()函数

返回可以使用的Cookie的名称,无论用户是否同意。

参数

无.

退货

一组cookie名称。

isOptedOut()函数

确定用户的浏览器是否包含任何表示尚未同意使用cookie的cookie。

参数

无.

退货

如果发现表示未同意的cookie,则布尔值true;如果没有表示不同意的cookie,布尔值false

maySetCookie(cookieName)函数

确定是否可以在用户的浏览器上使用特定的Cookie。 此函数等效于结合使用isOptedOut函数来确定给定的cookie是否包含在getWhitelistCookieNames函数返回的列表中。

参数

  • cookieName:字符串。 cookie的名称。

退货

如果可以使用cookieName,则布尔值为true;如果不能使用cookieName,则布尔值为false

On this page

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