2012-11-13 8 views
5

मैं Requ.js और Backbone.js और al के साथ काम कर रहा हूं। मैं एक साधारण टूडो एप्लिकेशन बनाने की कोशिश कर रहा हूं जिसे मैं अपने डेस्कटॉप से ​​index.html पर डबल-क्लिक करके चलाता हूं और इसे ब्राउज़र में दिखाता हूं और इसका उपयोग करता हूं।Requ.js टेम्पलेट्स "क्रॉस मूल अनुरोध केवल HTTP के लिए समर्थित हैं" त्रुटि

हालांकि, जब Require.js द्वारा एक टेम्पलेट प्राप्त करने में कठिनाई, यह मेरे निम्न त्रुटि दे रही है:

XMLHttpRequest cannot load file:///C:/bada/js/templates/headerTemplate.html. Cross origin requests are only supported for HTTP. 

मुझे पता है क्योंकि मैं एक सर्वर से अनुरोध नहीं कर रहा हूँ यह हो रहा है। मुझे क्रोम में पता है, क्रोम लॉन्च करते समय कुछ पैरामीटर का उपयोग करके इस त्रुटि को दबाया जा सकता है, लेकिन मैं स्थानीय रूप से runnning index.html द्वारा अपने मोबाइल फोन पर इस ऐप का उपयोग करना चाहता हूं।

क्या इस त्रुटि को होने से रोकने के लिए वैसे भी है और ऐप ठीक काम कर रहा है?

उत्तर

1

संक्षिप्त उत्तर: नहीं।

लंबा उत्तर: एप्लिकेशन कैशिंग में देखें।

अपने ऐप के निर्माण से पहले ऐसा न करें। लेकिन इसके निर्माण के बाद, यदि आप ऑफ़लाइन कैश सेट करते हैं और localStorage (यदि आवश्यक हो) का लाभ उठाते हैं, तो इसे सबसे सम्मानजनक फ़ोन/टैबलेट/लैपटॉप/पीसी पर चलाना चाहिए।

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

... और यदि आप हर 5 मिनट में CTRL + S को हिट करना चाहते हैं, तो बस सुरक्षित रहें ... ... यदि आप चाहें तो सिरदर्द में हैं कार्रवाई में उन सूक्ष्म परिवर्तनों को देखने के लिए।

+0

हम्मम्म, यह एक डाउनर है। मैं वास्तव में आशावादी था कि मुझे इसका समाधान मिलेगा। कैश चीज में देखेंगे या फिर मुख्य HTML फ़ाइल -_- – Hirvesh

+2

बीटीडब्लू में सभी टेम्पलेट्स को फेंक दें, जावास्क्रिप्ट मॉड्यूल फाइलों (.js फ़ाइलों) को लोड करने के लिए Requ.js के लिए कोई समस्या क्यों नहीं है लेकिन इसमें समस्याएं लोड हो रही हैं एचटीएमएल एक? – Hirvesh

+3

जेएस फाइलों के लिए आपके मॉड्यूल में src set के साथ एक स्क्रिप्ट तत्व बनाता है। एचटीएमएल टेम्पलेट्स के साथ यह लोड करने के लिए अजाक्स का उपयोग करता है (टेक्स्ट! प्लगइन का उपयोग करके) –

2

Google क्रोम के साथ, आप फ्लैग --allow-file-access-from-files-फ़ाइलों का उपयोग कर ऐसा कर सकते हैं। इस तरह यह आपके स्थानीय फाइल सिस्टम तक पहुंच सकता है।

मैं आपके क्रोम आइकन के गुणों को बदलने और डिफ़ॉल्ट रूप से ध्वज को सक्षम करने की सलाह देता हूं। अन्य ब्राउज़रों में शायद समान चीजें हैं लेकिन मुझे नहीं पता।

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