簡體   English   中英

在首次頁面加載時設置Cookie

[英]Set a cookie on first time page load

僅當首次加載頁面時,如何才能通過jQuery cookie( $.cookie() )庫設置cookie? 我目前具有切換功能,可以在click事件后更改相關Cookie的值

$('.family-filter').click(function() {
    if ($.cookie('ff') == null) {
        $.cookie('ff', 'on', {
            expires: 1,
            path: '/'
        });
    } else {
        $.cookie('ff', null, {
            path: '/'
        });
    }
});

但是,如果尚未設置默認值,則需要一個默認值。

也很樂意通過PHP進行設置,但在這種情況下,我更喜歡通過Javascript進行設置

在頁面加載中,您可以設置此代碼來檢查和設置Cookie

<?php

if (!isset($_COOKIE["ff"])) {
    // Expire Time is 30 Days
    $expire = time() + 60 * 60 * 24 * 30;
    setcookie('ff', 'on', $expire);
}

我像這樣添加一個cokkie:

if (document.cookie.indexOf('visited=true') == -1) {
    var thirtydays = 1000*60*60*24*30;
    var expires = new Date((new Date()).valueOf() +  thirtydays);
    document.cookie = "visited=true;expires=" +  expires.toUTCString();
}

它對我來說很好用,如果在用戶第一次訪問網站時需要運行某些內容,則可以在if子句中添加更多代碼。

好吧,我決定以這種方式實現它:

if ($.cookie('ff') == null) {
    $.cookie('ff', 'on', {
        expires: 30,
        path: '/'
    });
}

$('.family-filter').click(function() {
    if ($.cookie('ff') == 'off') {
        $.cookie('ff', 'on', {
            expires: 30,
            path: '/'
        });
    } else {
        $.cookie('ff', 'off', {
            path: '/'
        });
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM