2012-01-03 15 views
7

Tüm projelerimde JQuery yüklemek için aşağıdaki kodu kullanıyorum. http://html5boilerplate.com/'dan yakaladım. Bu tekniğin here kapsamlı bir karışıklık var.Yerel olarak çalıştırıldığında JQuery'yi çok yavaş yüklemek için Html5boilerplate'in kodunu kullanma

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script>window.jQuery || document.write('<script src="jquery-1.7.1.min.js"><\/script>');</script> 

Bu kod iyi çalışıyor ve ben interwebs o kadar koyduk bir kere darn çabuk görünüyor, ama ben yerel olarak benim .html dosyayı açtığınızda yenileme başına ~ 10 saniye sürer. Genellikle Bıktım ve aşağıdaki gibi kodu değiştiremez olsun: Burada belirgin bir şey eksik

<!-- uncomment when going live 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script>window.jQuery || document.write('<script src="jquery-1.7.1.min.js"><\/script>');</script>--> 

<!-- remove following line when going live --> 
<script src="jquery-1.7.1.min.js"></script> 

Am? Süper yavaş yükleme sürelerini almamam gerektiği gibi hissediyorum, ama bu satırları yorumladığında kendini çözüyor.

cevap

11

:

<script>window.jQuery || document.write('<script src="jquery-1.7.1.min.js"><\/script>');

şöyle, senaryonuz etiketinin src için https: ekleyin sorunu çözmek için Web sunucusu.

url üzerinde // öneki mevcut kaynak (genellikle http veya https)

http aracılığıyla ve bunun yerine bir dosya üzerinden sunmamaktasınızdır yana, çalışıyor ile aynı protokolü kullanması gerektiğini belirtir Yerel dosya sisteminize bakın, sonuçta zaman aşımına uğrayın.

dosya: //ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min

Krom denetçisi ağ sekmesi benim için şu yüklemeye çalışıyor gösterir. js
file: /// C:/Users/[My kullanıcı adı]

Bu o zamanları ve dosya sistemini yüklemeye çalışacağım /Documents/jquery-1.7.1.min.js (ya da belki tarayıcı) zaman aşımına uğrar. Eğer (Apache ayrıca Windows çalışır, ancak IIS daha iyi bir arayüz araçlara sahiptir)

Linux/Mac iseniz Windows veya Apache iseniz

uygun yolu bir web sunucusu aracılığıyla hizmet etmektir, ya IIS

+0

tahmininiz doğru. –

+0

Sanırım XAMPP üzerinden koşuyorum, aradığım çözümdür, şimdi denemeliydim, ama bir şey kırdı, bir şans bulduğumda bir yeniden yüklemem lazım. –

+0

@ZachL. dosyayı sadece bir dosyayı açmak yerine bir web sunucusu üzerinden sunuyorsanız, çalışmalıdır. – Davy8

1

Bu hat:

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

girişimleri bir süre başarısız alacak demektir dosya sisteminde jQuery bulmak için. Google Chrome'daki geliştirici panelinin Ağ sekmesine bakarken, dosyayı file://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'da aramaya çalışır. Ardından, dosyayı bulamadığında, jQuery'yi yükler ve sonraki satırı kullanarak jQuery'yi yükler: sana aracılığıyla HTML sunmamaktasınızdır olduğunu tahmin ediyorum

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

+0

Bu işe yarayacak gibi görünüyor, ama bu protokol agnostik yaklaşımın noktasını yenecek? –

İlgili konular