JQuery kütüphanesini nereden ekliyorsunuz? Google JSAPI? CDN?


242

JQuery ve jQuery UI'yi dahil etmenin birkaç yolu var ve insanların ne kullandığını merak ediyorum?

  • Google JSAPI
  • jQuery sitesi
  • kendi siteniz / sunucunuz
  • başka bir CDN

Kısa bir süre önce Google JSAPI kullanıyorum, ancak bir SSL bağlantısı kurmanın ya da yalnızca google.com'u çözmenin uzun zaman aldığını gördüm. Google için aşağıdakileri kullanıyorum:

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

Google'ı kullanma fikrini seviyorum, bu nedenle diğer siteleri ziyaret ederken ve sunucumuzdan bant genişliğinden tasarruf etmek için önbelleğe alınır, ancak sitenin yavaş kısmı olmaya devam ederse, içeriği değiştirebilirim.

Ne kullaniyorsun? Sorun yaşadınız mı?

Düzenleme: Sadece jQuery sitesini ziyaret etti ve aşağıdaki yöntemi kullanıyorlar:

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

Edit2: Geçen yıl için herhangi bir sorun olmadan jQuery dahil ettik:

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

Farkın kaldırılması http:. Bunu kaldırarak, http ve https arasında geçiş yapma konusunda endişelenmenize gerek yoktur.


8
Darryl, harika bir düzenleme. Düzenlemenizi sayfanın üstüne taşımanızı ve srcşu anda kullandığınız daha basit / daha güvenli / daha hızlı sözdizimini değiştirmenizi önerebilir miyim ? Cevabınız temel olarak kanonik hale geldi ve her iki değişiklik de insanların geldiklerini çabucak elde etmelerine yardımcı olacak.
Josh Smith

Yanıtlar:


153

Şüphesiz JQuery'nin Google API sunucuları tarafından sunulmasını tercih ediyorum. Ben başka herhangi bir Google API's kaldıraç yok çünkü jsapi yöntemi ile gitmedim, ancak bu hiç değiştiyse o zaman ben düşünecektim ...

Birincisi: Google api sunucuları, tek sunucu konumum yerine dünyanın her yerine dağıtılır: Daha yakın sunucular genellikle ziyaretçi için daha hızlı yanıt süreleri anlamına gelir.

İkincisi: Birçok kişi Google'da JQuery barındırmayı seçtiğinden, bir ziyaretçi siteme geldiğinde yerel önbelleklerinde zaten JQuery betiği olabilir. Önbelleğe alınmış içerik genellikle ziyaretçi için daha hızlı yükleme süreleri anlamına gelir.

Üçüncüsü: Web barındırma şirketim kullanılan bant genişliği için beni ücretlendiriyor. Ziyaretçi aynı dosyayı başka bir yerde alabilirse, kullanıcı oturumu başına 18 bin dolar tüketmenin bir anlamı yoktur.

Doğru komut dosyası dosyasını sunmak, çevrimiçi ve kullanılabilir olmak için Google'a güvenin bir kısmını yerleştirdiğimi anlıyorum. Bu noktaya kadar Google'ı kullanma konusunda hayal kırıklığına uğramamıştım ve anlamsız olana kadar bu yapılandırmaya devam edeceğim.

Dikkat çekmeye değer bir şey var ... Sitenizde güvenli ve güvensiz sayfaların bir karışımı varsa, güvenli olmayan bir sayfaya güvenli bir içerik yüklerken gördüğünüz her zamanki uyarıyı önlemek için Google kaynağını dinamik olarak değiştirmek isteyebilirsiniz:

İşte ben geldim:

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

GÜNCELLEME 9/8/2010 - HTTP ve HTTPS'yi kaldırarak kodun karmaşıklığını azaltmak ve aşağıdaki sözdizimini kullanmak için bazı önerilerde bulunuldu:

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

