我一直在尝试设置一个非常简单的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')
UPDATE:
问题似乎是我导入文件的方式:
import Cookies from 'js.cookie';
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