設定Cookie使用方式 configuring-cookie-usage
AEM提供的服務可讓您設定和控制Cookie在網頁中的使用方式:
- 可設定的伺服器端服務會維護可用的Cookie清單。
- JavaScript API可讓您的JavaScript程式碼驗證是否可使用Cookie。
使用此功能可確保您的頁面符合使用者對Cookie使用方式的同意。
設定允許的Cookie configuring-allowed-cookies
設定AdobeGranite選擇退出服務,指定如何在您的網頁上使用Cookie。 下表說明您可以設定的特性。
若要設定服務,您可以使用網頁主控台或新增OSGi設定到存放庫。 下表說明任一方法所需的特性。 對於OSGi設定,服務PID為com.adobe.granite.optout
。
驗證Cookie使用方式 validating-cookie-usage
使用使用者端JavaScript來呼叫AdobeGranite選擇退出服務,以確認您可以使用Cookie。 使用Granite.OptOutUtil JavaScript物件來執行下列任何工作:
- 取得Cookie名稱清單,該清單指出使用者不同意將Cookie用於追蹤目的。
- 取得可用的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物件 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
。