Ayrıca, jQuery kitaplıklarının en son Ana sürümünün yüklendiğinden emin olmak istiyorsanız, URL'yi jQuery ana numarasını yansıtacak şekilde değiştirebilirsiniz:

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

Son olarak, Google'ı kullanmak istemiyorsanız ve jQuery'yi tercih ediyorsanız aşağıdaki kaynak yolunu kullanabilirsiniz (jQuery'nin SSL bağlantılarını desteklemediğini unutmayın):

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

26
Sebeplerinizin üçüne de katılıyorum, bu yüzden üretim sitelerime Google'dan jquery ekliyorum. SSL sayfaları için js dinamik enjeksiyon yerine, sadece belirtilen protokol olmadan bir komut dosyası etiketi url referans. Benim için iyi çalışıyor gibi görünüyor. <script src = "// ajax.google ..."> </script>
Aaron Wagner

1
İlginç bir fikir ... Ancak JQuery yükünü kaçırmak için DNS zehirlenmesini kullanacaksanız, neden tüm site isteğini kaçırmıyorsunuz? Veya Google Analytics komut dosyasına ne dersiniz?
Dscoduc

9
Ayrıca her şeyi kabul ediyorum, işleri basitleştirmek dışında şu biçimi kullanıyorum: <script src = "// ajax.google ..."> </script>. O zaman http veya https hakkında endişelenmem gerekmez. Bunun için teşekkürler Aaron Wagner.
Darryl Hein

11
Ne document.write()kullanıldığını görmüyorum ? basit bir <script src="..."></script>başlık koymak için iyidir. → @ Dscoduc: ← daha hızlı olmayacak, sadece bu uyarı mesajını alacak. Siteniz güvenli https kullanıyorsa ve kodlanmamış bir içerikten (ör. http://googleapis) Alıyorsanız, bu uyarı mesajını alırsınız. Yalnızca http kullanıyorsanız, ancak bağlantı oluşturuyorsanız biraz daha hızlı olacak https://googleapis, "güvenli" kodlamayla biraz ek yük var. Böylece, bağlantı kurmak http://googleapisbiraz daha hızlı olur.
vol7ron

5
Ayrıca, Google'ın bunu kullanıcıların gittiği web sitelerini izlemek için kullanacağını da unutmayın. Bu nedenle, gizlilik bilincinde olması gereken bir web sitesi yapıyorsanız, birkaç küçük dosyayı barındırmak gizlilik için ödeme yapmak için küçük bir fiyattır.
Hans-Christoph Steiner

19

Harici bir sunucuda barındırmak isteyebilmenizin bir nedeni, belirli bir sunucuya uyumlu bağlantıların tarayıcı sınırlamaları üzerinde çalışmaktır.

Ancak, kullandığınız jQuery dosyasının çok sık değişmeyeceği göz önüne alındığında, tarayıcı önbelleği devreye girer ve çoğunlukla bu noktayı tartışır.

Harici sunucuda barındırmanın ikinci nedeni, trafiği kendi sunucunuza düşürmektir.

Ancak, jQuery boyutu göz önüne alındığında, muhtemelen trafiğinizin küçük bir parçası olacaktır. Muhtemelen gerçek içeriğinizi optimize etmeye çalışmalısınız.


1
başka bir neden - olasılıklar, kullanıcıların önbelleğinde zaten Google'dan jquery'ye sahip oldukları için, sitenizi ilk kez ziyaret ettiklerinde indirmeleri gerekmeyebilir .
Kip

14

jQuery 1.3.1 dk sadece 18k boyutundadır. İlk sayfa yüklemesinde sormak için çok fazla bir şey olduğunu sanmıyorum. Bundan sonra önbelleğe alınır. Sonuç olarak, kendim barındırıyorum.


7
Belirttiğiniz nedene dayanarak saygıyla katılmıyorum. Çok fazla trafik alırsanız, oturum başına 18 bin kişi hızla büyük miktarda trafik ekleyebilir. Özellikle web kullanılan bant genişliği tarafından hosting ücretleri ...
Dscoduc

1
Benim görüşüme göre, ziyaretçileriniz yalnızca bir sayfaya bakarlarsa bu endişe vericidir. Profiliniz daha az ziyaretçi ve birden çok sayfa görüntüleme sayısı ise, ziyaretçi başına sayfa görüntüleme sayısına yayıldığında minimum ek yük. Geri dönen ziyaretçiler için Ditto.
Kristen

2
web siteniz kesinlikle küçük değilse, 18k her zaman trafiğinizin küçük bir kısmı olacaktır.
Hans-Christoph Steiner

14

Google'ı kullanmak istiyorsanız, doğrudan bağlantı daha duyarlı olabilir. Her kitaplığın doğrudan dosya için listelenen yolu vardır. Bu jQuery yoludur

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

Sorunuzu tekrar okuyunuz, https kullanmanızın bir nedeni var mı? Bu, Google'ın örneklerinde listelediği komut dosyası etiketidir

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

3
Site HTTPS olduğundan HTTPS kullanmak, bu yüzden yapmak zorunda.
Darryl Hein

1
Tüm içeriğiniz https tabanlı mı yoksa yalnızca bir kısmı mı?
Dscoduc

2
https sitelerinde http bağlantıları sinir bozucu çünkü IE (en azından varsayılan olarak) sinir bozucu "Bu site güvenli ve güvensiz içeriğin bir karışımını içeriyor." onay kutuları.
cletus

1
Kodun geldiği site tamamen SSL'dir - son derece güvenli iletişim bilgileri.
Darryl Hein

1
Kullanıcılarınızın güvenliğini önemsiyorsanız, javascript için her zaman HTTPS kullanın. HTTPS olmadan, bu istekleri ortada tutmak (MITM) ve insanlara göndermek istediğiniz javascript boyunca istismarlar yapmak oldukça kolaydır. Herkese açık wifi, saldırıya uğramış ev yönlendiricileri, vb. Tüm bu pwn-to-own yarışmalarına bakın: içeri girmek için her zaman tarayıcıdan yararlanırlar.
Hans-Christoph Steiner

8

Geliştirdiğim herhangi bir genel sitenin herhangi bir harici siteye bağımlı olmasını istemem ve bu nedenle jQuery'i kendim barındırırım.

Diğeri (Google, jquery.com vb.) Sona erdiğinde sitenizde bir kesinti yapmak ister misiniz? Daha az bağımlılık anahtardır.


2
Kullanıcı deneyimini (hızlı yükleme sürelerini) daha az bağımlılıkla koydum.
Dscoduc

1
@slacy hey siteniz çalışmıyor! aslında jk, ama ben google analytics kullandığınızı fark ettim ve sonunda yerine onların komut dosyası var - bu Google yavaş oluyorsa sitenizi fraksiyonel olarak yavaşlatacaktır
Simon_Weaver 16:30

3
hmm ... slacy Google Analytics mi kullanıyor? Sadece geliştirdiği hiçbir kamu sitesinin harici bir siteye bağımlı olmasını istemediğini söylemedi mi? ;-)
Dscoduc

1
Vay canına, ahbaplar, bazı sert yorumlar var. :) Evet, Analytics'i kişisel blogumda kullanıyorum, ancak bu gelir getiren bir üretim sitesi değil, bu yüzden gerçekten iyi. Sitemin yılda birçok gün kapalı olduğundan eminim. Unutmayın, kişisel siteler ve iş için yaptıklarınız aynı değildir
slacy

