2011-06-22 17 views
6

Bu mümkün mü?İçerdiği js dosyasının içeriği xhr olmadan nasıl alınır?

<html> 
    <script src="local.js> 
    <script> 
    // get contents of local.js file here without doing an ajax call? 
    </script> 
</html> 

local.js aynı sunucuda bulunan, ve bir xhr çağrısı yaparak ben içeriğini alabilirsiniz biliyor (eğer o dosya yok: //).

Ancak, tarayıcı tarafından eşzamanlı olarak istenildiği için, içeriği belgeyle biliniyor, bu yüzden ona erişmenin bir yolu olduğunu umuyorum. Document.scripts koleksiyonu bana yardımcı olmadı.

Biraz içHTML elde etme (sayfa içinde tanımlı betikler için çalışır)?

+0

Neyi başarmaya çalıştığınızı açıklar mısınız? – Peeter

cevap

1

İçerdiği javascript kodunu nasıl alacağınıza ve neden buna ihtiyacınız olduğunu bilmiyorum ama başka yöne gitmeye ne dersin?

Bir komut dosyası etiketine sahip olmak yerine, dosyaya bir XHR çağrısı yapın ve içeriğini değerlendirin + içeriğini bir değişken olarak da saklayın.

** Yasal Uyarı: Neden buna ihtiyacın olduğunu göremiyorum, ya da aslında bu yöntemi kullanmanızı önermeyebilirim, ancak bu bir çalışma ortamıdır.

-1

Senaryonun içeriğini tarayıcısı bilinmektedir ederken, onlar belgeye bilinen değiliz şüpheli ve bu nedenle DOM API üzerinden erişilemez. Yani XHR yaklaşımını kullanmak zorunda kalacaksınız. Şansınız biraz olsun, komut dosyasının düzgün bir şekilde önbelleğe alınmasını sağlıyorsanız XHR isteği, komut dosyalarını zaten yerel önbellekten çekecektir.

1

XHR önbelleğe alınmış sürümü kullanmayacağımı düşünüyor musunuz? Bir istek olabilir, ancak hızlı olmalı (aynı HTTP bağlantısını tekrar kullanmalı) ve 304 (değiştirilmemiş) olmalıdır. Bu nedenle, önbelleklenmiş sürüm, JavaScript dosyanızın HTTP yanıt başlıklarının önbelleğe alma direktiflerini yasaklamadığı veya belirtmediği sürece (ancak genellikle olmalıdır) kullanılmalıdır.

İlgili konular