Web sayfaları içinde Javascript dahil

4 Cevap php

Herkes bir (PHP tabanlı) web sayfasında birden çok JavaScript dosyaları dahil etmek en iyi ve en kolay yolu tavsiye misiniz?

Ben bir jQuery kullanan web sitesi ve herhangi belirli bir sayfada yaklaşık 10 eklentileri kadar bir şey var. Ben bir dev olarak benim için hayatı kolaylaştırmak için, ve onlar en iyi bir kullanıcıya hizmet sağlamak için tüm bu dosyaları da dahil olmak üzere hakkında gitmek için en iyi yolu tamamen emin değilim.

İdeal () Her eklenti JS dosyası 'include' kendimi ben her sayfa için reqire hangi eklentileri aramak için kullanabileceğiniz bir PHP işleyicisi dosyasını oluşturmak için, ve sonra document.write kullanılan bu çıkışı javascript olurdu kolay yolu düşündüm sayfasında şöyle:

<script src="handler.php?jquery,plugin1,plugin2,plugin3,plugin4"></script>

Hangi olabilir daha sonra birden document.write ile çıkış JavaScript () 'ler her eklenti için.

Ben bazı tarayıcılar sorgu dizeleri ile öğelerin önbelleğe görmezden gibi bu, ancak tarayıcı önbelleği ile ilgili sorunlara neden olabilir inanıyoruz yol.

Bunu yapmak için Tamam mı, yoksa belki de kaçırıyorum basit bir yöntem var mıdır?

4 Cevap

Joely,

Browsers have no problem caching url's with questionmarks. It's probably better to not include a js file, which in turn includes another js file. If you are already writing a script that manages all the js files that are supposed to be included, why not output all those script tags right there?

İlginizi Google AJAX API, yani olabilir:

google.load("jquery", "1.3.2");
google.load("jqueryui", "1.7.1");
google.load("prototype", "1.6.0.3");

Neden sadece kendi <script> etiketi ile ayrı ayrı dosyaların her biri dahil değil? Sonra her şey tek tek önbelleğe alır ve tüm iyi. Sadece ilk sayfa yük HTTP istekleri bir sürü olacak. Dinamik bir binada her zaman muhtemelen performans için daha iyi olmayacak "dosyasını include".

Dizelerin kombinasyonu ağır değişir mi? Eğer gerçekten HTTP isteklerini azaltmak için ve her zaman sadece tek bir uzun dosya içine koymak onları hep birlikte, aynı 10 dosyaları dahil olmak üzere konum istiyorum.

Tek tek dosyaları da dahil olmak gerçekten isteksiz iseniz, muhtemelen eklenti adları listesi verilen komut dosyası etiketleri oluşturmak için bir php fonksiyon yazabiliriz.