2012-04-11 23 views
5

जब मैं याहू मेल के स्रोत कोड देखने, मैं एक & प्रतीक का उपयोग कर एक link टैग में एकाधिक सीएसएस फ़ाइलों को देखने के साथ कई सीएसएस फ़ाइलें लोड हो रहा है जैसा कि नीचे दिखाया:एकल http अनुरोध

href="http://mail.yimg.com/zz/combo?kx/ucs/uh/css/271/yunivhead-min.css&kx/ucs/uh/css/221/logo-min.css&kx/ucs/avatar/css/17/avatar-min.css" 

किसी को भी पता है, कैसे वे प्रत्येक फ़ाइल को अलग करते हैं और उन्हें एक ही http अनुरोध का उपयोग करके लोड करते हैं?

+0

कॉम्बो हैंडलर के बारे में अधिक जानकारी के लिए, कृपया [लिंक] पर जाएं (http://developer.yahoo.com/yui/docs/YAHOO.util.YUILoader.html#property_comboBase) –

उत्तर

1

इस मामले में, एक ऐसी स्क्रिप्ट दिखाई देती है जो सीएसएस फ़ाइलों को एक प्रतिक्रिया में शामिल करती है।

स्क्रिप्ट का मार्ग http://mail.yimg.com/zz/combo है। यह कई पैरामीटर स्वीकार करता है जिसमें सीएसएस फाइलों के पथ शामिल हैं, जो तब जुड़ जाएंगे और संभवत: कम हो जाएंगे।

आप यूआरएल के साथ चारों ओर खेलने हैं, तो आप आप URL से -min -Prefixes को दूर कर सकता है कि देख सकते हैं और आप बदले में unminified सीएसएस फ़ाइल प्राप्त: उदाहरण के लिए http://mail.yimg.com/zz/combo?kx/ucs/uh/css/271/yunivhead.css&kx/ucs/uh/css/221/logo.css&kx/ucs/avatar/css/17/avatar.css

रहे हैं कई सीएसएस minifiers चारों ओर, CSSmin। लेकिन चूंकि यह एक याहू पृष्ठ है, इसलिए वे शायद अपने स्वयं के सीएसएस कंप्रेसर, YUI का उपयोग करते हैं। यह कैसे काम करता है के बारे में विवरण के लिए, http://developer.yahoo.com/yui/compressor/#work देखें।

+0

धन्यवाद। जैसा कि सभी ने बताया कि '** कॉम्बो **' कुंजी है, मैंने 'कॉम्बो और यूयूआई' के लिए गुगल किया और कुछ उपयोगी पाया [यहां] (http://yuiblog.com/blog/2008/07/16/combohandler/)। जैसा कि आप और @skotos द्वारा सुझाया गया है, यूयूआई लोडर का उपयोग किया गया है। –

0

मेरा अनुमान है कि http://mail.yimg.com/zz/combo एक छोटा प्रोग्राम/स्क्रिप्ट है जो सभी पैरा एकत्र करता है (जैसे केएक्स/ucs/uh/css/271/yunivhead-min.css, kx/ucs/uh/css/221/logo-min .css, kx/ucs/अवतार/सीएसएस/17/अवतार-min.css), उन्हें बंडल करता है और उन्हें कम करता है।

यह एमवीसी के लिए बंडलिंग सुविधा के समान है, जिसे आप http://www.davidhayden.me/blog/asp.net-mvc-4-bundling-and-minification (या अन्य स्रोतों) पर पढ़ सकते हैं।

0

यदि आप यूआरएल को जो कुछ देखते हैं उसे अलग करते हैं तो यह है कि यह विभिन्न क्वेरीस्ट्रिंग कुंजियों (नोट पर कोई मूल्य नहीं है) में गुजरने वाले "कॉम्बो" नामक किसी चीज़ का अनुरोध है जो कुछ सीएसएस फ़ाइलों के पथ हैं।

इन चाबियों को सर्वर पक्ष भाषा का उपयोग करने के मानक तरीके से निकाला जाएगा और उस यूआरएल के लिए सीएसएस को पूरी तरह से प्रतिक्रिया में लौटने से पहले एक चर में पार्स किया जाएगा।

1

विनिर्देशों से परिचित नहीं है, लेकिन यूआरएल सीएसएस फाइलों के साथ एक अज्ञात पैरामीटर के रूप में एक क्वेरी स्ट्रिंग की तरह दिखता है।

http://mail.yimg.com/zz/combo एक सेवा होगी जो सीएसएस लोड करती है, फिर क्लाइंट को वापस सेवा करने से पहले फ़ाइलों को जोड़ती है और संभवतः फाइलों को कम करती है।

0

उनके यूई प्रोजेक्ट के लिए, याहू विकास में यूलोडर नामक एक परियोजना है। मुख्य रूप से यूई के लिए डिज़ाइन किए जाने पर, कोड ऐसा लगता है कि इसे अन्य फ़ाइलों की सेवा के लिए भी स्थापित किया जा सकता है। यह COMBO से अधिक करता है। यह निर्भरता भी काम करता है। जेएस और सीएसएस के साथ। चूंकि याहू यूयूआई में वाई है, तो शायद यह mail.yimg.com के लिए उनका कोड बेस है। कोड https://github.com/yui/phploader पर पाया जा सकता है।

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