6
Yerel kopyayı kullanmanın başka iyi nedenleri de vardır: Google, İran, Çin vb. Gibi birçok ülkede sıkça engellenir. Bu, bir milyardan fazla kişinin erişemeyeceği anlamına gelir.
Hans-Christoph Steiner

6

Artıları: Google'daki ana makinenin avantajları var

  • Muhtemelen daha hızlı (sunucuları daha optimize edilmiştir)
  • Önbelleğe alma işlemini doğru bir şekilde yaparlar - 1 yıl (üstbilgileri doğru şekilde sunucularımızda almak için değişiklikler yapmamıza izin verilir)
  • Başka bir alan adında Google tarafından barındırılan sürüme bir bağlantısı olan kullanıcılar zaten önbelleğinde dosyaya sahipler

Eksileri:

  • Bazı tarayıcılar bunu XSS web alanları arası olarak görebilir ve dosyaya izin vermeyebilir.
  • Özellikle Firefox için NoScript eklentisini çalıştıran kullanıcılar

Acaba Google'dan DAHİL OLABİLİRSİNİZ ve sonra bazı Global değişkenlerin varlığını kontrol edip edemeyeceğinizi ve sunucunuzda eksiklik olup olmadığını kontrol edebilir misiniz?


3
Firefox'un eksileri, Google'ın değil.)
Nakilon

