Javascript Cookie函数不适用于域

Javascript Cookie函数不适用于域,javascript,jquery,cookies,Javascript,Jquery,Cookies,以下是我使用的功能: 设置Cookie: function set_cookie ( name, value, exp_y, exp_m, exp_d, path, domain, secure ) { var cookie_string = name + "=" + escape ( value ); if ( exp_y ) { var expires = new Date ( exp_y, exp_m, exp_d ); cookie_string += ";

以下是我使用的功能:

设置Cookie:

function set_cookie ( name, value, exp_y, exp_m, exp_d, path, domain, secure )
{
  var cookie_string = name + "=" + escape ( value );

  if ( exp_y )
  {
    var expires = new Date ( exp_y, exp_m, exp_d );
    cookie_string += "; expires=" + expires.toGMTString();
  }

  if ( path )
        cookie_string += "; path=" + escape ( path );

  if ( domain )
        cookie_string += "; domain=" + escape ( domain );

  if ( secure )
        cookie_string += "; secure";

  document.cookie = cookie_string;
}
阅读Cookie:

function get_cookie ( cookie_name )
{
  var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );

  if ( results )
    return ( unescape ( results[2] ) );
  else
    return null;
}
删除Cookie:

function delete_cookie ( cookie_name )
{
  var cookie_date = new Date ( );  // current date & time
  cookie_date.setTime ( cookie_date.getTime() - 1 );
  document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString();
}
我用来构造cookie的Jquery:

    if(get_cookie('visible')== 'no') {
        $("#wrapper").hide();
        $(".help").hide();
        $("#slid .show").show();
        $("#slid .hide").hide();
        } else {
            $("#slid .show").hide();
            $("#slid .hide").show();
        }
    $("#slider").click(function() {
        if(get_cookie('visible')== null) {
            set_cookie('visible','no', 2020, 01,01, '/', 'domain.com');
        } else {
            delete_cookie('visible');
        }
            $(".help").slideToggle();
                $("#wrapper").animate({ opacity: 1.0 },200).slideToggle(200, function() {
                    $("#slid img").toggle();
                });
    });
我正在尝试为domain.com下存在的路径为“/”的所有页面设置cookie


但是使用这些函数和jQuery它似乎不起作用,有人告诉我哪里出了问题吗?

对我有效,只要
匹配或省略,并且
路径
中没有任何内容被
escape()
损坏


(不应该对cookie参数使用
escape()
,这是一种与URL编码不同的非标准编码方案,因此,如果您试图从其他语言(如PHP)读取cookie,则无法使用任何内置函数对其进行正确解码。如果您想对cookie值本身进行真正的URL编码,请选择
encodeURIComponent
/
decodeURIComponent
,尽管如此,它们仍然不用于cookie参数。)

我如何调整以添加路径和域以确保并忽略转义问题?只需将
路径
值直接添加到字符串中,而无需调用
转义()
(或任何其他内容)对其进行编码。(是的,这确实意味着不可能在路径中有分号。)