2008 जून 20 2008

रेखा / सूची आइटम में सफेद अंतरिक्ष (ली) बग IE6 में

यदि आप कभी भी बना दिया है (या एक बना) कार्यक्षेत्र मेनू सूची (ली) आइटम टैग और सीएसएस का उपयोग कर, आप मुठभेड़ हो सकता है, यह अभी तक इंटरनेट एक्सप्लोरर, जहां IE सूची आइटम है कि ब्लॉक स्तर तत्व होते हैं के बीच 6 आवेषण इन अंतराल, में एक और बग यानी अगर वहाँ मार्कअप में सूची आइटम्स के बीच कोई खाली स्थान है. धन्यवाद, लेकिन नहीं धन्यवाद, आईई संस्करण 7 इस बग से मुक्त लगता है.
यदि मुझे, और कई और अधिक जैसे, आप निराश डेवलपर्स, जो अभी भी अपने नए लेआउट, IE6 में भी काम मिलता है इस बैंड के हैं, तो यह उपयोगी साबित हो सकता है. एक नजर है ...

नमूना मार्कअप:

<ul id="menu">
<li <a> href="#"> होम </ a> </ li>
<li <a बारे href="#"> </ a> </ li>
<li <a> href="#"> सेवा </ a> </ li>
<li <a पोर्टफोलियो href="#"> </ a> </ li>
<li <a> href="#"> अक्सर पूछे जाने वाले प्रश्न </ a> </ li>
<li <a> href="#"> हमसे संपर्क करें </ a> </ li>
</ Ul>

आप कुछ सीएसएस बनाने के लिए, नीचे एक के समान हो सकता है, एक ऊर्ध्वाधर मेनू में ऊपर मार्कअप transfrom ....

नमूना सीएसएस ...
# मेनू {
मार्जिन: 0; padding: 0; background: # FF9900;
सूची शैली - प्रकार: कोई नहीं; चौड़ाई: 150px;
}
# मेनू ली {:; गद्दी 0 मार्जिन: 0;}
# मेनू {प्रदर्शन: ब्लॉक;
रंग: 555,555 #;
पाठ - सजावट: कोई नहीं;
गद्दी: 0 15px;
रेखा से ऊंचाई: 2.5, सीमा - नीचे: 1px ठोस # FFF;
}

परिणाम आप देखेंगे ...
रिक्त

इस बग (संशोधित / बोल्ड इटैलिक में सीएसएस जोडी) के लिए समाधान

# मेनू {
मार्जिन: 0; padding: 0; पृष्ठभूमि: # FF9900, सूची शैली - प्रकार: कोई नहीं; चौड़ाई: 150px;
फ्लोट: छोड़ दिया; / * इस जारी सूची आइटम * /
}
# मेनू ली {
मार्जिन: 0; padding: 0;
फ्लोट: छोड़ दिया; / * यह फिक्सेस * /
चौड़ाई: 100%; IE6 में / * रहितसफेद बग * /
}
# मेनू {
प्रदर्शन: ब्लॉक; रंग: ५,५५,५५५;
पाठ - सजावट: कोई नहीं;
गद्दी: 0 15px;
रेखा से ऊंचाई: 2.5, सीमा - नीचे: 1px ठोस # FFF;
}

यदि उपरोक्त समाधान doesnot काम करने लगते हैं (केवल IE6 के लिए जाना जाता कारणों के लिए) ... इस विधि बजाय कोशिश

बस अपने मार्कअप करने के लिए इस अतिरिक्त IE6 का केवल शैलियों को जोड़ने ...