6

Burada birkaç sorun var. İlk olarak, belirttiğiniz zaman uyumsuz yükleme yöntemi:

<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
  google.load('jquery', '1.3.1');
  google.setOnLoadCallback(function() {
    // do stuff
  });
</script>

birkaç sorunu var. Komut dosyası etiketleri, alındıklarında sayfa yüklenmesini duraklatır (gerekirse). Şimdi yüklemek için yavaşlarsa bu kötü ama jQuery küçük. Yukarıdaki yöntemle ilgili asıl sorun, jquery.js yükü birçok sayfa için bağımsız olarak gerçekleştiği için, jquery yüklenmeden önce yüklemeyi bitirecek ve oluşturacaklardır, böylece yaptığınız jquery stilleri kullanıcı için görünür bir değişiklik olacaktır .

Diğer yol:

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

Basit bir tablo gibi basit örnekleri deneyin ve statik jquery.min.js yükü ile setOnLoadCallback () yöntemine karşı $ (document) .ready () ile hücrelerin arka planını sarı olarak değiştirin. İkinci yöntemin belirgin bir titremesi olmayacaktır. İlk irade. Şahsen bunun iyi bir kullanıcı deneyimi olmadığını düşünüyorum.

Örnek olarak şunu çalıştırın:

<html>
<head>
  <title>Layout</title>
  <style type="text/css">
    .odd { background-color: yellow; }
  </style>
</head>
<body>
<table>
  <tr><th>One</th><th>Two</th></tr>
  <tr><td>Three</td><td>Four</td></tr>
  <tr><td>Five</td><td>Six</td></tr>
  <tr><td>Seven</td><td>Nine</td></tr>
  <tr><td>Nine</td><td>Ten</td></tr>
</table> 
<script src="http://www.google.com/jsapi"></script>
<script>
  google.load("jquery", "1.3.1");
  google.setOnLoadCallback(function() {
    $(function() {
      $("tr:odd").addClass("odd");
    });
  });
</script>
</body>
</html>

Tablonun göründüğünü görmelisiniz (ve sonra satırlar sararır).

Google.load () yöntemiyle ilgili ikinci sorun, yalnızca sınırlı sayıda dosya barındırmasıdır. Bu jquery için bir sorundur, çünkü son derece eklenti bağımlıdır. Eğer denemek ve bir bir jquery eklentisi eklerseniz <script src="...">etiketi ve google.load()eklenti muhtemelen henüz yüklü olmadığı için "jQuery tanımlı değil" nin mesajlarla başarısız olur. Gerçekten bunun için bir yol göremiyorum.

Üçüncü sorun (her iki yöntemde de) bunların bir harici yük olmasıdır. Bazı eklentileriniz ve kendi Javascript kodunuz olduğunu varsayarsak, Javascript'inizi yüklemek için en az iki harici isteğiniz vardır. Muhtemelen jquery, tüm ilgili eklentileri ve kendi kodunuzu alıp tek bir küçültülmüş dosyaya koymanız daha iyi.

