मैं Google Chrome एक्सटेंशन से किसी अन्य डोमेन पर XHR अनुरोध भेजने की कोशिश कर रहा हूं। यह ठीक काम करेगा, लेकिन मुझे अनुरोध के साथ डोमेन डोमेन भेजने की जरूरत है। इसे करने का कोई तरीका?कुकीज़ के साथ क्रोम एक्सटेंशन से XHR अनुरोध भेजें
उत्तर
यकीन manifest.json
अनुमतियाँसेटअप ठीक हों।
आपको अपने क्रोम एक्सटेंशन के manifest.json
में क्रॉस साइट डोमेन अनुरोध अनुमति को ठीक से सेट करना होगा। जब सही तरीके से किया जाता है, तो कुकीज़ जो पहले से लक्षित डोमेन के लिए सेट की गई हैं, उस डोमेन के अनुरोध के साथ भेजी जाएगी। manifest.json documentation
localhost:port_number
के साथ खेलते समय आपको विशेष रूप से सावधान रहना होगा। काम करने के लिए आपको manifest.json
में उस डोमेन को पूर्ण रूप से निर्दिष्ट करने की आवश्यकता होगी। जब मैं अपने स्थानीयहोस्ट डोमेन को पूर्ण रूप से निर्दिष्ट नहीं करता था तो मैं अजीब व्यवहार के साथ समाप्त हुआ।
इस तरह आप अपने विस्तार की manifest.json
में अपने स्थानीय होस्ट डोमेन निर्दिष्ट करने के लिए (है कि अगर समझ में आता है) चाहते हैं:
...
"permissions": [
"http://localhost:3000/"
],
...
कुकीज़ आप लक्षित डोमेन के लिए भेजना चाहते हैं अभी तक सेट नहीं कर रहे हैं, आप chrome.cookies.set
विधि का उपयोग करके ऐसा कर सकते हैं और ऑब्जेक्ट domain
विशेषता के माध्यम से इच्छित डोमेन नाम निर्दिष्ट कर सकते हैं जो आप set
विधि पर जाते हैं। दस्तावेज यहां है: chrome.cookies.set।
स्थानीयहोस्ट क्रॉस साइट अनुमति क्यों देता है? – itchyspacesuit
आप 'कुकी' सहित शीर्षकों को संशोधित करने के लिए ['webRequest'] (http://code.google.com/chrome/extensions/webRequest.html#event-onBeforeSendHeaders) API का उपयोग कर सकते हैं। UA स्पूफ़िंग + हेडर संपादन का एक उदाहरण पाया जा सकता है [यहां] (http://stackoverflow.com/a/10339902/938089?associate-a-custom-user-agent-to-a- विशिष्ट-google-chrome-page -tab)। –
आप इस धारणा के तहत क्यों हैं कि क्रोम उपयोगकर्ता की कुकीज़ नहीं भेजेगा? मैंने अभी इसका परीक्षण किया, और यह करता है। क्या आपकी अनुमति में साइट है? –
हू। मेरी गलती। यह निश्चित रूप से अनुरोध के साथ कुकीज़ भेजता है। – nathancahill