<- [लेफ्टिनेंट IE 7>
<style type="text/css">
# मेनू ली एक {प्रदर्शन: इनलाइन ब्लॉक;}
# मेनू ली एक {प्रदर्शन: ब्लॉक;}
</ शैली>
<[Endif] ->


2008 जून 6 2008

उत्तम आचरण: डोम तत्वों की संख्या लघु रखें

पृष्ठ पर डोम तत्वों धीमी यह renders, धीमी जावास्क्रिप्ट में डोम का उपयोग है. डोम तत्वों की एक उच्च संख्या के कारण बुरा लेआउट डिजाइन किया जा सकता है. उदाहरण के लिए, नेस्टेड तालिका लेआउट प्रयोजनों के लिए किया गया हो सकता है इस्तेमाल किया. जहां समझ में आता है अर्थ की दृष्टि से किसी भी HTML टैग का उपयोग करें. उदाहरण के लेआउट के लिए donot उपयोग तालिकाओं के लिए, लेकिन donot संकोच करने के लिए उन्हें का उपयोग करें जहाँ आप तालिका डेटा प्रदर्शित करने के लिए है, और इसलिए डोम तत्वों को कम करने के लिए, तुलना में एक समान ही DIVs का उपयोग कर बनाई गई संरचना, का उपयोग करेगा ..

अपने HTML पृष्ठ में डोम तत्वों की संख्या का परीक्षण करने के लिए, बस Firebug कंसोल में निम्न लिखें: document.getElementsByTagName('*').length

वहाँ कितने डोम तत्व भी कई हैं के रूप में कोई निर्धारित मानक है. अन्य इसी तरह के पन्नों कि अच्छा markup.Eg है की जाँच करें. Yahoo! होम पेज एक बहुत व्यस्त पृष्ठ है और 700 अभी भी के तहत तत्वों (HTML टैग).


2008 जून 2 2008

उत्तम आचरण: AJAX का उपयोग करना

AJAX अनुरोध के लिए मिल का उपयोग

यह पाया गया है कि जब XMLHttpRequest का उपयोग कर, डाक ब्राउज़रों में एक दो कदम प्रक्रिया के रूप में कार्यान्वित किया जाता है: हेडर पहले भेजने, तो डेटा भेजने. तो यह सबसे अच्छा है, जो केवल एक TCP पैकेट भेजने के लेता है (जब तक आप कुकीज़ का एक बहुत कुछ है) का उपयोग करें. IE में अधिकतम यूआरएल लंबाई 2K है, इसलिए यदि आप अधिक 2K डेटा से भेजने के लिए आप प्राप्त का उपयोग करने में सक्षम नहीं हो सकता है.
एक दिलचस्प पहलू प्रभावित वास्तव में किसी भी डेटा प्राप्त की तरह बर्ताव करता है पोस्टिंग के बिना है कि पोस्ट है. जानकारी पुन: प्राप्त करने के लिए मतलब है, तो यह भावना (शब्दार्थ) प्राप्त का उपयोग करें जब आप केवल डेटा, के रूप में डाटा भेजने के सर्वर - साइड संग्रहीत किया जा करने के लिए विरोध का अनुरोध कर रहे हैं बनाता है.

तुल्यकालिक AJAX कॉल से बचें

"अजाक्स" अनुरोध करते हैं, तो आप या तो async या सिंक मोड चुन सकते हैं. Async मोड अनुरोध पृष्ठभूमि में चलाता है, जबकि अन्य ब्राउज़र गतिविधियों के लिए प्रक्रिया जारी रख सकते हैं. तुल्यकालित मोड जारी रखने से पहले वापस करने के लिए अनुरोध के लिए इंतजार करेंगे.
सिंक्रनाइज़ेशन मोड के साथ किए गए अनुरोध को बचा जाना चाहिए. इन अनुरोधों ब्राउज़र के कारण के लिए उपयोगकर्ता के लिए अनुरोध रिटर्न जब तक ताला जाएगा. मामलों में जहां सर्वर व्यस्त है और यह प्रतिक्रिया एक समय लेता है, उपयोगकर्ता के ब्राउज़र (और शायद ओएस) और कुछ भी करने के लिए किया जा अनुमति नहीं दी जाएगी. मामलों में जहां एक प्रतिक्रिया ठीक से कभी नहीं मिला है, ब्राउज़र ब्लॉक करने के लिए जारी रख सकते हैं जब तक अनुरोध समयबाह्य हो गई है.
यदि आपको लगता है कि अपनी स्थिति सिंक्रनाइज़ेशन मोड की आवश्यकता है, यह सबसे अधिक संभावना करने के लिए अपने डिजाइन फिर से लगता है कि समय है. बहुत कुछ (यदि कोई हो) स्थितियों वास्तव में सिंक्रनाइज़ेशन मोड में Ajax के अनुरोध की आवश्यकता होती है.


NDK घर | आईटी व्यक्त | व्यक्त तालु | व्यक्त Penmenship | श्रद्धा व्यक्त | अपने आप को व्यक्त