Hướng dẫn delete cookies javascript example - xóa cookie javascript ví dụ

function deleteAllCookies() {
    var cookies = document.cookie.split(";");

    for (var i = 0; i < cookies.length; i++) {
        var cookie = cookies[i];
        var eqPos = cookie.indexOf("=");
        var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
        document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
    }
}

Lưu ý rằng mã này có hai hạn chế:

  • Nó sẽ không xóa cookie bằng bộ cờ
    javascript:(function(){document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); }); })();
    
    8, vì cờ ____28 vô hiệu hóa quyền truy cập của JavaScript vào cookie.
  • Nó sẽ không xóa cookie đã được đặt với giá trị
    (function () {
        var cookies = document.cookie.split("; ");
        for (var c = 0; c < cookies.length; c++) {
            var d = window.location.hostname.split(".");
            while (d.length > 0) {
                var cookieBase = encodeURIComponent(cookies[c].split(";")[0].split("=")[0]) + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=' + d.join('.') + ' ;path=';
                var p = location.pathname.split('/');
                document.cookie = cookieBase + '/';
                while (p.length > 0) {
                    document.cookie = cookieBase + p.join('/');
                    p.pop();
                };
                d.shift();
            }
        }
    })();
    
    0. .

Flim

122K39 Huy hiệu vàng236 Huy hiệu bạc248 Huy hiệu Đồng39 gold badges236 silver badges248 bronze badges

Đã trả lời ngày 7 tháng 10 năm 2008 lúc 17:27Oct 7, 2008 at 17:27

Hướng dẫn delete cookies javascript example - xóa cookie javascript ví dụ

Robert J. Walkerrobert J. WalkerRobert J. Walker

9.6095 Huy hiệu vàng42 Huy hiệu bạc65 Huy hiệu Đồng5 gold badges42 silver badges65 bronze badges

13

Lót

Trong trường hợp bạn muốn dán nó nhanh chóng ...

document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); });

Và mã cho một dấu trang:

javascript:(function(){document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); }); })();

Đã trả lời ngày 9 tháng 12 năm 2014 lúc 8:28Dec 9, 2014 at 8:28

Hướng dẫn delete cookies javascript example - xóa cookie javascript ví dụ

Craig Smedleycraig SmedleyCraig Smedley

2.3581 Huy hiệu vàng14 Huy hiệu bạc10 Huy hiệu đồng1 gold badge14 silver badges10 bronze badges

4

Và đây là một để xóa tất cả các cookie trong tất cả các đường dẫn và tất cả các biến thể của miền (

(function () {
    var cookies = document.cookie.split("; ");
    for (var c = 0; c < cookies.length; c++) {
        var d = window.location.hostname.split(".");
        while (d.length > 0) {
            var cookieBase = encodeURIComponent(cookies[c].split(";")[0].split("=")[0]) + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=' + d.join('.') + ' ;path=';
            var p = location.pathname.split('/');
            document.cookie = cookieBase + '/';
            while (p.length > 0) {
                document.cookie = cookieBase + p.join('/');
                p.pop();
            };
            d.shift();
        }
    }
})();
3,
(function () {
    var cookies = document.cookie.split("; ");
    for (var c = 0; c < cookies.length; c++) {
        var d = window.location.hostname.split(".");
        while (d.length > 0) {
            var cookieBase = encodeURIComponent(cookies[c].split(";")[0].split("=")[0]) + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=' + d.join('.') + ' ;path=';
            var p = location.pathname.split('/');
            document.cookie = cookieBase + '/';
            while (p.length > 0) {
                document.cookie = cookieBase + p.join('/');
                p.pop();
            };
            d.shift();
        }
    }
})();
4, v.v.):

(function () {
    var cookies = document.cookie.split("; ");
    for (var c = 0; c < cookies.length; c++) {
        var d = window.location.hostname.split(".");
        while (d.length > 0) {
            var cookieBase = encodeURIComponent(cookies[c].split(";")[0].split("=")[0]) + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=' + d.join('.') + ' ;path=';
            var p = location.pathname.split('/');
            document.cookie = cookieBase + '/';
            while (p.length > 0) {
                document.cookie = cookieBase + p.join('/');
                p.pop();
            };
            d.shift();
        }
    }
})();

