2008-12-02 10 views
78

मैं कुकी कुकी सेट करने और पढ़ने के लिए jQuery कुकी प्लगइन (download और demo और source code with comments) का उपयोग कर रहा हूं। मैं अपने स्थानीय मशीन पर पृष्ठ विकसित कर रहा हूं।क्रोम स्थानीय jQuery कुकीज़ क्यों अनदेखा करता है?

निम्न कोड सफलतापूर्वक फ़ायरफ़ॉक्स 3, आईई 7, और सफारी (पीसी) में एक कुकी सेट करेगा। लेकिन यदि ब्राउज़र Google क्रोम है और पृष्ठ एक स्थानीय फ़ाइल है, तो यह काम नहीं करता है।

$.cookie("nameofcookie", cookievalue, {path: "/", expires: 30}); 

मैं जानता हूँ कि क्या:

  • प्लगइन के demo क्रोम के साथ काम करता है।
  • यदि मैं अपना कोड किसी वेब सर्वर (http: // से शुरू होने वाला पता) पर डालता हूं, तो यह क्रोम के साथ काम करता है।

तो कुकी स्थानीय फ़ाइलों पर Google क्रोम के लिए केवल विफल रहता है

संभावित कारणों:

  • कुछ

    • गूगल क्रोम हार्ड ड्राइव पर वेब पृष्ठों से कुकीज़ (:: /// C /websites/foo.html फ़ाइल की तरह पथ) को स्वीकार नहीं करता प्लगइन इम्प्लांटेशन में क्रोम को ऐसी कुकीज़ को अस्वीकार करने का कारण बनता है

    क्या कोई इसकी पुष्टि कर सकता है और मूल कारण की पहचान कर सकता है?

  • +0

    जब आप डेमो काम करते हैं, तो क्या आपका मतलब है कि यदि आप इसे अपने हार्ड ड्राइव में सहेजते हैं और फ़ाइल की तरह इसे एक्सेस करते हैं: //? – Greg

    +0

    नहीं - बस क्रोम के साथ उपरोक्त लिंक तक पहुंच रहा है। –

    उत्तर

    86

    क्रोम स्थानीय फ़ाइलों (या, जैसा कि पीटर लियोन का उल्लेख है, लोकलहोस्ट *) की कुकीज़ का समर्थन नहीं करता है जब तक कि आप इसे --enable-file-Cookies flag के साथ शुरू नहीं करते। आप http://code.google.com/p/chromium/issues/detail?id=535 पर इसके बारे में एक चर्चा पढ़ सकते हैं।

    * क्रोम समर्थन कुकीज करता है यदि आप सीधे स्थानीय आईपी पता (127.0.0.1) का उपयोग करते हैं। तो स्थानीयहोस्ट मामले में, यह एक आसान कामकाज हो सकता है।

    +2

    एफवाईआई एक ही व्यवहार को http: // localhost साइट्स –

    +0

    पर प्रभाव डालने लगता है, आईपी में डोमेन सेट करना मेरे लिए काम नहीं करता है, लेकिन अगर मैंने डोमेन को हटा दिया (स्थानीय स्तर पर, हमें उत्पादन के लिए डोमेन की आवश्यकता है) – Tyrsius

    1

    एक और संभावित कारण path: "/" है, क्योंकि आप सामान्य वेब यूआरएल का उपयोग नहीं कर रहे हैं, / शायद इसका मतलब बहुत अधिक नहीं है - पथ को सेट किए बिना प्रयास करें।

    +0

    अच्छा विचार, लेकिन वैसे भी '/' डिफ़ॉल्ट है। मैंने कोशिश की 'फ़ाइल: /// सी: /' लेकिन मुझे लगता है कि इस संदर्भ में बकवास है। –

    +0

    जो वास्तव में मेरे लिए काम करता है, धन्यवाद। – Orlo

    3

    मैं एक ही मुद्दा था, बजाय स्थानीय होस्ट के आईपी पते का उपयोग कर प्रयास करें। उदाहरण के लिए "http://127.0.0.1/yoursite/"

    2

    कृपया Cookies & Google Analytics देखें।

    $.cookie("nameofcookie", cookievalue, {path: "/", expires: 30}); 
    

    परिवर्तन

    $.cookie("nameofcookie", cookievalue, {*Path:* "/", expires: 30}); 
    

    इस परियोजना काम कर रहे करने के लिए इस लाइन ठीक है।

    +1

    गलत; आवरण कोई फर्क नहीं पड़ता। –

    +0

    धन्यवाद, मामले को "पथ" में बदलना मेरी समस्या को ठीक करता है –

    5

    मुझे कुछ समस्या थी और इसे यह भयानक समाधान हल किया। स्टोर और कुकी प्लगइन का उपयोग कर ।

    <script src="js/jquery.cookies.2.2.0.js" type="text/javascript"></script> 
    <script src="js/jquery.Storage.js" type="text/javascript"></script> 
    
    var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1; 
    
    //get cookies 
    var helpFlag=(is_chrome)?$.Storage.get("helpFlag"):$.cookies.get("helpFlag"); 
    
    //set cookies 
    if(is_chrome)$.Storage.set("helpFlag", "1");else $.cookies.set("helpFlag", "1"); 
    

    मुझे लगता है कि यह नहीं है सही समाधान है, लेकिन काम करता है मुझे

    0

    आप chrominum का उपयोग करते हैं यह स्थानीय कुकीज़

    क्रोमियम ब्राउज़र --enable-फ़ाइल-कुकी सक्षम करने का आदेश है के लिए

    यह क्रोम के लिए एक ही बात है

    उम्मीद है कि यह आपकी मदद करेगा!

    2

    यह मेरे लिए काम किया है:

    enter image description here

    अधिकार अपने Chrome आइकन पर क्लिक करें और गुण, शॉर्टकट टैब का चयन करें और लक्ष्य पथ के अंत में --enable-फ़ाइल-कुकीज़ जोड़ें।

    संबंधित मुद्दे