2011-11-13 2 views
5

मैं निम्नलिखित कुकी उपयोग कर रहा हूँ:एक कुकी - एकाधिक पेज

var $j = jQuery.noConflict(); 

$j(document).ready(function(){ 

    if (document.cookie.indexOf('visited=true') == -1) 
    { 
     var thirtyDays = 1000*60*60*24*30; 
     var expires = new Date((new Date()).valueOf() + thirtyDays); 
     document.cookie = "visited=true;expires=" + expires.toUTCString(); 
     $j.colorbox({ inline:true, href:"#gallery-nav-instruct"}); 
    } 

}); 

सब कुछ एक अपवाद के साथ ठीक काम करता है। उपर्युक्त कुकी पहली बार गैलरी देखने पर निर्देशों को प्रदर्शित करने के लिए है, फिर भी गैलरी में कई पेज हैं। क्या होता है जब उपयोगकर्ता गैलरी में प्रत्येक पृष्ठ के लिए पहली बार उस विशिष्ट पृष्ठ पर जाने वाले निर्देशों को देखता है। इन निर्देशों को गैलरी में जाने पर केवल एक बार लोड करने की आवश्यकता होती है इससे कोई फर्क नहीं पड़ता कि वे किस पृष्ठ पर शुरू करते हैं। मैं इसे बदलने के बारे में कैसे जा सकता हूं ताकि यह मेरे गैलरी पृष्ठों में केवल एक बार प्रदर्शित हो?

युगल नोट्स:

गैलरी एक Dreamweaver टेम्पलेट के अंदर लपेटा जाता है और कुकी उस टेम्पलेट के अंदर है। मैं कुछ कारणों से टेम्पलेट के बाहर कुकी को स्थानांतरित नहीं कर सकता।

इसके अलावा मैं एक होस्टेड सीएमएस और I का उपयोग करता हूं में सर्वर साइड एक्सेस नहीं है, इसलिए इसे जावास्क्रिप्ट का उपयोग करके किया जाना चाहिए।

+0

एक ध्वज कुकी (सत्य/गलत) के रूप में रखें। आप यह देखने के लिए कुकी देख सकते हैं कि उपयोगकर्ता ने इस सत्र में निर्देश देखा है या नहीं। – abhinav

उत्तर

20

अपनी कुकी को साइट कुकी में बनाने के लिए ;path=/ जोड़ें। अधिक जानकारी के लिए इस आलेख को JavaScript Cookies पर देखें।

+0

मेरे उपरोक्त कोड का उपयोग करके आप मुझे एक उदाहरण दे सकते हैं कि मैं 'पथ = /' कहां जोड़ूं? मैं 100% निश्चित नहीं हूं कि मैं इसे कहां जोड़ूं। – L84

+0

आप बस 'विज़िट = सच्चाई बदल सकते हैं; समाप्ति = 'से' विज़िट = सत्य; पथ = /; समाप्ति =' –

+0

स्पष्टीकरण के लिए धन्यवाद - यह अब काम करता है => – L84

-1
document.cookie = valuename + "=" + value + "; " + expires + ";domain=;path=/"; 

यह "domain=;path=/"; गतिशील डोमेन लेने के रूप में अपनी कुकी उप डोमेन में काम करेंगे होगा। यदि आप लोकलहोस्ट में परीक्षण करना चाहते हैं तो यह काम करेगा।