Hướng dẫn delete cookies javascript example - xóa cookie javascript ví dụ

Đã trả lời ngày 27 tháng 10 năm 2015 lúc 10:59Oct 27, 2015 at 10:59

Jan janJan

5.4903 Huy hiệu vàng26 Huy hiệu bạc44 Huy hiệu đồng3 gold badges26 silver badges44 bronze badges

7

Sau một chút thất vọng với điều này, tôi đã kết hợp chức năng này sẽ cố gắng xóa một cookie có tên khỏi tất cả các đường dẫn. Chỉ cần gọi cái này cho mỗi cookie của bạn và bạn nên gần hơn để xóa mọi cookie sau đó bạn đã từng có.

function eraseCookieFromAllPaths(name) {
    // This function will attempt to remove a cookie from all paths.
    var pathBits = location.pathname.split('/');
    var pathCurrent = ' path=';

    // do a simple pathless delete first.
    document.cookie = name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT;';

    for (var i = 0; i < pathBits.length; i++) {
        pathCurrent += ((pathCurrent.substr(-1) != '/') ? '/' : '') + pathBits[i];
        document.cookie = name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT;' + pathCurrent + ';';
    }
}

Như mọi khi các trình duyệt khác nhau có hành vi khác nhau nhưng điều này làm việc cho tôi. Vui thích.

Mahemoff

42.5K34 Huy hiệu vàng149 Huy hiệu bạc215 Huy hiệu Đồng34 gold badges149 silver badges215 bronze badges

Đã trả lời ngày 4 tháng 5 năm 2011 lúc 16:34May 4, 2011 at 16:34

AnthonyvoanthonyvoAnthonyVO

3.6331 Huy hiệu vàng33 Huy hiệu bạc37 Huy hiệu đồng1 gold badge33 silver badges37 bronze badges

2

Mã sau đây sẽ xóa tất cả các cookie trong miền hiện tại và tất cả các tên miền phụ theo dõi (

(function () {
    var cookies = document.cookie.split("; ");
    for (var c = 0; c < cookies.length; c++) {
        var d = window.location.hostname.split(".");
        while (d.length > 0) {
            var cookieBase = encodeURIComponent(cookies[c].split(";")[0].split("=")[0]) + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=' + d.join('.') + ' ;path=';
            var p = location.pathname.split('/');
            document.cookie = cookieBase + '/';
            while (p.length > 0) {
                document.cookie = cookieBase + p.join('/');
                p.pop();
            };
            d.shift();
        }
    }
})();
5,
(function () {
    var cookies = document.cookie.split("; ");
    for (var c = 0; c < cookies.length; c++) {
        var d = window.location.hostname.split(".");
        while (d.length > 0) {
            var cookieBase = encodeURIComponent(cookies[c].split(";")[0].split("=")[0]) + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=' + d.join('.') + ' ;path=';
            var p = location.pathname.split('/');
            document.cookie = cookieBase + '/';
            while (p.length > 0) {
                document.cookie = cookieBase + p.join('/');
                p.pop();
            };
            d.shift();
        }
    }
})();
6,
(function () {
    var cookies = document.cookie.split("; ");
    for (var c = 0; c < cookies.length; c++) {
        var d = window.location.hostname.split(".");
        while (d.length > 0) {
            var cookieBase = encodeURIComponent(cookies[c].split(";")[0].split("=")[0]) + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=' + d.join('.') + ' ;path=';
            var p = location.pathname.split('/');
            document.cookie = cookieBase + '/';
            while (p.length > 0) {
                document.cookie = cookieBase + p.join('/');
                p.pop();
            };
            d.shift();
        }
    }
})();
7, v.v.).

Một phiên bản Vanilla JS duy nhất (Tôi nghĩ rằng phiên bản duy nhất ở đây mà không sử dụng

(function () {
    var cookies = document.cookie.split("; ");
    for (var c = 0; c < cookies.length; c++) {
        var d = window.location.hostname.split(".");
        while (d.length > 0) {
            var cookieBase = encodeURIComponent(cookies[c].split(";")[0].split("=")[0]) + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=' + d.join('.') + ' ;path=';
            var p = location.pathname.split('/');
            document.cookie = cookieBase + '/';
            while (p.length > 0) {
                document.cookie = cookieBase + p.join('/');
                p.pop();
            };
            d.shift();
        }
    }
})();
8):

