【问题标题】:Jquery cookies for my hole website我的洞网站的 Jquery cookie
【发布时间】:2016-07-01 20:27:43
【问题描述】:

我是第一次尝试做 cookie。我想简单地增加字体大小并将其保存在 cookie 中。我做了很多阅读,但我找不到简单的东西。我想要一个 cookie 来设置洞网站上的字体大小。代码如下。

<script type="text/javascript">
  $(document).ready(function() {
    $('#incfont').click(function() {
      curSize = parseInt($('.content').css('font-size')) + 2;
      if (curSize <= 20)
        $('.content').css('font-size', curSize);
      $.cookie('font-size', curSize);
      console.log($.cookie('font-size', curSize, {
        expires: 3600
      }));
    });
    $('#decfont').click(function() {
      curSize = parseInt($('.content').css('font-size')) - 2;
      if (curSize >= 12)
        $('.content').css('font-size', curSize);
      $.cookie('font-size', curSize, {
        expires: 3600
      });
      console.log($.cookie('font-size', curSize));
    });
  });

</script>
<div id="incfont" class="col-md-1">
  A
</div>
<div id="decfont" class="col-md-1">
  a
</div>

如果您返回页面,则设置字体大小:

<script>
  $(document).ready(function() {
    $('.content').css('font-size', $.cookie('font-size'));
  })
</script>

但是现在发生的事情是它为每个页面设置了一个 cookie。我想要的是为我的洞网站设置字体大小。

我还阅读了一些关于跨站点脚本的内容,我需要记住什么?

感谢任何遮阳篷,

塞斯

【问题讨论】:

  • 您的代码会建议您使用旧的jQuery Cookie Plugin,但您没有在问题中提到这一点。是这样吗?

标签: jquery html css cookies


【解决方案1】:

您应该在设置 cookie 时指定 cookie 路径,我相信您现在正在为每个页面单独设置它。只需更改您的代码以将 cookie 设置为此:

$.cookie('font-size', curSize, { path: '/' });

【讨论】:

    【解决方案2】:

    我假设你正在使用这个 jQuery 插件 (https://github.com/carhartl/jquery-cookie)。

    默认情况下,cookie 仅在当前页面上有效。要覆盖此行为,您可以通过选项对象中的 path 值。

    由于您希望 cookie 对整个域都有效,因此您的路径将是 /

    $.cookie('font-size', curSize, { path: '/' });
    

    【讨论】:

    • 是的,但是我该怎么做呢?如果这不安全,请更改它。我只会将它用于简单的字体增加或减少。
    • 我不明白存储数值如何会带来安全风险。除非它是信用卡号或类似的东西。
    猜你喜欢
    • 2010-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多