rmCookie.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. var cookie = require('./cookie');
  2. exports = function(key) {
  3. var location = window.location;
  4. var hostname = location.hostname;
  5. var pathname = location.pathname;
  6. var hostNames = hostname.split('.');
  7. var pathNames = pathname.split('/');
  8. var domain = '';
  9. var pathLen = pathNames.length;
  10. var path;
  11. if (del()) return;
  12. for (var i = hostNames.length - 1; i >= 0; i--) {
  13. var hostName = hostNames[i];
  14. if (hostName === '') continue;
  15. domain = domain === '' ? hostName : hostName + '.' + domain;
  16. path = '/';
  17. if (
  18. del({
  19. domain: domain,
  20. path: path
  21. }) ||
  22. del({
  23. domain: domain
  24. })
  25. )
  26. return;
  27. for (var j = 0; j < pathLen; j++) {
  28. var pathName = pathNames[j];
  29. if (pathName === '') continue;
  30. path += pathName;
  31. if (
  32. del({
  33. domain: domain,
  34. path: path
  35. }) ||
  36. del({
  37. path: path
  38. })
  39. )
  40. return;
  41. path += '/';
  42. if (
  43. del({
  44. domain: domain,
  45. path: path
  46. }) ||
  47. del({
  48. path: path
  49. })
  50. )
  51. return;
  52. }
  53. }
  54. function del(options) {
  55. options = options || {};
  56. cookie.remove(key, options);
  57. return !cookie.get(key);
  58. }
  59. };
  60. module.exports = exports;