document.cookie.replace(/(?<=^|;).+?(?=\=|;|$)/g, name => location.hostname.split('.').reverse().reduce(domain => (domain=domain.replace(/^\.?[^.]+/, ''),document.cookie=`${name}=;max-age=0;path=/;domain=${domain}`,domain), location.hostname));

Đây là phiên bản có thể đọc được của dòng đơn này:

document.cookie.replace(
  /(?<=^|;).+?(?=\=|;|$)/g,
  name => location.hostname
    .split(/\.(?=[^\.]+\.)/)
    .reduceRight((acc, val, i, arr) => i ? arr[i]='.'+val+acc : (arr[i]='', arr), '')
    .map(domain => document.cookie=`${name}=;max-age=0;path=/;domain=${domain}`)
);

Hướng dẫn delete cookies javascript example - xóa cookie javascript ví dụ

Đã trả lời ngày 18 tháng 3 năm 2021 lúc 19:43Mar 18, 2021 at 19:43

Slavik Meltserslavik MeltserSlavik Meltser

8.9243 huy hiệu vàng44 Huy hiệu bạc46 Huy hiệu đồng3 gold badges44 silver badges46 bronze badges

3

Nếu bạn có quyền truy cập vào plugin jQuery.cookie, bạn có thể xóa tất cả các cookie theo cách này:

for (var it in $.cookie()) $.removeCookie(it);

Đã trả lời ngày 6 tháng 1 năm 2014 lúc 9:38Jan 6, 2014 at 9:38

Jichijichijichi

5.7451 Huy hiệu vàng31 Huy hiệu bạc25 Huy hiệu đồng1 gold badge31 silver badges25 bronze badges

2

Theo như tôi biết, không có cách nào để xóa chăn của bất kỳ cookie nào trên miền. Bạn có thể xóa cookie nếu bạn biết tên và nếu tập lệnh có cùng miền với cookie.

Bạn có thể đặt giá trị thành trống và ngày hết hạn thành một nơi nào đó trong quá khứ:

var mydate = new Date();
mydate.setTime(mydate.getTime() - 1);
document.cookie = "username=; expires=" + mydate.toGMTString(); 

Có một bài viết tuyệt vời ở đây về việc thao tác cookie bằng JavaScript.

Đã trả lời ngày 7 tháng 10 năm 2008 lúc 16:49Oct 7, 2008 at 16:49

ConroypConroypConroyP

40.3k16 Huy hiệu vàng78 Huy hiệu bạc86 Huy hiệu đồng16 gold badges78 silver badges86 bronze badges

2

Một câu trả lời chịu ảnh hưởng của cả câu trả lời thứ hai ở đây và trường học W3S

document.cookie.split(';').forEach(function(c) {
  document.cookie = c.trim().split('=')[0] + '=;' + 'expires=Thu, 01 Jan 1970 00:00:00 UTC;';
});

Dường như đang hoạt động

EDIT: Wow gần như chính xác giống như thú vị của Zach về cách Stack Overflow đặt chúng cạnh nhau.

Chỉnh sửa: NVM rõ ràng là tạm thời

Đã trả lời ngày 24 tháng 5 năm 2017 lúc 16:52May 24, 2017 at 16:52

Hướng dẫn delete cookies javascript example - xóa cookie javascript ví dụ

Nếu bạn chỉ lo lắng về việc xóa cookie chỉ trên nguồn gốc được bảo mật, bạn có thể sử dụng API Cookie Store và phương thức .delete ().

document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); });
0

Truy cập bảng Caniuse.com cho API Cookie Store để kiểm tra hỗ trợ trình duyệt.browser support.

Hướng dẫn delete cookies javascript example - xóa cookie javascript ví dụ

Đã trả lời ngày 13 tháng 3 năm 2021 lúc 9:48Mar 13, 2021 at 9:48

Hướng dẫn delete cookies javascript example - xóa cookie javascript ví dụ

TeslateslaTesla

1391 Huy hiệu bạc6 Huy hiệu đồng1 silver badge6 bronze badges

1

Đơn giản hơn. Nhanh hơn.

document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); });
1

Đã trả lời ngày 21 tháng 11 năm 2013 lúc 8:09Nov 21, 2013 at 8:09

