2012-01-03 13 views
7

चलाते समय JQuery बहुत धीमी गति से लोड करने के लिए Html5boilerplate कोड का उपयोग करके मैं अपनी सभी परियोजनाओं में JQuery लोड करने के लिए निम्न कोड का उपयोग कर रहा हूं। मैंने इसे http://html5boilerplate.com/ से पकड़ लिया। इस तकनीक here की व्यापक चर्चा है।स्थानीय रूप से

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script>window.jQuery || document.write('<script src="jquery-1.7.1.min.js"><\/script>');</script> 

इस कोड को अच्छा काम करता है और सुंदर रफ़ू जल्दी लगता है एक बार मैं इसे interwebs पर डाल दिया गया है, लेकिन जब मैं अपने .html फ़ाइल स्थानीय रूप से खोलने के लिए यह ताज़ा प्रति ~ 10 सेकंड लेता है। आम तौर पर मैं तंग आ जाता हूं और कोड को निम्नानुसार बदलता हूं:

<!-- uncomment when going live 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script>window.jQuery || document.write('<script src="jquery-1.7.1.min.js"><\/script>');</script>--> 

<!-- remove following line when going live --> 
<script src="jquery-1.7.1.min.js"></script> 

क्या मुझे यहां कुछ स्पष्ट याद आ रही है? मुझे लगता है कि मुझे सुपर धीमी लोडिंग समय नहीं मिलना चाहिए, लेकिन उन पंक्तियों पर टिप्पणी करते समय यह स्वयं को हल करता है।

उत्तर

11

मेरा अनुमान है कि है कि आप एक के माध्यम से एचटीएमएल की सेवा नहीं कर रहे हैं वेब सर्वर।

यूआरएल पर // उपसर्ग इंगित करता है कि यह वर्तमान संसाधन (आमतौर पर http या https)

के बाद से आप http के माध्यम से और बजाय एक फ़ाइल के तहत वितरित कर नहीं कर रहे हैं, यह करने के लिए कोशिश कर रहा है के रूप में ही प्रोटोकॉल का उपयोग करना चाहिए इसे अपने स्थानीय फाइल सिस्टम पर देखें, अंततः समय समाप्त हो रहा है।

फ़ाइल: //ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min

क्रोम निरीक्षक पर नेटवर्क टैब यह मेरे लिए निम्नलिखित लोड करने की कोशिश को दर्शाता है। js
file: /// C:/उपयोगकर्ताओं/[मेरे प्रयोक्ता नाम] या /Documents/jquery-1.7.1.min.js

यह उस समय और फाइल सिस्टम लोड करने के लिए कोशिश करता हूँ (शायद ब्राउज़र) अंत में टाइमआउट होगा।

उचित तरीके से एक वेब सर्वर के माध्यम से यह सेवा करने के लिए है, या तो आईआईएस अगर आप Windows या अपाचे पर हैं, आप पर लिनक्स/मैक रहे हैं (अपाचे भी Windows में काम करता है, लेकिन आईआईएस बेहतर यूआई उपकरण है)

+0

आपका अनुमान सही है। –

+0

मुझे लगता है कि एक्सएएमपीपी के माध्यम से इसे चलाने का समाधान वह समाधान है जिसे मैं ढूंढ रहा हूं, मैं इसे अभी कोशिश करूँगा, लेकिन डर्न चीज किसी भी तरह टूट गई ;-) मुझे मौका मिलने पर इसे पुनर्स्थापित करना होगा। –

+0

@ZachL। यदि आप फ़ाइल खोलने के बजाय वेब सर्वर के माध्यम से फ़ाइल की सेवा करते हैं, तो इसे काम करना चाहिए। – Davy8

1

यह पंक्ति:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

प्रयास अपने फाइल सिस्टम, यह कुछ समय विफल ले जाएगा जिसका मतलब है कि में jQuery खोजने के लिए। Google क्रोम में डेवलपर पैनल के नेटवर्क टैब को देखते हुए, यह file://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js में फ़ाइल को देखने का प्रयास करता है। फिर, फ़ाइल को खोजने में विफल होने के बाद, यह अगली पंक्ति का उपयोग करके jQuery (और फ़ाइल को सफलतापूर्वक पाता है) लोड करता है:

<script>window.jQuery || document.write('<script src="jquery-1.7.1.min.js"><\/script>');

समस्या का समाधान करने के लिए, अपनी स्क्रिप्ट टैग की src करने के लिए https: जोड़ते हैं, ताकि जैसे:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

+0

ऐसा लगता है कि यह काम करेगा, लेकिन यह प्रोटोकॉल अज्ञेय दृष्टिकोण के बिंदु को हरा देगा? –

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