jQuery Cookie Library

Jquery cookie library from https://github.com/carhartl/jquery-cookie

بۇ قوليازمىنى بىۋاسىتە قاچىلاشقا بولمايدۇ. بۇ باشقا قوليازمىلارنىڭ ئىشلىتىشى ئۈچۈن تەمىنلەنگەن ئامبار بولۇپ، ئىشلىتىش ئۈچۈن مېتا كۆرسەتمىسىگە قىستۇرىدىغان كود: // @require https://update.greatest.deepsurf.us/scripts/27135/173662/jQuery%20Cookie%20Library.js

  1. /*!
  2. * JavaScript Cookie v2.1.3
  3. * https://github.com/js-cookie/js-cookie
  4. *
  5. * Copyright 2006, 2015 Klaus Hartl & Fagner Brack
  6. * Released under the MIT license
  7. */
  8. ;(function (factory) {
  9. var registeredInModuleLoader = false;
  10. if (typeof define === 'function' && define.amd) {
  11. define(factory);
  12. registeredInModuleLoader = true;
  13. }
  14. if (typeof exports === 'object') {
  15. module.exports = factory();
  16. registeredInModuleLoader = true;
  17. }
  18. if (!registeredInModuleLoader) {
  19. var OldCookies = window.Cookies;
  20. var api = window.Cookies = factory();
  21. api.noConflict = function () {
  22. window.Cookies = OldCookies;
  23. return api;
  24. };
  25. }
  26. }(function () {
  27. function extend () {
  28. var i = 0;
  29. var result = {};
  30. for (; i < arguments.length; i++) {
  31. var attributes = arguments[ i ];
  32. for (var key in attributes) {
  33. result[key] = attributes[key];
  34. }
  35. }
  36. return result;
  37. }
  38.  
  39. function init (converter) {
  40. function api (key, value, attributes) {
  41. var result;
  42. if (typeof document === 'undefined') {
  43. return;
  44. }
  45.  
  46. // Write
  47.  
  48. if (arguments.length > 1) {
  49. attributes = extend({
  50. path: '/'
  51. }, api.defaults, attributes);
  52.  
  53. if (typeof attributes.expires === 'number') {
  54. var expires = new Date();
  55. expires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 864e+5);
  56. attributes.expires = expires;
  57. }
  58.  
  59. // We're using "expires" because "max-age" is not supported by IE
  60. attributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';
  61.  
  62. try {
  63. result = JSON.stringify(value);
  64. if (/^[\{\[]/.test(result)) {
  65. value = result;
  66. }
  67. } catch (e) {}
  68.  
  69. if (!converter.write) {
  70. value = encodeURIComponent(String(value))
  71. .replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);
  72. } else {
  73. value = converter.write(value, key);
  74. }
  75.  
  76. key = encodeURIComponent(String(key));
  77. key = key.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent);
  78. key = key.replace(/[\(\)]/g, escape);
  79.  
  80. var stringifiedAttributes = '';
  81.  
  82. for (var attributeName in attributes) {
  83. if (!attributes[attributeName]) {
  84. continue;
  85. }
  86. stringifiedAttributes += '; ' + attributeName;
  87. if (attributes[attributeName] === true) {
  88. continue;
  89. }
  90. stringifiedAttributes += '=' + attributes[attributeName];
  91. }
  92. return (document.cookie = key + '=' + value + stringifiedAttributes);
  93. }
  94.  
  95. // Read
  96.  
  97. if (!key) {
  98. result = {};
  99. }
  100.  
  101. // To prevent the for loop in the first place assign an empty array
  102. // in case there are no cookies at all. Also prevents odd result when
  103. // calling "get()"
  104. var cookies = document.cookie ? document.cookie.split('; ') : [];
  105. var rdecode = /(%[0-9A-Z]{2})+/g;
  106. var i = 0;
  107.  
  108. for (; i < cookies.length; i++) {
  109. var parts = cookies[i].split('=');
  110. var cookie = parts.slice(1).join('=');
  111.  
  112. if (cookie.charAt(0) === '"') {
  113. cookie = cookie.slice(1, -1);
  114. }
  115.  
  116. try {
  117. var name = parts[0].replace(rdecode, decodeURIComponent);
  118. cookie = converter.read ?
  119. converter.read(cookie, name) : converter(cookie, name) ||
  120. cookie.replace(rdecode, decodeURIComponent);
  121.  
  122. if (this.json) {
  123. try {
  124. cookie = JSON.parse(cookie);
  125. } catch (e) {}
  126. }
  127.  
  128. if (key === name) {
  129. result = cookie;
  130. break;
  131. }
  132.  
  133. if (!key) {
  134. result[name] = cookie;
  135. }
  136. } catch (e) {}
  137. }
  138.  
  139. return result;
  140. }
  141.  
  142. api.set = api;
  143. api.get = function (key) {
  144. return api.call(api, key);
  145. };
  146. api.getJSON = function () {
  147. return api.apply({
  148. json: true
  149. }, [].slice.call(arguments));
  150. };
  151. api.defaults = {};
  152.  
  153. api.remove = function (key, attributes) {
  154. api(key, '', extend(attributes, {
  155. expires: -1
  156. }));
  157. };
  158.  
  159. api.withConverter = init;
  160.  
  161. return api;
  162. }
  163.  
  164. return init(function () {});
  165. }));