Hướng dẫn delete cookies javascript example - xóa cookie javascript ví dụ

DineshdineshDinesh

1.1089 huy hiệu bạc6 Huy hiệu đồng9 silver badges6 bronze badges

1

Tôi không biết tại sao câu trả lời được bỏ phiếu đầu tiên không phù hợp với tôi.

Như câu trả lời này đã nói:

Không có giải pháp 100% để xóa cookie trình duyệt.

Vấn đề là cookie được xác định duy nhất không chỉ bởi "tên" khóa của chúng mà còn cả "miền" và "đường dẫn" của chúng.

Không biết "miền" và "đường dẫn" của cookie, bạn không thể xóa nó một cách đáng tin cậy. Thông tin này không có sẵn thông qua tài liệu của JavaScript.cookie. Nó cũng không có sẵn thông qua tiêu đề cookie HTTP!

Vì vậy, ý tưởng của tôi là thêm điều khiển phiên bản cookie với toàn bộ cài đặt, nhận, xóa cookie:

document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); });
2

Đã trả lời ngày 11 tháng 5 năm 2018 lúc 11:28May 11, 2018 at 11:28

Hướng dẫn delete cookies javascript example - xóa cookie javascript ví dụ

MashiromashiroMashiro

7111 Huy hiệu vàng8 Huy hiệu bạc19 Huy hiệu đồng1 gold badge8 silver badges19 bronze badges

1

Hình tôi sẽ chia sẻ phương pháp này để xóa cookie. Có lẽ nó có thể hữu ích cho người khác tại một số điểm.

document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); });
3

Đã trả lời ngày 23 tháng 7 năm 2013 lúc 19:28Jul 23, 2013 at 19:28

Zach Shallbetterzach ShallbetterZach Shallbetter

1.8715 huy hiệu vàng23 Huy hiệu bạc37 Huy hiệu đồng5 gold badges23 silver badges37 bronze badges

1

Tôi có một số mô-đun điều khiển cookie tinh vi và định hướng OOP hơn. Nó cũng chứa phương pháp

(function () {
    var cookies = document.cookie.split("; ");
    for (var c = 0; c < cookies.length; c++) {
        var d = window.location.hostname.split(".");
        while (d.length > 0) {
            var cookieBase = encodeURIComponent(cookies[c].split(";")[0].split("=")[0]) + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=' + d.join('.') + ' ;path=';
            var p = location.pathname.split('/');
            document.cookie = cookieBase + '/';
            while (p.length > 0) {
                document.cookie = cookieBase + p.join('/');
                p.pop();
            };
            d.shift();
        }
    }
})();
9 để xóa tất cả cookie hiện có. Hãy chú ý rằng phiên bản này của phương thức
(function () {
    var cookies = document.cookie.split("; ");
    for (var c = 0; c < cookies.length; c++) {
        var d = window.location.hostname.split(".");
        while (d.length > 0) {
            var cookieBase = encodeURIComponent(cookies[c].split(";")[0].split("=")[0]) + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=' + d.join('.') + ' ;path=';
            var p = location.pathname.split('/');
            document.cookie = cookieBase + '/';
            while (p.length > 0) {
                document.cookie = cookieBase + p.join('/');
                p.pop();
            };
            d.shift();
        }
    }
})();
9 có cài đặt
function eraseCookieFromAllPaths(name) {
    // This function will attempt to remove a cookie from all paths.
    var pathBits = location.pathname.split('/');
    var pathCurrent = ' path=';

    // do a simple pathless delete first.
    document.cookie = name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT;';

    for (var i = 0; i < pathBits.length; i++) {
        pathCurrent += ((pathCurrent.substr(-1) != '/') ? '/' : '') + pathBits[i];
        document.cookie = name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT;' + pathCurrent + ';';
    }
}
1 gây ra xóa tất cả các cookie trong miền hiện tại. Nếu bạn chỉ cần xóa cookie khỏi một số phạm vi, bạn sẽ phải nâng cấp phương thức này, tôi sẽ thêm tham số
function eraseCookieFromAllPaths(name) {
    // This function will attempt to remove a cookie from all paths.
    var pathBits = location.pathname.split('/');
    var pathCurrent = ' path=';

    // do a simple pathless delete first.
    document.cookie = name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT;';

    for (var i = 0; i < pathBits.length; i++) {
        pathCurrent += ((pathCurrent.substr(-1) != '/') ? '/' : '') + pathBits[i];
        document.cookie = name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT;' + pathCurrent + ';';
    }
}
2 động vào phương pháp này.

