मैं एक ग्रीसीकेम यूजरस्क्रिप्ट के स्रोत को देख रहा था और उनकी सीएसएस में निम्नलिखित पर ध्यान दिया:
.even { background: #fff url(data:image/gif;base64,R0lGODlhBgASALMAAOfn5+rq6uvr6+zs7O7u7vHx8fPz8/b29vj4+P39/f///wAAAAAAAAAAAAAAAAAAACwAAAAABgASAAAIMAAVCBxIsKDBgwgTDkzAsKGAhxARSJx4oKJFAxgzFtjIkYDHjwNCigxAsiSAkygDAgA7) repeat-x bottom}
मैं इस बात की सराहना कर सकता हूं कि एक ग्रीसीमेक स्क्रिप्ट कुछ भी बंडल करना चाहेगा वह स्रोत के भीतर सर्वर पर होस्ट करने के लिए विरोध कर सकता है, यह स्पष्ट रूप से पर्याप्त है। लेकिन जब से मैंने इस तकनीक को पहले नहीं देखा था, मैंने इसके उपयोग पर विचार किया और यह कई कारणों से आकर्षक लगता है:
- यह पृष्ठ लोड पर HTTP अनुरोधों की मात्रा को कम करेगा, इस प्रकार प्रदर्शन को बढ़ाएगा
- यदि कोई CDN नहीं है, तो यह छवियों के साथ भेजे जा रहे कुकीज़ के माध्यम से उत्पन्न ट्रैफ़िक की मात्रा को कम कर देगा
- CSS फाइलों को कैश किया जा सकता है
- CSS फाइलें GZIPPED हो सकती हैं
यह देखते हुए कि IE6 (उदाहरण के लिए) पृष्ठभूमि छवियों के लिए कैश के साथ समस्या है, ऐसा लगता है कि यह सबसे बुरा विचार नहीं है ...
तो, क्या यह एक अच्छा या बुरा अभ्यास है, WOULDN'T आप इसका उपयोग क्यों करते हैं और आप आधार को किन-किन उपकरणों का उपयोग करके छवियों को एनकोड करेंगे?
अद्यतन - परीक्षण के परिणाम
छवि के साथ परीक्षण: http://fragged.org/dev/map-shot.jpg - 133.6Kb
परीक्षण URL: http://fragged.org/dev/base64.html
समर्पित सीएसएस फ़ाइल: http://fragged.org/dev/base64.css - 178.1Kb
GZIP एन्कोडिंग सर्वर साइड
ग्राहक को भेजे गए आकार (YSLOW घटकों का परीक्षण): 59.3Kb
क्लाइंट ब्राउजर को भेजे गए डेटा की बचत: 74.3Kb
अच्छा है, लेकिन यह छोटी छवियों के लिए थोड़ा कम उपयोगी होगा, मुझे लगता है।
अद्यतन: ब्रायन मैकक्वाडे, Google के एक सॉफ्टवेयर इंजीनियर, पेजस्पीड पर काम कर रहे, क्रोमडेवसुमिट 2013 में कहा गया कि डेटा: सीएसएस में यूरिस को अपनी बात के दौरान महत्वपूर्ण / न्यूनतम सीएसएस प्रदान करने के लिए एक रेंडर-ब्लॉकिंग-विरोधी पैटर्न माना जाता है
#perfmatters: Instant mobile web apps
। Http://developer.chrome.com/devsummit/session देखें और इसे ध्यान में रखें - वास्तविक स्लाइड
PRO:
सेलुलर उपकरणों पर अधिक कैश सीमाएं जोड़ना ... CON:
कुछ छवियों को सरल प्रस्तुति के बजाय सामग्री के रूप में माना जाना चाहिए और इस तरह सीएसएस छवि छवियों की तुलना में HTML आईएमजी टैग के लिए बेहतर फिट हैं।