Scroll
Drupal:如何用 Javascript Cookie 重写 jQuery Cookie
Drupal 9 及以上版本使用 Javascript Cookie 库替代 jQuery Cookie:
https://www.drupal.org/node/3104677
https://www.drupal.org/node/3322720
https://www.drupal.org/node/3296086
你可以找到很多针对贡献模块的补丁,例如:
https://www.drupal.org/project/eu_cookie_compliance/issues/3194270
如果你需要将站点升级到 Drupal 10,就需要替换 jQuery Cookie 库:
my_module.libraries.yml
my_library:
js:
js/my_library.js: {}
dependencies:
- core/jquery
- core/jquery.cookie
- core/drupal
替换为:
my_library:
js:
js/my_library.js: {}
dependencies:
- core/drupal
- core/js-cookie
并更新你的 JavaScript 代码:
Drupal.behaviors.myModule = {
attach: () => {
// 设置 cookie。
Cookies.set('cutest', 'red panda');
// 获取 cookie。
const myCookieValue = Cookies.get('cutest');
// 删除 cookie。
Cookies.remove('cutest');
// 以 JSON 对象存储和获取。请避免使用 getJSON 方法,因为它将在 js-cookie 3.0.0 中弃用。
Cookies.set('cutest', JSON.stringify({ animal: 'red panda' }));
const cutest = JSON.parse(Cookies.get('cutest'));
},
};