Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery Cookie插件读取值_Jquery_Cookies_Jquery Cookie - Fatal编程技术网

jQuery Cookie插件读取值

jQuery Cookie插件读取值,jquery,cookies,jquery-cookie,Jquery,Cookies,Jquery Cookie,我想让这东西工作,但我不知道怎么做 如果设置了cookie并且cookie的值匹配,我想显示一个横幅 实际上,我可以读取cookie,但不能读取值。如果cookie存在,则会显示横幅-此操作已完成。但是如果cookie存在且值匹配,则应显示横幅 以下是cookie信息: 这一条应该与展示横幅的广告相匹配: 姓名:Mycokie 价值:a%3A2%3A%7Bs%3A17%3A%22BM银行登录银行ID%22%3Bs%3A1%3A%221%22%3Bs%3A27%3A%22BM银行登录银行ID%22

我想让这东西工作,但我不知道怎么做

如果设置了cookie并且cookie的值匹配,我想显示一个横幅

实际上,我可以读取cookie,但不能读取值。如果cookie存在,则会显示横幅-此操作已完成。但是如果cookie存在且值匹配,则应显示横幅

以下是cookie信息:

这一条应该与展示横幅的广告相匹配:

姓名:Mycokie 价值:a%3A2%3A%7Bs%3A17%3A%22BM银行登录银行ID%22%3Bs%3A1%3A%221%22%3Bs%3A27%3A%22BM银行登录银行ID%22%3Bb%3A1%3B%7D 主持人:www.mydomain.de 路径:/ 过期时间:周三,2043年12月30日23:26:25 GMT

具有其他值的同一cookie,其最后不应显示横幅:

姓名:Mycokie 价值:a%3A2%3A%7Bs%3A17%3A%22BM银行登录银行ID%22%3Bs%3A2%3A%2229%22%3Bs%3A27%3A%22BM银行登录银行ID%22%3B%3A1%3B%7D 主持人:www.mydomain.de 路径:/ 过期时间:2043年12月31日星期四08:57:36 GMT

这是我的剧本:

<div id="partner" class="position_helper_banner"><a href="http://www.google.de/" target="_blank" title="something"><img src="partner-banner-180x73.png" /></a></div>
<script type="text/javascript">
$(function(){
  if($.cookie('myCookie')) {
    $('#partner').show();
  }
});
</script>

