2011-01-10 18 views
6

मैं ऑटो-पूर्ण के लिए कोड का उपयोग करना चाहता हूं। कोड here है।मुझे अपना जावास्क्रिप्ट कोड कहां रखना चाहिए?

<script> 
    $(function() { 
     var availableTags = [ 
      "ActionScript", 
      "AppleScript", 
      "Asp", 
      "BASIC", 
      "C", 
      "C++", 
      "Clojure", 
      "COBOL", 
      "ColdFusion", 
      "Erlang", 
      "Fortran", 
      "Groovy", 
      "Haskell", 
      "Java", 
      "JavaScript", 
      "Lisp", 
      "Perl", 
      "PHP", 
      "Python", 
      "Ruby", 
      "Scala", 
      "Scheme" 
     ]; 
     $("#tags").autocomplete({ 
      source: availableTags 
     }); 
    }); 
    </script> 



<div class="demo"> 

<div class="ui-widget"> 
    <label for="tags">Tags: </label> 
    <input id="tags"> 
</div> 

</div><!-- End demo --> 



<div class="demo-description" style="display: none; "> 
<p>The Autocomplete widgets provides suggestions while you type into the field. Here the suggestions are tags for programming languages, give "ja" (for Java or JavaScript) a try.</p> 
<p>The datasource is a simple JavaScript array, provided to the widget using the source-option.</p> 
</div><!-- End demo-description --> 

हालांकि, मुझे यह नहीं पता कि मुझे यह कोड कहां रखना चाहिए। सिर में? शरीर में?

उत्तर

0

हां आपको इसे शरीर तत्व के अंदर रखना चाहिए।

0

आप, यह बहुत अंत <body> तत्व की, के बाद आप jQuery, स्वत: पूर्ण में ही प्लगइन, और किसी भी अन्य पुस्तकालयों आप पर निर्भर शामिल किया है पर डाल सकते हैं। <body> के अंत में स्क्रिप्ट डालना आम तौर पर (इस लेखन के समय :-) एक सर्वोत्तम अभ्यास माना जाता है क्योंकि यह स्क्रिप्ट निष्पादन के बारे में चिंता करने से पहले ब्राउज़र को मार्कअप प्राप्त करने की अनुमति देता है।

3

w3schools

के अनुसार हेड में स्क्रिप्ट डाल करने के लिए जब

स्क्रिप्ट जब वे कहा जाता है, या जब एक घटना शुरू हो रहा है, कार्यों में रखा जाता है निष्पादित किया जाना है। हेड सेक्शन में फ़ंक्शन डालें, यह जिस तरह से वे सभी एक ही स्थान पर हैं, और वे पृष्ठ सामग्री में हस्तक्षेप नहीं करते हैं।

जब शरीर

में स्क्रिप्ट डाल करने के लिए आप अपनी स्क्रिप्ट एक समारोह के अंदर रखा, या यदि आपके स्क्रिप्ट पृष्ठ की सामग्री लिखना चाहिए, यह होना चाहिए होने के लिए नहीं करना चाहते हैं शरीर खंड में रखा गया।

तो आपके मामले में। आप body

+4

बस एक संकेत: यहां के संदर्भ के रूप में w3schools का उपयोग करके बहुत अधिक घबराहट और उपहास का कारण बन जाएगा। यह जानकारी का आधिकारिक स्रोत नहीं है; यह अलग-अलग गुणवत्ता की जानकारी के साथ सिर्फ एक यादृच्छिक वेबसाइट है। विशेष रूप से, यह सलाह सिर्फ अजीब है और वास्तव में व्यापक या सटीक भी नहीं है। – Pointy

+0

ठीक है। तो आप सही जानकारी की तलाश करने का सुझाव कहां देते हैं? http://www.w3.org/TR/html4/interact/scripts.html जहां तक ​​मैं देख सकता हूं सर्वोत्तम अभ्यास निर्दिष्ट नहीं करता है। –

+0

शायद यह ऐसी चीज नहीं है जो वास्तविक विनिर्देश में दिखाई देगी। यह अच्छे ब्लॉगों का ट्रैक रखने और स्टैक ओवरफ्लो जैसी साइटों पर अच्छे उत्तरों को पढ़ने का विषय है - जावास्क्रिप्ट प्रदर्शन (और सामान्य रूप से क्लाइंट-साइड ऑप्टिमाइज़ेशन) हाल ही में एक बहुत ही गर्म विषय है और "सर्वोत्तम प्रथाओं" राय जल्दी विकसित होती है। – Pointy

2

में स्क्रिप्ट डाल सकते हैं यह बाहरी फ़ाइल में रखो और फिर लिंक है कि HTML दस्तावेज़ के साथ फ़ाइल का उपयोग:

<head> 
    ... 
    <script type="text/javascript" src="/scripts/my-script.js"></script> 
</head> 

(यदि आप एचटीएमएल 5 का उपयोग कर रहे आप type विशेषता छोड़ सकते हैं)।

उपर्युक्त तरीका सबसे स्पष्ट और सामान्य है, हालांकि कुछ शोध साबित करते हैं कि यह सबसे तेज़ तरीका नहीं है। आप </body> तत्व से पहले उस जावास्क्रिप्ट को सही ढंग से डाल सकते हैं, इस मामले में jQuery.read() ($(function() { ... }); छोड़कर), जो कि इसका एक छोटा सा रूप है)। आप उस मामले में कुछ मिलीसेकंड (या इससे भी कम) प्राप्त करेंगे, लेकिन मुझे बस यह ध्यान देने के लिए मजबूर होना पड़ता है।

+2

जॉन रेसिग इस तरह से नहीं है, और मैं सावधान रहूंगा क्योंकि वह इनमें से कुछ पोस्ट – qwertymk

4

आपको शायद बॉडी टैग के अंत में अपना कोड सही रखना चाहिए।

चेक बाहर Steve Souder's High Performance Web Sites - Evolution of Script Loading

यदि आप कई स्क्रिप्ट शामिल है और यह है कि वे आप के लिए सही क्रम में लोड होगा, WebSiteOptimization.com's Article on the Defer Attribute की जाँच, जहां आप अपने आलेख निष्पादित देख सकते हैं अपने आप को समझाने की जरूरत है।

+1

सहमत है। HTML के बाद जावास्क्रिप्ट फ़ंक्शंस घोषित करना अच्छा अभ्यास है ताकि पृष्ठ तेज़ी से लोड हो रहा हो। दूसरे शब्दों में, पहले दृश्य को लोड करना एक अच्छा विचार है (इसलिए उपयोगकर्ता पृष्ठ देख सकता है) और फिर आखिरी फ़ंक्शन घोषणाएं लोड करें। –

+1

इस तरह एक अच्छी तरह से संरचित एचटीएमएल पेज का आदेश दिया जाएगा: शीर्ष पर सीएसएस, बीच में एचटीएमएल सामग्री, और अंत में जावास्क्रिप्ट –

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