AEM提供一項服務,可讓您設定並控制Cookie與網頁的使用方式:
使用此功能可確保您的頁面符合使用者對Cookie使用的同意。
設定Adobe Granite選擇退出服務,以指定Cookie在您的網頁上的使用方式。 下表說明了可以配置的屬性。
要配置服務,可以使用Web控制台或將OSGi配置添加到儲存庫。 下表說明了這兩種方法所需的屬性。 對於OSGi配置,服務PID為com.adobe.granite.optout
。
屬性名稱(Web控制台) | OSGi屬性名稱 | 說明 |
---|---|---|
退出Cookie | optout.cookies | 當Cookie出現在使用者裝置上時,表示使用者未同意使用Cookie的Cookie名稱。 |
選擇退出HTTP標題 | optout.headers | HTTP標題的名稱,指出使用者尚未同意使用Cookie。 |
白名單Cookie | optout.whitelist.cookies | 對網站運作至關重要且未經使用者同意即可使用的Cookie清單。 |
使用用戶端javascript呼叫Adobe Granite退出服務,以確認您可以使用Cookie。 使用Granite.OptOutUtil javascript物件來執行下列任何工作:
granite.utils client library資料夾提供Granite.OptOutUtil對象。 將下列程式碼新增至您的頁面標題JSP,以包含javascript程式庫的連結:
<ui:includeClientLib categories="granite.utils" />
例如,下列javascript函式會決定是否允許在寫入COOKIE_NAME Cookie之前使用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可讓您判斷是否允許使用Cookie。
傳回Cookie的名稱,當Cookie存在時,表示使用者未同意使用Cookie。
參數
無.
退貨
Cookie名稱的陣列。
傳回不論使用者同意與否,都可使用的Cookie名稱。
參數
無.
退貨
Cookie名稱的陣列。
判斷使用者的瀏覽器是否包含任何表示未同意使用Cookie的Cookie。
參數
無.
退貨
如果發現表示未同意的Cookie,則布爾值為true
;如果沒有表示未同意的Cookie,則布爾值為false
。
判斷特定Cookie是否可用於使用者的瀏覽器。 此函式等同於搭配使用isOptedOut
函式,以判斷指定Cookie是否包含在getWhitelistCookieNames
函式傳回的清單中。
參數
退貨
可使用cookieName
的布林值true
,或無法使用cookieName
的布林值false
。