$(函数(){
如果($.cookie('myCookie')){
$(“#合作伙伴”).show();
}
});
Via CSS的合作伙伴设置为显示:无

jQuery插件包含以下内容:

/*!
 * jQuery Cookie Plugin v1.3.1
 * https://github.com/carhartl/jquery-cookie
 *
 * Copyright 2013 Klaus Hartl
 * Released under the MIT license
 */
(function (factory) {
    if (typeof define === 'function' && define.amd) {
        // AMD. Register as anonymous module.
        define(['jquery'], factory);
    } else {
        // Browser globals.
        factory(jQuery);
    }
}(function ($) {

    var pluses = /\+/g;

    function decode(s) {
        if (config.raw) {
            return s;
        }
        return decodeURIComponent(s.replace(pluses, ' '));
    }

    function decodeAndParse(s) {
        if (s.indexOf('"') === 0) {
            // This is a quoted cookie as according to RFC2068, unescape...
            s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
        }

        s = decode(s);

        try {
            return config.json ? JSON.parse(s) : s;
        } catch(e) {}
    }

    var config = $.cookie = function (key, value, options) {

        // Write
        if (value !== undefined) {
            options = $.extend({}, config.defaults, options);

            if (typeof options.expires === 'number') {
                var days = options.expires, t = options.expires = new Date();
                t.setDate(t.getDate() + days);
            }

            value = config.json ? JSON.stringify(value) : String(value);

            return (document.cookie = [
                config.raw ? key : encodeURIComponent(key),
                '=',
                config.raw ? value : encodeURIComponent(value),
                options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
                options.path    ? '; path=' + options.path : '',
                options.domain  ? '; domain=' + options.domain : '',
                options.secure  ? '; secure' : ''
            ].join(''));
        }

        // Read
        var cookies = document.cookie.split('; ');
        var result = key ? undefined : {};
        for (var i = 0, l = cookies.length; i < l; i++) {
            var parts = cookies[i].split('=');
            var name = decode(parts.shift());
            var cookie = parts.join('=');

            if (key && key === name) {
                result = decodeAndParse(cookie);
                break;
            }

            if (!key) {
                result[name] = decodeAndParse(cookie);
            }
        }

        return result;
    };

    config.defaults = {};

    $.removeCookie = function (key, options) {
        if ($.cookie(key) !== undefined) {
            // Must not alter options, thus extending a fresh object...
            $.cookie(key, '', $.extend({}, options, { expires: -1 }));
            return true;
        }
        return false;
    };

}));
/*!
*jQuery Cookie插件v1.3.1
* https://github.com/carhartl/jquery-cookie
*
*版权所有2013 Klaus Hartl
*根据麻省理工学院许可证发布
*/
(功能(工厂){
if(typeof define=='function'&&define.amd){
//注册为匿名模块。
定义(['jquery'],工厂);
}否则{
//浏览器全局。
工厂(jQuery);
}
}(函数($){
var pluses=/\+/g;
功能解码{
if(config.raw){
返回s;
}
返回组件(替换(加上“,”);
}
函数decodeAndParse(s){
如果(s.indexOf(“”)==0){
//这是一个引用的cookie,根据RFC2068,unescape。。。
s=s.slice(1,-1)。替换(/\\\“/g,”)。替换(/\\\\\/g,“\\”);
}
s=解码;
试一试{
返回config.json?json.parse(s):s;
}捕获(e){}
}
var config=$.cookie=函数(键、值、选项){
//写
如果(值!==未定义){
options=$.extend({},config.defaults,options);
if(typeof options.expires==='number'){
var days=options.expires,t=options.expires=new Date();
t、 设置日期(t.getDate()+天);
}
value=config.json?json.stringify(值):字符串(值);
返回(document.cookie=[
config.raw?key:encodeURIComponent(key),
'=',
config.raw?值:encodeURIComponent(值),
options.expires?';expires='+options.expires.toutString():'',//使用expires属性,IE不支持最大年龄
options.path?';path='+options.path:“”,
options.domain?';domain='+options.domain:'',
options.secure?“;secure”:”
].加入(“”);
}
//阅读
var cookies=document.cookie.split(“;”);
var result=key?未定义:{};
对于(变量i=0,l=cookies.length;i

那么,当页面第一次加载(或任何时候)设置cookie时,我应该怎么做呢

$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' });
在后续加载时,获取其值(如果未设置,则未定义):

然后决定做什么:

var requiredValue = "whatever";
if(cookieValue === requiredValue){
  $('#partner').show();
}
编辑:

大概是这样的: $.cookie.json=true

var cookieValue = {
  value1: "string",
  value2: integer,
  value3: {object}
}

$.cookie('my_cookie', cookieValue, { expires: 7, path: '/' });

var cookieValue = $.cookie('the_cookie'),
    requiredValue = "whatever";

if(cookieValue[key] === requiredValue){
  $('#partner').show();
}

很好,这很有效!Thanx!但是cookie的值是一种数组(我想),只有一个参数是我正在搜索的指示符。这是数组:“a:2:{s:17:bmbankloginBankId;s:1:1;s:27:“bmBankLoginDiskLaimersigned”;b:1;}”-我只在寻找“bmbankloginBankId”;s:1:“1”;“。我该怎么办?Thanx很多!!!!cookie的值是一个字符串(除非您指定
$.cookie.json=true
)。如果您必须存储列出的所有信息,请将其粘贴到对象中,保存为该对象,并在检索后进行相应的引用。Thanx,但我不知道如何做。请您再给我一个提示,好吗?”?
var cookieValue = {
  value1: "string",
  value2: integer,
  value3: {object}
}

$.cookie('my_cookie', cookieValue, { expires: 7, path: '/' });

var cookieValue = $.cookie('the_cookie'),
    requiredValue = "whatever";

if(cookieValue[key] === requiredValue){
  $('#partner').show();
}