Rails 6 with js-cookie library:已设置cookie,但不是持久性

问题描述 投票:0回答:1

我一直在尝试设置一个非常简单的cookie,只是为了查看用户是否单击了cookie同意横幅。我正在尝试将Cookie设置为具有过期日期,以便用户不会在每次访问时都收到此消息。它可以设置cookie,但仅将其设置为当前会话。在IE11中,它根本不起作用。

我对此的JavaScript是:

在custom.js中:

import Cookies from 'js.cookie';

// Hide cookie disclaimer on agreement
$('.cookies-disclaimer button').on('click', function() {
  $('.cookies-disclaimer').hide();
  Cookies.set('cookies_consent', true, { expires: 365, sameSite: 'strict' });
});

// Check if the cookie disclaimer has already been accepted
function hideAlreadyAcceptedCookieDisclaimer() {
  var consent = Cookies.get('cookies_consent');
  if (!consent) {
    $('.cookies-disclaimer').show();
  }
}
hideAlreadyAcceptedCookieDisclaimer();

在我的application.js中,我需要来自node_modules的js文件:

require('js-cookie/src/js.cookie')
...
require('custom')
javascript ruby-on-rails cookies webpacker js-cookie
1个回答
0
投票

UPDATE:

问题似乎是我导入文件的方式:

  1. 我从custom.js中删除了import Cookies from 'js.cookie';
  2. 在我的application.js中,我在库中添加了window.Cookies = require('js-cookie/src/js.cookie')

[此帖子的全部功劳帮助我:https://discuss.rubyonrails.org/t/js-cookie/73808和他的原始博客文章:https://translate.google.com/translate?hl=&sl=ru&tl=en&u=https%3A%2F%2Ftheglitchy.com%2Fn%2Fkak-ustanovit-js-cookie-na-rails-6-yarn-webpack

© www.soinside.com 2019 - 2024. All rights reserved.