配置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之前使用该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。
参数
无.
返回结果
布尔值 true
如果发现表示未同意的Cookie,则 false
如果没有cookie表示不同意。
maySetCookie(cookieName)函数 maysetcookie-cookiename-function
确定能否在用户的浏览器上使用特定的Cookie。 此函数等同于使用 isOptedOut
函数,同时确定给定Cookie是否包含在 getWhitelistCookieNames
函数返回。
参数
- cookieName:字符串。 Cookie的名称。
返回结果
布尔值 true
if cookieName
值,或 false
if cookieName
无法使用。