Có lớp

function eraseCookieFromAllPaths(name) {
    // This function will attempt to remove a cookie from all paths.
    var pathBits = location.pathname.split('/');
    var pathCurrent = ' path=';

    // do a simple pathless delete first.
    document.cookie = name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT;';

    for (var i = 0; i < pathBits.length; i++) {
        pathCurrent += ((pathCurrent.substr(-1) != '/') ? '/' : '') + pathBits[i];
        document.cookie = name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT;' + pathCurrent + ';';
    }
}
3 chính:

document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); });
4

Phương pháp cookie setter (

function eraseCookieFromAllPaths(name) {
    // This function will attempt to remove a cookie from all paths.
    var pathBits = location.pathname.split('/');
    var pathCurrent = ' path=';

    // do a simple pathless delete first.
    document.cookie = name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT;';

    for (var i = 0; i < pathBits.length; i++) {
        pathCurrent += ((pathCurrent.substr(-1) != '/') ? '/' : '') + pathBits[i];
        document.cookie = name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT;' + pathCurrent + ';';
    }
}
4) khá phức tạp nên tôi đã phân hủy nó thành lớp khác. Có mã của cái này:

document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); });
5

Đã trả lời ngày 1 tháng 3 năm 2019 lúc 15:19Mar 1, 2019 at 15:19

B. Bohdanb. BohdanB. Bohdan

4624 Huy hiệu bạc12 Huy hiệu đồng4 silver badges12 bronze badges

document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); });
6

Hướng dẫn delete cookies javascript example - xóa cookie javascript ví dụ

Suraj Rao

29.1k11 Huy hiệu vàng95 Huy hiệu bạc101 Huy hiệu đồng11 gold badges95 silver badges101 bronze badges

Đã trả lời ngày 1 tháng 3 năm 2021 lúc 12:21Mar 1, 2021 at 12:21

Hướng dẫn delete cookies javascript example - xóa cookie javascript ví dụ

3

Dưới đây là một mã đơn giản để xóa tất cả các cookie trong JavaScript.

document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); });
7

Chạy chức năng

function eraseCookieFromAllPaths(name) {
    // This function will attempt to remove a cookie from all paths.
    var pathBits = location.pathname.split('/');
    var pathCurrent = ' path=';

    // do a simple pathless delete first.
    document.cookie = name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT;';

    for (var i = 0; i < pathBits.length; i++) {
        pathCurrent += ((pathCurrent.substr(-1) != '/') ? '/' : '') + pathBits[i];
        document.cookie = name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT;' + pathCurrent + ';';
    }
}
5 để xóa tất cả các cookie.

Đã trả lời ngày 4 tháng 7 năm 2016 lúc 11:55Jul 4, 2016 at 11:55

1

Bạn có thể nhận được một danh sách bằng cách xem xét Biến tài liệu.cookie. Xóa tất cả chúng chỉ là vấn đề lặp lại tất cả chúng và xóa từng cái một.

Đã trả lời ngày 7 tháng 10 năm 2008 lúc 16:54Oct 7, 2008 at 16:54

SecsecSec

6.8495 Huy hiệu vàng31 Huy hiệu bạc58 Huy hiệu Đồng5 gold badges31 silver badges58 bronze badges

document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); });
8

Đã trả lời ngày 13 tháng 8 năm 2015 lúc 9:57Aug 13, 2015 at 9:57

Hướng dẫn delete cookies javascript example - xóa cookie javascript ví dụ

RomanromanRoman

16.5K11 Huy hiệu vàng81 Huy hiệu bạc83 Huy hiệu đồng11 gold badges81 silver badges83 bronze badges

1

Phương pháp tiếp cận chức năng + ES6

document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); });
9

Lưu ý: Không xử lý các đường dẫn

Đã trả lời ngày 7 tháng 7 năm 2016 lúc 11:31Jul 7, 2016 at 11:31

Hướng dẫn delete cookies javascript example - xóa cookie javascript ví dụ

