2009-08-19 12 views
10

मान लीजिए कि मेरे पास 1 सीएसएस फ़ाइल में मेरी पूरी साइट सीएसएस है, इसलिए यह काफी बड़ा है, मैं जानना चाहता हूं कि कोई पृष्ठ 3 वर्गों का उपयोग करता है, जो सर्वर से 3 छवियों का अनुरोध करता है, मान लें कि 50 की तरह कुछ है इनमें से पूरी सीएसएस फ़ाइल में, क्या हर किसी को सर्वर से कॉल/अनुरोध किया जाता है या केवल 3 पृष्ठ की आवश्यकता होती है?फ़ाइल लोड होने पर सीएसएस फ़ाइल में प्रत्येक छवि लोड होती है?

background-image:url(http://localhost/images/btn3.gif); 

उत्तर

26

पता लगाने का एक आसान तरीका है (ठीक है, केवल स्टैक ओवरफ़्लो से पूछना आसान नहीं है)। इसे एक सीएसएस फ़ाइल में रखें:

#nonExistantElement { 
    background-image: url(myScript.php); 
} 

और उस स्क्रिप्ट को फ़ाइल या किसी चीज़ पर लिखकर हिट रिकॉर्ड करें।


ठीक है, मैंने अभी खुद ही ऐसा किया है। बाहर निकलता है: नहीं, यह फ़ाइल नहीं मिलता है। (फ़ायरफ़ॉक्स 3.5.2, IE7, क्रोम 2.0 पर परीक्षण किया गया)

+0

परीक्षण के लिए धन्यवाद, मैं सोच रहा था कि मुझे कुछ पुरानी/अप्रयुक्त सामग्री पर कटौती करनी चाहिए, लेकिन अब यह बहुत अधिक दर्द नहीं कर सकता है – JasonDavis

+2

आप एचटीएमएल के साथ फायर फॉक्स में नेट टैब का उपयोग कर सकते थे जो नहीं करता तत्व है जो पृष्ठभूमि छवि का उपयोग करता है .... –

+2

@Itay, हाँ, या मैं इसे कर सकता था और इसे क्रॉस-ब्राउजर का परीक्षण कर सकता था;) – nickf

6

ब्राउजर लोड करेगा जो इसे एक पृष्ठ प्रदर्शित करने की आवश्यकता है। हालांकि मैं कल्पना कर सकता हूं कि विभिन्न ब्राउज़र कुछ कैशिंग तकनीकों को नियोजित कर सकते हैं और सीएसएस फ़ाइल में जो कुछ भी देखते हैं उसे प्रीफेच कर सकते हैं।

6

आपका जवाब फ़ायरबग

+2

हां और नहीं। फ़ायरबग फ़ायरफ़ॉक्स द्वारा किए गए सभी HTTP अनुरोधों को लॉग नहीं करता है। उदाहरण के लिए यह 'favicon.ico' अनुरोध लॉग नहीं करता है। –

+1

@ आयनट जी स्टेन: ऐसा इसलिए है क्योंकि ब्राउज़र उपयोगकर्ता इंटरफ़ेस के हिस्से के रूप में फेविकॉन को उपयोग के लिए डाउनलोड किया गया है और इस प्रकार ब्राउज़र द्वारा स्वयं अनुरोध किया जाता है, न कि वेब पेज। सीएसएस पृष्ठभूमि छवियों सहित पेज सामग्री से संबंधित सभी अनुरोध फायरबग द्वारा दर्ज किए गए हैं। खैर, वे हैं अगर यह काम कर रहा है ;-) – NickFitz

7

मैं ऐसा नहीं सोचता साथ निहित है। होवर छद्म-वर्ग (माउसओवर) के लिए आवश्यक छवियों को लोड किया जाता है जब आप होवर करते हैं, और पहली उपस्थिति पर ध्यान देने योग्य अंतराल हो सकता है (जब तक कि आप इसे प्रीलोड करने के लिए धोखे का उपयोग न करें)।

+2

अच्छा उदाहरण स्थिति +1 – JasonDavis

0

नहीं, छवि के लिए अनुरोध तभी किया जाता है जब पृष्ठ पर कक्षा या आईडी मौजूद हो।

0

यदि आप एक ऐसी छवि चाहते हैं जो पृष्ठ लोड पर "प्रीलोड" पर दिखाई न दे, तो वहां कई प्रकार की चालें हैं जिनका उपयोग आप लोड पर छवि को प्रदर्शित करना चाहते हैं। सबसे आम मामला जहां "प्रीलोडिंग" आवश्यक है, पृष्ठभूमि छवियों के मामले में है जो होवर पर बदलते हैं, जहां उपयोगकर्ता पहली बार अस्वीकार्य अंतराल होगा जब उपयोगकर्ता छवि को बदलता है और छवि को बदलने का कारण बनता है। इस समस्या का सबसे आम समाधान "सीएसएस स्प्राइट्स" कहा जाता है। आप डिफॉल्ट, होवर, और (यदि मौजूद हैं) सक्रिय छवियों को एक फ़ाइल में जोड़ते हैं, एक दूसरे के ऊपर, और आप बस पृष्ठभूमि छवि ऑफ़सेट को बदलते हैं: होवर और: सक्रिय।

संबंधित मुद्दे