Gönderen Hosting için Meli sen kullan Google'ın Ajax Kütüphaneleri API? :

Yükleme sürelerine gelince, aslında iki komut dosyası yüklüyorsunuz - jsapi komut dosyası ve mootools komut dosyası (yukarıdan sıkıştırılmış sürüm). Yani bu bir değil iki bağlantı. Deneyimlerime göre, Google'dan geliyor olsa bile, yükleme süresinin kendi kişisel paylaşılan sunucumdan yüklemekten 2-3 kat daha yavaş olduğunu ve sıkıştırılmış dosyanın sürümümün Google'dan birkaç K daha büyük olduğunu buldum. Bu, dosya yüklendikten ve (muhtemelen) önbelleğe alındıktan sonra bile. Bu yüzden benim için, bant genişliği fazla önemli olmadığından önemli olmayacak.

Son olarak, isteği bir çeşit XSS girişimi olarak işaretleyen paranoyak bir tarayıcıda potansiyel probleminiz var. Bu genellikle varsayılan ayarlarla ilgili bir sorun değildir, ancak kullanıcının güvenlik ayarlarını tek başına kullandıkları tarayıcı üzerinde kontrol sahibi olamayacağı kurumsal ağlarda sorun yaşayabilirsiniz.

Sonuçta beni jQuery için Google AJAX API'sını kullandığımı gerçekten göremiyorum (daha "eksiksiz" API'ler bazı açılardan farklı bir hikaye) ve burada örnek göndermek dışında.


Bahsettiğiniz sorunlardan hiçbirini yaşamadım. Sadece doğru sırayla bir şeyler yüklemek anladığım kadarıyla hemen hemen her şeyi çözecektir.
Darryl Hein

4

Kendi sunucusunda barındırmayı öneren kişilere ek olarak, tarayıcıların diğer içerik dizisinden ayrı olarak yüklemelerine izin vermek için onu ayrı bir alanda (ör. Static.website.com) tutmayı önerdim. Bu ipucu, resimler ve css gibi tüm statik şeyler için de çalışır.


4

Google'da barındırılan kütüphaneler için -1 oy vermeliyim. Bu kütüphanelerin etrafındaki sarmalayıcılarıyla google analitik tarzı veri topluyorlar. En azından, bir istemci tarayıcısının istediğimden daha fazlasını yapmasını istemiyorum, sayfadaki başka hiçbir şey daha az. Daha da kötüsü, bu Google'ın kötülük yapmamasının "yeni sürümü" - daha fazla kullanım verisi toplamak için göze batmayan javascript kullanıyor.

Not: Bu uygulamayı değiştirdiler, süper. Ancak son kez barındırılan kitaplıklarını kullanmayı düşündüğümde, sitemdeki giden http trafiğini izledim ve google sunucularına yapılan periyodik çağrılar beklediğim bir şey değildi.


Ancak sitenizde zaten Google Analytics çalıştırıyor musunuz? JQuery'nin Google'dan gelip gelmediğini çok fazla farketmediğimi sanmıyorum, muhtemelen zaten sitemde çalıştırdığımı biliyorlar ...
Dscoduc

Ama 1 yıl önbelleğe alındı ​​- bu arada Google'a 304 "Dosya değiştirildi" bile mi gönderiyoruz?
Kristen

