cookie.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. document.addEventListener('DOMContentLoaded', function () {
  2. var cookieNotice = document.getElementById('cookie-notice');
  3. var acceptCookies = document.getElementById('accept-cookies');
  4. // var rejectCookies = document.getElementById('reject-cookies');
  5. // 检查Cookie
  6. function checkCookie() {
  7. var cookieAccepted = getCookie('cookieAccepted');
  8. var cookieRejected = getCookie('cookieRejected');
  9. if (cookieAccepted === 'true') {
  10. // 如果接受了Cookie,则不显示通知
  11. cookieNotice.style.display = 'none';
  12. } else if (cookieRejected === 'true') {
  13. // 曾经明确拒绝
  14. } else {
  15. // 如果没有Cookie,则立即显示通知
  16. cookieNotice.style.display = 'block';
  17. }
  18. }
  19. // 接受Cookie
  20. acceptCookies.addEventListener('click', function () {
  21. setCookie('cookieAccepted', 'true', 365);
  22. cookieNotice.style.display = 'none';
  23. });
  24. // 拒绝Cookie
  25. // rejectCookies.addEventListener('click', function () {
  26. // setCookie('cookieRejected', 'true', 1);
  27. // cookieNotice.style.display = 'none';
  28. // });
  29. // 设置Cookie
  30. function setCookie(name, value, days) {
  31. var expires = "";
  32. if (days) {
  33. var date = new Date();
  34. date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
  35. expires = "; expires=" + date.toUTCString();
  36. }
  37. document.cookie = name + "=" + (value || "") + expires + "; path=/";
  38. }
  39. // 获取Cookie
  40. function getCookie(name) {
  41. var nameEQ = name + "=";
  42. var ca = document.cookie.split(';');
  43. for (var i = 0; i < ca.length; i++) {
  44. var c = ca[i];
  45. while (c.charAt(0) == ' ') c = c.substring(1, c.length);
  46. if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
  47. }
  48. return null;
  49. }
  50. // 检查Cookie并显示/隐藏通知
  51. checkCookie();
  52. });