javascript - Hvor inkluderer du jQuery-biblioteket fra? Google JSAPI? CDN?


Det finnes noen måter å inkludere jQuery og jQuery UI på, og jeg lurer på hva folk bruker?

  • Google JSAPI
  • jQuerys nettsted
  • din egen side/server
  • en annen CDN

Jeg har nylig brukt Google JSAPI, men har funnet ut at det tar lang tid å sette opp en SSL-forbindelse eller til og med bare å løse google.com. Jeg har brukt følgende for Google:

<script src="https://www.google.com/jsapi"></script>
<script>
google.load('jquery', '1.3.1');
</script>

Jeg liker ideen om å bruke Google slik at det caches når man besøker andre nettsteder og for å spare båndbredde fra serveren vår, men hvis det fortsetter å være den langsomme delen av nettstedet, kan det hende jeg endrer inkluderingsmetoden.

Hva bruker du? Har du hatt noen problemer?

Rediger: Besøkte nettopp jQuerys nettsted, og de bruker følgende metode:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>

Edit2: Slik har jeg inkludert jQuery uten problemer det siste året:

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

Forskjellen er fjerningen av http:. Ved å fjerne dette trenger du ikke å bekymre deg for å bytte mellom http og https.

Svar #1

Uten tvil velger jeg å få JQuery levert av Google API-servere. Jeg gikk ikke for jsapi-metoden siden jeg ikke bruker noen andre Google API-er, men hvis det noen gang skulle endre seg, ville jeg vurdert det...

Først: Google API-serverne er distribuert over hele verden i stedet for på mitt ene serversted: Nærmere servere betyr vanligvis raskere responstider for besøkerne.

For det andre: Mange velger å ha JQuery hostet på Google, slik at når en besøkende kommer til nettstedet mitt, kan de allerede ha JQuery-skriptet i sin lokale cache. Forhåndscachet innhold betyr vanligvis raskere lastetider for den besøkende.

Tredje: Mitt webhotellfirma belaster meg for båndbredden som brukes. Det gir ingen mening å bruke 18k per brukersesjon hvis besøkende kan få den samme filen et annet sted.

Jeg forstår at jeg legger en del tillit til Google for å levere riktig skriptfil, og for å være online og tilgjengelig. Frem til dette punktet har jeg ikke blitt skuffet over å bruke Google og vil fortsette med denne konfigurasjonen til det ikke lenger gir mening.

En ting verdt å påpeke... Hvis du har en blanding av sikre og usikre sider på nettstedet ditt, kan du ønske å endre Google-kilden dynamisk for å unngå den vanlige advarselen du ser når du laster usikkert innhold på en sikker side:

Her er hva jeg kom opp med:

<script type="text/javascript">
    document.write([
        "\<script src='",
        ("https:" == document.location.protocol) ? "https://" : "http://",
        "ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js' type='text/javascript'>\<\/script>" 
    ].join(''));
</script>

OPPDATERING 08.09.2010 - Noen forslag har blitt gitt for å redusere kompleksiteten i koden ved å fjerne HTTP og HTTPS og rett og slett bruke følgende syntaks:

<script type="text/javascript">
    document.write("\<script src='//ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js' type='text/javascript'>\<\/script>");
</script>

I tillegg kunne du også endre URL-en for å gjenspeile jQuerys hovednummer hvis du ønsket å sikre at den nyeste hovedversjonen av jQuery-bibliotekene ble lastet:

<script type="text/javascript">
    document.write("\<script src='//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js' type='text/javascript'>\<\/script>");
</script>

Til slutt, hvis du ikke vil bruke Google og foretrekker jQuery, kan du bruke følgende kildebane (huske på at jQuery ikke støtter SSL-tilkoblinger):

<script type="text/javascript">
    document.write("\<script src='http://code.jquery.com/jquery-latest.min.js' type='text/javascript'>\<\/script>");
</script>

Svar #2

En grunn til at du kanskje vil hoste på en ekstern server, er å omgå nettleserbegrensningene for samtidige tilkoblinger til en bestemt server.

Men siden jQuery-filen du bruker sannsynligvis ikke vil endre seg særlig ofte, vil nettleserens cache tre inn og gjøre det poenget i stor grad irrelevant.

Den andre grunnen til å ha den på en ekstern server er å redusere trafikken til din egen server.

Men gitt størrelsen på jQuery, er det sannsynligvis en liten del av trafikken din. Du bør sannsynligvis prøve å optimalisere det faktiske innholdet ditt.

Svar #3

jQuery 1.3.1 min er bare 18k i størrelse. Jeg tror ikke det er for mye å be om ved den første sideinnlastingen. Det vil bli bufret etter det. Som et resultat, hoster jeg det selv.

Svar #4

Hvis du vil bruke Google, kan den direkte lenken være mer responsiv. Hvert bibliotek har banen oppført for den direkte filen. Dette er jQuery-banen

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

Leste nettopp spørsmålet ditt på nytt, er det en grunn til at du bruker https? Dette er skript-tagen Google lister i sitt eksempel

<script src="http://www.google.com/jsapi"></script>

Relaterte artikler