Evet, Google’a yapılan periyodik aramaları da gördüm (Safari'nin etkinlik yöneticisinin güzel bir listesi var).
Darryl Hein

Dscoduc - evet, Analytics kullanarak. En azından bu uygulama ile önceden veri kullanımından vazgeçtiğimi anladım. JS kütüphanelerinde öyle değil.
jro

3

Bu konuda eski okul olabilirim, ama hala hotlinking konusunda kaşlarını çatmıştım. Belki Google istisnadır, ancak genel olarak, dosyaları kendi sunucunuzda barındırmak gerçekten iyi bir tavırdır.


3
"Görgü kuralları" ile ne demek istiyorsun? Google, sunucularına bağlanmanızı önerir. Google'ın inanılmaz altyapısı tarafından pompalandı.
Nosredna

2
google kullanımı hakkında ilk duyduğunuzda kesinlikle bir karışıklık var. nosredna deniyor olarak fakat edilir teşvik "Biz doğru, vb önbellek başlıklarını ayarı En son hata düzeltmeleri ile güncel kalmak, kütüphaneler barındıran zorluklarını" - code.google.com/apis/ajaxlibs
Simon_Weaver

3

Bu dosyaları yerel olarak barındırmak için bir neden olarak ekleyeceğim.

Son zamanlarda TWC'deki Güney Kaliforniya'daki bir düğüm ajax.googleapis.com etki alanını (IPv4 kullanan kullanıcılar için) yalnızca çözümleyemedi, bu nedenle harici dosyaları alamıyoruz. Bu, bugüne kadar aralıklıydı (şimdi kalıcı.) Aralıklı olduğu için SaaS kullanıcı sorunlarını gidermek için tonlarca sorun yaşıyordum. Bazı kullanıcıların neden yazılımla ilgili bir sorun yaşamadığını, diğerlerinin de tanklaştığını izlemeye çalışırken sayısız saat harcadı. Her zamanki hata ayıklama işlemimde bir kullanıcıya IPv6'nın kapalı olup olmadığını sorma alışkanlığı içinde değilim.

Ben kendim dosyaya bu belirli "yolu" kullanıyordum ve aynı zamanda sadece IPV4 kullanıyorum çünkü sorun üzerinde tökezledi. Jquery'nin yüklenmediğini söyleyen geliştiriciler araçlarıyla ilgili sorunu keşfettim, sonra gerçek sorunu bulmak için izler vb. Yapmaya başladım.

Bundan sonra, büyük olasılıkla asla harici olarak barındırılan dosyalara geri dönmeyeceğim çünkü: google bunun bir sorun haline gelmesi için aşağı inmek zorunda değil ve ... bu düğümlerden herhangi biri DNS korsanlığı ile tehlikeye girebilir ve kötü amaçlı j'ler teslim edebilir gerçek dosya yerine. Her zaman bir google etki alanı asla aşağı gitmek olacağını güvenli olduğunu düşündüm, şimdi bir kullanıcı ve ana bilgisayar arasındaki herhangi bir düğüm bir başarısız noktası olabilir biliyorum.


2

Ben sadece jQuery sitesinden en son sürümü dahil: http://code.jquery.com/jquery-latest.pack.js Bu benim ihtiyaçlarına uygun ve asla güncelleme hakkında endişelenmenize gerek yok.

EDIT: Büyük bir web uygulaması için kesinlikle kontrol edin; indirin ve kendiniz servis edin. Ama kişisel sitem için daha az umursamadım. İşler sihirli bir şekilde kaybolmaz, genellikle önce kullanımdan kaldırılır. Gelecekteki sürümler için neyin değişeceğini bilmek için yeterince yetişiyorum.


1
Bu yöntem biraz tehlikeli bulundu, kütüphanede bir kod değişikliği sitenizi kırarsa? ya da jquery sitesi düşüyor? dosya üzerinde tam kontrole sahip olmayı tercih ederim.
Jason Miesionczek

1
Ayrıca, jQuery milletlerin bant genişliğini bu şekilde vurmaktan nefret ediyorum. Zaten gerçekten harika bir ücretsiz araç sağlıyorlar ve bant genişliği maliyetleri nedeniyle düşmeleri için nefret ediyorum. Kendiniz barındırmak istemiyorsanız Google'ı harici kaynak olarak kullanmak daha iyidir, çünkü bu amaçla sağlarlar.
nezroy

JQuery yerine Google'ı kullanmayı değiştirmenizi öneriyorum. Bunun ana nedeni, Google'ın dünya çapında JQuery'den çok daha fazla sunucuya sahip olması ve deneyimlerime göre daha fazla kişinin Google hosting kullanması ve bu da zaten önbelleğe alma şansınızı artırmasıdır.
Dscoduc

Jason'a katılıyorum, otomatik olarak daha yeni bir sürüme geçmek çok tehlikeli. Belki sadece jquery kullanıyorsanız kadar değil, ama eklentileri ile kesinlikle tavsiye etmiyorum. Ben bir 1.2.6 ile çalışan bir sitede bir eklenti kullanmak ama 1.3.x (henüz ...)
jeroen

2

İşte bazı yararlı kaynaklar, umut CDN seçmenize yardımcı olabilir. MS, yakın zamanda CDN'leri aracılığıyla dağıtım Kitaplıkları için yeni bir etki alanı ekledi.

Eski Biçim: http://ajax.microsoft.com/ajax/jQuery/jquery-1.5.1.js Yeni Biçim: http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.1.js

Bu, microsoft.com için tüm çerezleri göndermemelidir. http://www.asp.net/ajaxlibrary/cdn.ashx#Using_jQuery_from_the_CDN_11

Burada, tüm teknolojilerde web'de kullanılan en popüler teknoloji hakkında bazı istatistikler. http://trends.builtwith.com/

Umut seçmenize yardımcı olabilir.


1

Ben 'canlı' sitesi sorumlu isem ben daha iyi ve devam eden olaylar farkında içine sitemde. Bu nedenle jquery-min sürümünü kendimi aynı sunucuda veya statik / harici bir sunucuda barındırıyorum, ancak her iki şekilde de, her değişikliği doğruladıktan / sınadıktan sonra kitaplığı yalnızca ben (veya programım / proxy) güncelleyebileceği bir konum


Umarım Google dosyayı asla değiştirmez - hata düzeltmeleri için dosya adında farklı sürüm numaralarına sahip yeni bir dosya barındırırlar. Yoksa saf mıyım? onlar aynı dosya adını kullanarak "Küçük düzeltmeler" sunacak mı ??
Kristen

Belirli bir sürüm isterseniz Google dosyayı asla değiştirmemelidir.
Darryl Hein

1

Kafada:

  (function() {
    var jsapi = document.createElement('script'); jsapi.type = 'text/javascript'; jsapi.async = true;
    jsapi.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'www.google.com/jsapi?key=YOUR KEY';
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('head')[0]).appendChild(jsapi);
  })();

