2008-09-18 16 views
6

Web üzerinde çalışıyorum ve sık sık sayfaların CSS uygulamadan yükleneceği durumlarda karşılaşıyoruz. Bu sorun IE6, IE7, Safari 3 ve FF3'te gösterilmiştir.CSS'nin tüm tarayıcılarda arada sırada yüklenmesine neden olabilecek nedir?

Bir sayfa yenileme sorunu her zaman düzeltir.

@import kullanılarak hepsi aynı stil bloğu içinde yüklü 3 CSS dosyaları vardır: Biz html kaynağını incelemek için zaman ayırın herhangi bir durumda

<STYLE type="text/css"> 
    @import url([base css file]); 
    @import url([skin css file]); 
    @import url([generated css path]); 
</STYLE> 

, hiçbir şey sıradan dışında. Erişim günlükleri de normal görünüyor - istendiğinde statik CSS dosyaları için HTTP 304 yanıtları alıyoruz ve oluşturulan CSS için bir HTTP 200 yanıtı alıyoruz.

mimetype css dosyaları ve oluşturulan css için text/css olduğunu. Tomcat sunucusuna istek ileten bir iPlanet sunucusu kullanıyoruz.

davebug sorular:

eşit, her zaman yüklenmiyor aynı css dosyası mı, yoksa hepsiyle sorun nedir? CSS dosyaları yükün

Yok. HTML içinde tanımlanan herhangi bir stil iyi çalışıyor, ancak CSS dosyalarındaki hiçbir şey bu olduğunda işe yaramaz.

+0

Her zaman aynı css dosyası yüklenmiyor mu, yoksa hepsiyle sorun mu var, eşit mi? –

cevap

4

olduğum tek bir fikir ... var "@import" yerine. Örneğin, [base css file] içerisine aşağıdakileri ekleyiniz:

ve diğerlerinin önüne koyunuz.

+0

Bu değişikliği birkaç hafta önce yaptık ve şimdiye kadar problemin tekrar ortaya çıktığını görmedik. Çok rastlantısal bir şekilde gerçekleşiyor, ancak eğer düzeltilip düzeltilmediğini söylemek zor. – Illandril

+0

Bu benim için çalışmadı. CSS dosyalarını harici Web sunucusuna (Tomcat dışı) taşıdıktan sonra bunu başarabiliyordum. – weekens

0

Web sunucusundan CSS dosyalarını tekrar tekrar yüklemek için ab veya httperf veya curl veya başka bir şey kullanın. Belki de sürekli olarak sayfalara hizmet vermiyor.

3

Eğer tarayıcınızda görmek Canlı http başlıkları Firefox uzantısı veya Tamper Veri uzantısı intalling çalışırlar ve tarayıcı tarafından görülür şekilde yanıt başlıklarını izleyebiliyorsanız olduğunu yeterince sık olur. başlıklarını incelenmesi

0

iyi bir fikir, ama onlardan öğreneceği bütün sunucunun bir arada bir bir isteğe yanıt vermedi düşünün.

Bunun neticesinde her zaman olduğunu görüyorum. Görüntüler yenilenene, css bozulana kadar yüklenmez. Tüm durumlar bir yenileme ile çözülür.

sana "düzeltmek" için tek bir yol bu, belki, bazı element için bir resim için bir url dosyanızda cs belirterek olduğunu düşünün. Ardından, sayfada javascript'e yükleyin, bu öğeyi alın ve resmin yüklü olup olmadığını görün. Değilse, sayfanın kendini yeniden yüklemesini sağlayın.

oldukça egzotik görünüyor, ama bu yöntem ben benzer bir şey "link rel" seçeneğini kullanarak öncelikle bir taban stil sayfasını ekleyerek düzeltmek mümkün olduğunu ortaya yaşadım

1

Nedenini bilmiyorum ama benim durumumda sayfa /ActionName gibi yol ile bir işlemden kaynaklanan yüklü ise, bu sorun görüyorum. Ben /reservedArea/ActionName veya /aPath/ActionName için (örneğin) değiştirirseniz

Ama çalışır:/

Bu çılgınlık ...

İlgili konular