2013-02-26 6 views
2

Я устанавливаю этот fancybox для открытия один раз за сеанс с использованием файла cookie сеанса. я пытаюсь установить его на веб-узле, так как в данный момент, если я открыть каталог первой (например,/о) будет установить один только для этого каталога не весь сайт:изменить jquery.cookie.js для создания cookie через домен (/)

<script type="text/javascript"> 
$(document).ready(function() { 
    var check_cookie = $.cookie('disclaimer-initial'); 
    if(check_cookie == null){ 
    $("#disclaimer-initial").fancybox({ 
     'titlePosition'  : 'inside', 
     'transitionIn'  : 'none', 
     'transitionOut'  : 'none',//added comma 
     'onComplete'  : function() { 
    $.cookie('disclaimer-initial', '1'); //removed ' 
     } 
     }); 
    $("#disclaimer-initial").trigger('click'); 
    } 
}); 
</script> 

вот мой JQuery. cookie.js:

/*! 
* jQuery Cookie Plugin 
* https://github.com/carhartl/jquery-cookie 
* 
* Copyright 2011, Klaus Hartl 
* Dual licensed under the MIT or GPL Version 2 licenses. 
* http://www.opensource.org/licenses/mit-license.php 
* http://www.opensource.org/licenses/GPL-2.0 
*/ 
(function($) { 
    $.cookie = function(key, value, options) { 

     // key and at least value given, set cookie... 
     if (arguments.length > 1 && (!/Object/.test(Object.prototype.toString.call(value)) || value === null || value === undefined)) { 
      options = $.extend({}, options); 

      if (value === null || value === undefined) { 
       options.expires = -1; 
      } 

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

      value = String(value); 

      return (document.cookie = [ 
       encodeURIComponent(key), '=', options.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('')); 
     } 

     // key and possibly options given, get cookie... 
     options = value || {}; 
     var decode = options.raw ? function(s) { return s; } : decodeURIComponent; 

     var pairs = document.cookie.split('; '); 
     for (var i = 0, pair; pair = pairs[i] && pairs[i].split('='); i++) { 
      if (decode(pair[0]) === key) return decode(pair[1] || ''); // IE saves cookies with empty string as "c; ", e.g. without "=" as opposed to EOMB, thus pair[1] may be undefined 
     } 
     return null; 
    }; 
})(jQuery); 

я знаю, что нужно установить путь к «/», но я не знаю, как или где это сделать. заранее спасибо

+0

Мое предположение, что вы просто установите 'options.path'' '/ '' или '' ''. Но вы должны проверить их документацию для этой опции. – Kristian

+0

попробовал это. не работает. – aqibjr1

+0

как насчет документов? – Kristian

ответ

5
$.cookie('disclaimer-initial', '1', { path: '/' }); 
+0

спасибо. решил это. – aqibjr1

+0

ах, это то, что я имел в виду под моим первым предложением. отличная работа. – Kristian

Смежные вопросы