Một số câu trả lời ở đây không giải quyết câu hỏi đường dẫn. Tôi tin rằng: nếu bạn điều khiển trang web hoặc một phần của nó, bạn nên biết tất cả các đường dẫn được sử dụng. Vì vậy, bạn chỉ cần xóa tất cả các cookie khỏi tất cả các đường dẫn được sử dụng. Bởi vì trang web của tôi đã có jQuery (và vì lười biếng), tôi quyết định sử dụng cookie jQuery, nhưng bạn có thể dễ dàng điều chỉnh nó với JavaScript thuần túy dựa trên các câu trả lời khác.

Trong ví dụ này, tôi loại bỏ ba đường dẫn cụ thể đang được sử dụng bởi nền tảng thương mại điện tử.

javascript:(function(){document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); }); })();
0

Tôi đã thay đổi trang web .com thành .com.br vì trang web của tôi là đa miền và đa ngôn ngữ

Đã trả lời ngày 28 tháng 2 năm 2021 lúc 17:50Feb 28, 2021 at 17:50

Hướng dẫn delete cookies javascript example - xóa cookie javascript ví dụ

Luis loboluis loboLuis Lobo

3423 Huy hiệu bạc6 Huy hiệu Đồng3 silver badges6 bronze badges

Tôi đang đóng góp ở đây vì chức năng này sẽ cho phép bạn xóa tất cả các cookie (khớp với đường dẫn, theo mặc định không có đường dẫn hoặc

function eraseCookieFromAllPaths(name) {
    // This function will attempt to remove a cookie from all paths.
    var pathBits = location.pathname.split('/');
    var pathCurrent = ' path=';

    // do a simple pathless delete first.
    document.cookie = name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT;';

    for (var i = 0; i < pathBits.length; i++) {
        pathCurrent += ((pathCurrent.substr(-1) != '/') ? '/' : '') + pathBits[i];
        document.cookie = name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT;' + pathCurrent + ';';
    }
}
6)also cookies that were set to be included on subdomains

javascript:(function(){document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); }); })();
1

Đã trả lời ngày 22 tháng 6 năm 2021 lúc 14:09Jun 22, 2021 at 14:09

NemearialnemearialNemesarial

4175 Huy hiệu bạc10 Huy hiệu Đồng5 silver badges10 bronze badges

Sau khi thử nghiệm hầu hết các phương thức được liệt kê theo nhiều kiểu trình duyệt trên nhiều kiểu cookie, tôi đã tìm thấy hầu như không có gì ở đây thậm chí còn hoạt động 50%.

Xin hãy giúp chính xác khi cần thiết, nhưng tôi sẽ ném 2 xu của mình vào đây. Phương pháp sau đây phá vỡ mọi thứ và về cơ bản xây dựng chuỗi giá trị cookie dựa trên cả hai phần cài đặt cũng như bao gồm một bước xây dựng của chuỗi đường dẫn, bắt đầu bằng

function eraseCookieFromAllPaths(name) {
    // This function will attempt to remove a cookie from all paths.
    var pathBits = location.pathname.split('/');
    var pathCurrent = ' path=';

    // do a simple pathless delete first.
    document.cookie = name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT;';

    for (var i = 0; i < pathBits.length; i++) {
        pathCurrent += ((pathCurrent.substr(-1) != '/') ? '/' : '') + pathBits[i];
        document.cookie = name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT;' + pathCurrent + ';';
    }
}
7.

Hy vọng điều này sẽ giúp người khác và tôi hy vọng bất kỳ lời chỉ trích nào cũng có thể đến dưới dạng hoàn thiện phương pháp này. Lúc đầu, tôi muốn một chiếc 1 lớp đơn giản như một số người khác tìm kiếm, nhưng cookie JS là một trong những điều không dễ dàng xử lý.

javascript:(function(){document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); }); })();
2

Đã trả lời ngày 13 tháng 1 năm 2017 lúc 18:25Jan 13, 2017 at 18:25

Hướng dẫn delete cookies javascript example - xóa cookie javascript ví dụ

SpYk3HHSpYk3HHSpYk3HH

22K10 Huy hiệu vàng68 Huy hiệu bạc81 Huy hiệu Đồng10 gold badges68 silver badges81 bronze badges

1

Jquery:

javascript:(function(){document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); }); })();
3

Vanilla JS

javascript:(function(){document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); }); })();
4

