Greasemonkey có thể xóa cookie khỏi một miền cụ thể không? Nếu vậy, làm thế nào?Người dùng có thể xóa cookie khỏi một miền nhất định không?
Trả lời
Có những hạn chế lớn về những gì Greasemonkey có thể xóa. Các công cụ khác có thể tốt hơn cho những gì bạn muốn, xem bên dưới. Tuy nhiên, nếu tất cả các điều kiện này được đáp ứng:
- Cookie bạn muốn xóa nằm trên tên miền của trang hiện tại.
- Chúng không phải là "Secure cookies".
- Bạn lặp qua các đường dẫn có thể, bao gồm
/
, đường dẫn trống, v.v. - Không có cookie nào được đặt bởi javascript, sau khi tải trang.
- Điều theo dõi bạn thực sự là "cookie". Nhiều trang web sử dụng một loạt các kỹ thuật khác, bao gồm lưu trữ cục bộ LSO, vv
THEN, đoạn code sau sẽ xóa chúng:
//--- Loop through cookies and delete them.
var cookieList = document.cookie.split (/;\s*/);
for (var J = cookieList.length - 1; J >= 0; --J) {
var cookieName = cookieList[J].replace (/\s*(\w+)=.+$/, "$1");
eraseCookie (cookieName);
}
đâu eraseCookie()
là:
(Lưu ý rằng Điều này eraseCookie nhận được nhiều cookie hơn bằng cách thử tất cả các đường dẫn có thể và các miền phụ có khả năng nhất.)
function eraseCookie (cookieName) {
//--- ONE-TIME INITS:
//--- Set possible domains. Omits some rare edge cases.?.
var domain = document.domain;
var domain2 = document.domain.replace (/^www\./, "");
var domain3 = document.domain.replace (/^(\w+\.)+?(\w+\.\w+)$/, "$2");;
//--- Get possible paths for the current page:
var pathNodes = location.pathname.split ("/").map (function (pathWord) {
return '/' + pathWord;
});
var cookPaths = [""].concat (pathNodes.map (function (pathNode) {
if (this.pathStr) {
this.pathStr += pathNode;
}
else {
this.pathStr = "; path=";
return (this.pathStr + pathNode);
}
return (this.pathStr);
}));
(eraseCookie = function (cookieName) {
//--- For each path, attempt to delete the cookie.
cookPaths.forEach (function (pathStr) {
//--- To delete a cookie, set its expiration date to a past value.
var diagStr = cookieName + "=" + pathStr + "; expires=Thu, 01-Jan-1970 00:00:01 GMT;";
document.cookie = diagStr;
document.cookie = cookieName + "=" + pathStr + "; domain=" + domain + "; expires=Thu, 01-Jan-1970 00:00:01 GMT;";
document.cookie = cookieName + "=" + pathStr + "; domain=" + domain2 + "; expires=Thu, 01-Jan-1970 00:00:01 GMT;";
document.cookie = cookieName + "=" + pathStr + "; domain=" + domain3 + "; expires=Thu, 01-Jan-1970 00:00:01 GMT;";
});
}) (cookieName);
}
chức năng tùy chọn, cung cấp thông tin hoặc gỡ lỗi:
function listCookies() {
var cookieList = document.cookie.split (/;\s*/);
for (var J = 0, numCookies = cookieList.length; J < numCookies; ++J) {
console.log ("Cookie ", J, ": ", cookieList[J]);
}
}
kịch bản GM của bạn cũng có thể sử dụng thủ thuật iFrame để xóa cookie trên miền của bên thứ ba, nhưng GM không phải là cách tốt nhất để xử lý cookie, nói chung.
Không bị lừa bởi bất kỳ khiếu nại nào khác, Greasemonkey và javascript không thể xóa cookie trừ khi tất cả các điều kiện, được liệt kê ở đầu câu trả lời này, được đáp ứng. Lưu ý rằng javascript và Greasemonkey thậm chí không thể xem tất cả cookie trên một trang.
Greasemonkey không phải là công cụ tốt nhất cho việc này, mặc dù nó có thể đủ cho các tình huống lựa chọn.
Dưới đây là một số giải pháp xa mạnh hơn:
- Sử dụng Selective Cookie Delete. Nó giữ các tập tin cookie bạn muốn và xóa phần còn lại. Nó thực hiện điều này bằng cách nhấn một nút rất tiện dụng hoặc tự động khi Firefox đóng. Cả danh sách trắng và danh sách đen đều được hỗ trợ.
- Sử dụng BetterPrivacy để lén lút LSO.
- Chạy CCleaner ít nhất một lần một tuần, để loại trừ một phổ rộng của theo dõi và cruft.
- Để loại bỏ cookie mạnh mẽ, tùy chỉnh, hoàn toàn tự động không có giới hạn nghiêm trọng mà Greasemonkey có và chạy thường xuyên hơn Cookie chọn lọc Xóa, bạn có thể viết tiện ích bổ sung cho trình duyệt của mình.
Tuyệt vời, điều này phù hợp với nhu cầu của tôi: D –
Cảm ơn rất nhiều! Cuối cùng, tập lệnh xóa cookie hoạt động! – GrayFace
Bạn sẽ có thể xóa cookie cho trang web hiện đang mở. Có một cái nhìn tại Cookie Zapper script, điều này có thể làm những gì bạn muốn và nếu không phải là nguồn có lẽ sẽ chỉ cho bạn đi đúng hướng.
Không thể xóa cookie chỉ sử dụng phương thức đó (trong Greasemonkey). –
- 1. Có thể xóa cookie miền phụ không?
- 2. Tên miền phụ có thể xóa cookie miền không?
- 3. Có thể một tên miền có nhiều cookie không?
- 4. Cách xóa người dùng khỏi Jenkins
- 5. Cách xóa một số cookie nhất định khỏi phản hồi nginx
- 6. Đặt cookie do người dùng xác định trong Jmeter
- 7. Cookie không có tên miền?
- 8. Xóa cookie cho một Ứng dụng iOS nhất định
- 9. xóa cookie khỏi trình duyệt
- 10. Cách thay đổi tên miền cookie phiên cho người dùng hiện tại
- 11. Xóa giao diện người dùng hợp kim khỏi Liferay
- 12. Cách nhận tên người dùng không có tên miền
- 13. jQuery - xóa văn bản nhập của người dùng khỏi textarea
- 14. Cách tốt nhất để xác định miền địa phương của người dùng trong trình duyệt
- 15. Không thể xóa một đoạn khỏi FrameLayout?
- 16. Đặt cookie phiên cho tên miền phụ cụ thể
- 17. Vim: Bạn có thể xóa một số dòng cụ thể khỏi một dòng khác không?
- 18. Có thể kiểm tra xem phần tử giao diện người dùng có một cổng tham chiếu nhất định không?
- 19. chọn người dùng * là ai một độ tuổi nhất định
- 20. Chia sẻ một cookie duy nhất thông qua các tên miền phụ
- 21. Cách lấy tên miền của một cookie cụ thể?
- 22. Lỗi phiên/cookie khi có nhiều cá thể của Laravel trong cùng một miền
- 23. Lực lượng đăng xuất người dùng nếu người dùng không hoạt động trong một khoảng thời gian nhất định
- 24. xóa các thuộc tính nhất định khỏi các thẻ HTML
- 25. cách cookie có thể theo dõi người dùng mặc dù có cùng chính sách gốc?
- 26. Cách xác định xem người dùng Facebook 'Thích' một trang nhất định
- 27. Có thể chia sẻ cookie giữa tên miền và tên miền phụ
- 28. Cách theo dõi người dùng trên các tên miền?
- 29. Cách xóa cookie dưới 1 miền trong CookieContainer
- 30. Có thể cho một Miền Grails không có 'id' không?
Trong Firefox, bạn có thể xóa cookie khỏi bất kỳ tên miền nào bạn muốn, cũng như chặn cookie từ một miền cụ thể. Bạn có thể tìm thấy điều này trong hộp thoại "Tùy chọn ...". Có lý do cụ thể nào bạn muốn một tập lệnh Greasemonkey cho điều này không? –
Tôi muốn tự động hóa nó cho một trang web mà tôi cần phải xóa cookie liên tục. –