配置Cookie用法 configuring-cookie-usage
AEM提供的服务允许您配置并控制如何将Cookie用于网页:
- 可配置的服务器端服务维护一个可用的Cookie列表。
- JavaScript API允许您的JavaScript代码验证是否可以使用Cookie。
使用此功能可确保您的页面在有关Cookie使用方面符合用户的同意。
配置允许的Cookie configuring-allowed-cookies
配置AdobeGranite选择退出服务以指定如何在您的网页上使用Cookie。 下表描述了可以配置的属性。
要配置服务,您可以使用Web控制台或将OSGi配置添加到存储库。 下表描述了任一方法所需的属性。 对于OSGi配置,服务PID为com.adobe.granite.optout
。
验证Cookie使用情况 validating-cookie-usage
使用客户端JavaScript调用AdobeGranite选择退出服务以验证您是否可以使用Cookie。 使用Granite.OptOutUtil JavaScript对象执行以下任意任务:
- 获取Cookie名称列表,以表明用户不同意使用Cookie进行跟踪。
- 获取可用的Cookie列表。
- 确定Web浏览器是否包含指示用户不同意使用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对象 the-granite-optoututil-javascript-object
Granite.OptOutUtil允许您确定是否允许使用Cookie。
getCookieNames()函数 getcookienames-function
Cookie的名称,如果存在,则表示用户未同意使用Cookie。
参数
无。
返回
Cookie名称的数组。
getWhitelistCookieNames()函数 getwhitelistcookienames-function
无论用户是否同意,都可以使用的Cookie的名称。
参数
无。
返回
Cookie名称的数组。
isOptedOut()函数 isoptedout-function
确定用户的浏览器是否包含表明未同意使用Cookie的任何Cookie。
参数
无。
返回
如果找到指示不同意的Cookie,则布尔值为true
;如果没有Cookie指示不同意,则布尔值为false
。
maySetCookie(cookieName)函数 maysetcookie-cookiename-function
确定在用户浏览器上是否可以使用特定Cookie。 此函数等同于使用isOptedOut
函数来确定给定的Cookie是否包含在getWhitelistCookieNames
函数返回的列表中。
参数
- cookieName:字符串。 Cookie的名称。
返回
如果可以使用cookieName
,则布尔值为true
;如果无法使用cookieName
,则布尔值为false
。