Đã trả lời ngày 6 tháng 7 năm 2017 lúc 9:54Jul 6, 2017 at 9:54

2

Nếu bạn muốn sử dụng gói

function eraseCookieFromAllPaths(name) {
    // This function will attempt to remove a cookie from all paths.
    var pathBits = location.pathname.split('/');
    var pathCurrent = ' path=';

    // do a simple pathless delete first.
    document.cookie = name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT;';

    for (var i = 0; i < pathBits.length; i++) {
        pathCurrent += ((pathCurrent.substr(-1) != '/') ? '/' : '') + pathBits[i];
        document.cookie = name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT;' + pathCurrent + ';';
    }
}
8 NPM và xóa cookie theo tên:

javascript:(function(){document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); }); })();
5

Đã trả lời ngày 15 tháng 12 năm 2021 lúc 8:35Dec 15, 2021 at 8:35

Hướng dẫn delete cookies javascript example - xóa cookie javascript ví dụ

Chúng ta có thể làm điều đó như vậy:

javascript:(function(){document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); }); })();
6

Usage:

javascript:(function(){document.cookie.split(";").forEach(function(c) { document.cookie = c.replace(/^ +/, "").replace(/=.*/, "=;expires=" + new Date().toUTCString() + ";path=/"); }); })();
7
  • Ngày hết hạn là một ngày ngẫu nhiên trước câu trả lời này; nó có thể là bất kỳ ngày nào trước ngày hiện tại
  • Trong JS, bạn không thể đọc qua cookie dựa trên đường dẫn
  • Trong JS, bạn chỉ có thể đặt hoặc nhận cookie

Đã trả lời ngày 11 tháng 8 lúc 5:05Aug 11 at 5:05

Hướng dẫn delete cookies javascript example - xóa cookie javascript ví dụ

PykpykPYK

3.03626 Huy hiệu bạc14 Huy hiệu đồng26 silver badges14 bronze badges

Tôi đã tìm thấy một vấn đề trong IE và Edge. Trình duyệt Webkit (Chrome, Safari) dường như dễ tha thứ hơn. Khi cài đặt cookie, luôn luôn đặt "đường dẫn" thành một cái gì đó, vì mặc định sẽ là trang đặt cookie. Vì vậy, nếu bạn cố gắng hết hạn trên một trang khác mà không chỉ định "đường dẫn", đường dẫn sẽ không khớp và nó sẽ không hết hạn. Giá trị

(function () {
    var cookies = document.cookie.split("; ");
    for (var c = 0; c < cookies.length; c++) {
        var d = window.location.hostname.split(".");
        while (d.length > 0) {
            var cookieBase = encodeURIComponent(cookies[c].split(";")[0].split("=")[0]) + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT; domain=' + d.join('.') + ' ;path=';
            var p = location.pathname.split('/');
            document.cookie = cookieBase + '/';
            while (p.length > 0) {
                document.cookie = cookieBase + p.join('/');
                p.pop();
            };
            d.shift();
        }
    }
})();
1 không hiển thị đường dẫn hoặc hết hạn cho cookie, vì vậy bạn không thể lấy được nơi đặt cookie bằng cách nhìn vào giá trị.

Nếu bạn cần hết hạn cookie từ các trang khác nhau, hãy lưu đường dẫn của trang cài đặt trong giá trị cookie để bạn có thể rút nó ra sau hoặc luôn nối

document.cookie.replace(/(?<=^|;).+?(?=\=|;|$)/g, name => location.hostname.split('.').reverse().reduce(domain => (domain=domain.replace(/^\.?[^.]+/, ''),document.cookie=`${name}=;max-age=0;path=/;domain=${domain}`,domain), location.hostname));
0 vào giá trị cookie. Sau đó, nó sẽ hết hạn từ bất kỳ trang nào.

Hướng dẫn delete cookies javascript example - xóa cookie javascript ví dụ

Termininja

6.31212 Huy hiệu vàng46 Huy hiệu bạc48 Huy hiệu đồng12 gold badges46 silver badges48 bronze badges

Đã trả lời ngày 28 tháng 2 năm 2016 lúc 8:09Feb 28, 2016 at 8:09

Derek Wadederek WadeDerek Wade

6578 Huy hiệu bạc11 Huy hiệu đồng8 silver badges11 bronze badges