【问题标题】:CookiesEu gem to add cookie consent doesn't disappear after pressing okCookiesEu gem 添加 cookie 同意后按确定不会消失
【发布时间】:2021-01-18 17:22:51
【问题描述】:

所以我已将 CookiesEu gem 添加到我的应用程序中以添加 cookie 同意。但问题是文本:Cookies help us deliver our services. By using our services, you agree to our use of cookies. OK Learn more 在按下OK 按钮后仍然可见。而我希望它在按下OK 后消失。

在文档中它说:This gem uses a cookie called cookie_eu_consented to track whether a user has accepted the cookie notice and whether it needs to be shown again or not. 但是即使在接受 cookie 之后也会显示 cookie 通知。

附言我把= render 'cookies_eu/consent_banner', link: '/cookies'放在页脚

【问题讨论】:

    标签: ruby-on-rails cookies rubygems


    【解决方案1】:

    如果您使用的是 Rails 6 或更高版本,JavaScript 现在是使用 webpacker 交付的。这会破坏当前文件结构并导致通常处理“确定”按钮的 JavaScript 失败。

    您可以在下面找到解决方案:

    使用 Webpacker 来完成这项工作。您的 JavaScript 代码必须作为 webpack 依赖项导入,而不是在视图的标签中嵌入 JS。

    第一步:

    确保您的布局中包含以下标签:

       <%= stylesheet_pack_tag 'application' %>
       <%= javascript_pack_tag 'application' %>
    

    第二:

    就像在自述文件中一样,横幅 HTML 应该在您的布局/视图中,即&lt;div id="cookies-eu-banner" style="display: none;"&gt;...&lt;/div&gt;

    第三:

    在 app/javascript/ 中的某处(但不在 app/javascript/packs 中)添加一个用于初始化横幅的 JS 文件,例如 app/javascript/src/add-banner.js。在这里,您将导入库(如果需要,还可以导入 CSS)并在 DOM 内容加载后对其进行初始化:

    // app/javascript/src/add-eu-banner.js
    
    import CookiesEuBanner from 'cookies-eu-banner'
    import 'cookies-eu-banner/css/cookies-eu-banner.default.css'
    
    document.addEventListener('DOMContentLoaded', () => {
      new CookiesEuBanner(() => {
        console.log('Cookies EU Banner accepted');
      })
    })
    

    最后:

    通过在“application.js”包文件中添加导入语句将该文件添加为 webpack 依赖项:

    // app/javascript/packs/application.js
    
    import '../src/add-eu-banner'
    

    如果您使用的 Rails 版本低于 6,我建议发布您的代码,以便人们可以更深入地了解您的问题。

    【讨论】:

      【解决方案2】:

      确保

      //= require cookies_eu
      

      在您运行后添加到您的 application.js bundle exec rails g cookies_eu:install

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-03-03
        • 2018-10-09
        • 1970-01-01
        • 1970-01-01
        • 2017-04-05
        • 2019-06-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多