Gövde Sonu:

<script type="text/javascript">
google.load("jquery", "version");
</script>

0

Kendi sunucumdaki diğer js dosyalarımla barındırıyorum ve bu nokta, bunları birleştirin ve küçültün (django-kompresör ile, burada, ancak nokta değil), sitenin her şeyi ile sadece bir js dosyası olarak sunulmak üzere içine koymak gerekir. Yine de kendi js dosyalarınızı sunmanız gerekecek, bu yüzden orada ekstra jquery bayt eklememek için hiçbir neden görmüyorum - bazı daha fazla kbs aktarmak için daha fazla istek daha yapmak için daha ucuzdur. Kimseye bağımlı değilsiniz ve minimize edilmiş js önbelleğe alınır alınmaz süper hızlı olursunuz.

İlk yüklemede, CDN tabanlı bir çözüm kazanabilir, çünkü ek jquery kilobaytlarını kendi sunucunuzdan yüklemeniz gerekir (ancak ek bir istek olmadan). Yine de bu farkın fark edildiğinden şüpheliyim. Ve sonra, temizlenmiş önbellek ile ilk yükte, CDN jquery getirmek için daha fazla istek (ve DNS aramaları) gerektiğinden, kendi barındırılan çözümünüz muhtemelen her zaman çok daha hızlı olacaktır.

Bu noktadan neredeyse hiç bahsedilmediğini ve CDN'lerin dünyayı nasıl ele geçirdiğini merak ediyorum :)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.