मैं एक ऐसे प्रोजेक्ट पर काम कर रहा हूं जहां सिर में कई पुस्तकालय लोड हो रहे हैं। इस्तेमाल किया जा रहा सीएमएस वर्डप्रेस है।

Wp_head के माध्यम से, नवीनतम संस्करण 1.7.1 के लिए एक पंक्तिबद्ध स्क्रिप्ट है, लेकिन इसके ठीक नीचे स्क्रिप्ट फ़ाइलों का एक सेट है जो संस्करण 1.4 से शुरू होता है।

यहाँ एक साधारण दृश्य फ़्लोचार्ट है:

<head>    
  <script jQuery 1.7.1>
  <script jQuery 1.4>
  <script Colorbox>
  [7 more scripts dependent on 1.4 here]
</head>
...
<footer>
  <scripts that can use either 1.7.1 or 1.4>
</footer>

मेरी समझ यह है कि चूंकि jQuery 1.4 1.7.1 से नीचे है, इसलिए यह प्रभावी रूप से उपयोग की जा रही लाइब्रेरी है।

क्या लिपियों को पुनर्व्यवस्थित करना संभव है ताकि 1.4 पर निर्भर लोगों का उपयोग केवल 1.4 और शेष 1.7.1 द्वारा किया जा सके? उदाहरण के लिए:

<head>    
  <script jQuery 1.4>
  <script Colorbox>
  [7 more scripts dependent on 1.4 here]
  <script jQuery 1.7.1>
</head>
...
<footer>
  <scripts that can use either 1.7.1 or 1.4>
</footer>

देखें कि मैं कैसे 1.7.1 नीचे चला गया? क्या 1.4 लिपियों के नीचे शीर्ष पर 1.7.1 का स्थान 1.4 लिपियों को प्रभावित करेगा?

क्या यह पता लगाने का कोई तरीका है कि पूरे पृष्ठ में jQuery का कौन सा संस्करण उपयोग किया जा रहा है?

2
micah 4 फरवरी 2012, 06:26

2 जवाब

सबसे बढ़िया उत्तर

कृपया उन्हें "1.4 पर निर्भर लोगों" में परिभाषित करें, वेबसाइट के केवल एक हिस्से के लिए संस्करणों पर काम करना कभी भी अच्छा विचार नहीं है। यदि यह एक ही शीर्षलेख चलाने वाली एकाधिक वेबसाइटें हैं तो आप एक PHP (डेटाबेस्ड) फ़ील्ड में प्रयास करना और लोड करना चाहेंगे और उस लाइब्रेरी को सेट कर सकते हैं जिसे वहां उपयोग करने की आवश्यकता है। मेरी सलाह यह होगी कि यदि वास्तव में आपके कोड का कोई भाग नई लाइब्रेरी के साथ काम नहीं करता है, तो उस कोड को अपडेट करें। और हमेशा नवीनतम jQuery का उपयोग करें :)

2
Samuel 4 फरवरी 2012, 06:37

यह काम करना चाहिए क्योंकि jQuery.noConflict(true) आपको किसी भी वैश्विक चर को jQuery असाइन करने की अनुमति देता है और वैश्विक नाम स्थान से मूल jQuery चर को हटा देता है।

<head>    
  <script jQuery 1.4>
  <script type="text/javascript">
     var jq14 = jQuery.noConflict(true);
  </script>
  [7 more scripts dependent on 1.4 here] // do a find and replace in all these, replacing $ and jQuery by jq14
  <script jQuery 1.7.1>
</head>
...
<footer>
  <scripts that can use either 1.7.1 or 1.4>
</footer>

एक ही पृष्ठ पर दो jQuery लोड करना शायद ही सबसे अच्छा अभ्यास है, लेकिन यदि आपका ग्राहक उपरोक्त शॉडल को अपग्रेड करने के लिए भुगतान नहीं करेगा तो उम्मीद है कि कम से कम एक व्यावहारिक समझौता प्रदान करें।

0
wheresrhys 4 फरवरी 2012, 18:07