我目前正在爲多個網站編寫自定義cookie法解決方案。我試圖儘可能多地將解決方案/插件作爲「全方位解決方案」,並將代碼作爲腳本的第一位加入。目前我已經幾乎完成了所有工作,而且看起來都非常漂亮,我希望給用戶「接受」或「拒絕」的能力,拒絕將他們重定向但仍然允許他們使用該網站。Cookie法,Cookie setter和getter
到目前爲止,我已經爲接受和拒絕設置了正確的cookie,它在基於那裏選擇接受或拒絕的cookie中設置true或false值。
我想使用我已經發現的代碼來重新定義cookie setter和getter,在if語句中防止cookie被設置,如果用戶沒有給出權限或未選擇答案。
document.__defineGetter__("cookie", function() { return '';});
document.__defineSetter__("cookie", function() {});
到目前爲止,我有這樣的代碼來檢查用戶是否允許的Cookie,
if(checkCookie != true){
// Run code to redefine cookie setter getter to prevent cookies from being set
}else{
// Don't do anything and the cookies should be run as usual.
};
有人能賜教或點我就如何使用cookie的setter和getter做正確的方向正如我所解釋的那樣?
您應該知道服務器通常通過響應HTTP標頭設置cookie。當這種情況發生時,不會調用Javascript,因爲cookie甚至在頁面開始被解析之前設置。所以你可能只能攔截通過javascript設置的cookie。雖然您可以閱讀以前設置的任何cookie,但您將無法阻止它們被設置。 –
是的,我不需要攔截由PHP設置的cookie,因爲我有另一個解決方案,我只想攔截由JavaScript設置的那些,我計劃在很多html只有網站上實現這個插件,所以PHP cookies不會是一個問題,我的PHP解決方案正在爲其他PHP站點工作。 – Sam