2011-01-10 13 views
6

Ich möchte den Code für die automatische Vervollständigung verwenden. Der Code lautet here.Wo sollte ich meinen JavaScript-Code eingeben?

<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 --> 

Allerdings kann ich nicht herausfinden, wo ich diesen Code setzen sollte. Im Kopf? In Körper?

Antwort

0

Ja, Sie sollten es in das Körperelement legen.

0

Wenn Sie können, setzen sie ganz am Ende des <body> Element, nach Sie jQuery, die zur automatischen Vervollständigung aufgenommen haben Plugin selbst und alle anderen Bibliotheken, die Sie abhängig sind. Skripte am Ende der <body> zu platzieren, wird im Allgemeinen (zum Zeitpunkt des Schreibens :-) als Best Practice angesehen, da es dem Browser ermöglicht, zum Markup zu gelangen, bevor er sich um die Skriptausführung kümmern muss.

3

Nach w3schools

Wenn Skript in HEAD setzen

Scripts ausgeführt werden, wenn sie genannt wird, oder wenn ein Ereignis ausgelöst wird, werden in Funktionen gelegt. Setzen Sie Ihre Funktionen in den Kopf Abschnitt, diese Weise, die sie alle an einem Ort sind, und sie stören nicht Seite Inhalt.

Wenn Skript in BODY

setzen Wenn Sie Ihr Skript nicht wollen innerhalb einer Funktion platziert sein, oder wenn Ihr Skript Seiteninhalt schreiben sollte, es sollte im Körperbereich platziert.

Also in Ihrem Fall. Sie können das Skript in der es in externe Datei Put body

+4

Nur ein Hinweis: w3schools als Referenz verwenden hier wird eine Menge kichern und Spott verursachen. Es ist keine maßgebliche Informationsquelle; es ist nur eine zufällige Website mit Informationen unterschiedlicher Qualität. Insbesondere ist dieser Ratschlag nur komisch und nicht wirklich umfassend oder sogar genau. – Pointy

+0

Ok. Wo empfehlen Sie, nach den richtigen Informationen zu suchen? http://www.w3.org/TR/html4/interact/scripts.html gibt, soweit ich das beurteilen kann, keine Best Practice an. –

+0

Dies ist wahrscheinlich nicht die Art von Sache, die jemals in einer echten Spezifikation auftauchen würde. Es geht darum, gute Blogs zu verfolgen und gute Antworten auf Websites wie Stackoverflow zu lesen - JavaScript-Leistung (und clientseitige Optimierung im Allgemeinen) ist in letzter Zeit ein sehr aktuelles Thema, und Meinungen zu Best Practices entwickeln sich schnell. – Pointy

2

setzen und verknüpfen Sie dann die Datei mit HTML-Dokument mit:

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

(wenn Sie HTML5 verwenden können Sie type Attribut überspringen).

Der obige Weg ist der klarste und gebräuchlichste, aber einige Forschungen beweisen, dass es nicht der schnellste Weg ist. Sie könnten das JavaScript direkt vor </body> Element setzen, überspringt jQuery.read() ($(function() { ... }); in diesem Fall, die eine kurze Form davon ist). Sie werden in diesem Fall einige Millisekunden (oder sogar weniger) gewinnen, aber ich fühle mich gezwungen, das zu bemerken.

+2

John Resig mag nicht so, und ich würde vorsichtig sein, weil er einige dieser Post liest – qwertymk

4

Sie sollten Ihren Code wahrscheinlich direkt am Ende des Body-Tags einfügen.

Check out Steve Souder's High Performance Web Sites - Evolution of Script Loading

Wenn Sie mehrere Skript enthält und brauchen, um sich zu überzeugen, dass sie für Sie in der richtigen Reihenfolge geladen werden, überprüfen WebSiteOptimization.com's Article on the Defer Attribute, wo Sie den Auftrag ausführen Ihre Skripte sehen.

+1

Vereinbarte. Es empfiehlt sich, JavaScript-Funktionen nach dem HTML-Code zu deklarieren, damit die Seite schneller geladen wird. Mit anderen Worten, es ist eine gute Idee, zuerst die Ansicht zu laden (damit der Benutzer die Seite sehen kann) und dann zuletzt die Funktionsdeklarationen zu laden. –

+1

Eine schön strukturierte html-Seite wird wie folgt sortiert: CSS an der Spitze, HTML-Inhalt in der Mitte und JavaScript am Ende –

Verwandte Themen