2008 20 יוני 2008

שטח באג לבן ליין / רשימת פריטים (Li) ב IE6

אם ביצעת אי פעם (או עושה 1) תפריט אנכי באמצעות פריטי הרשימה (li) תגיות CSS, אתה עשוי להיתקל, זה עוד באג ב-Internet Explorer, שם 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>

אתה יכול ליצור כמה CSS, דומה לזה בהמשך, כדי transfrom סימון מעל לתוך התפריט האנכי ....

מדגם CSS ...
# התפריט {
שולי: 0; padding: 0; הרקע: # FF9900;
רשימת בסגנון מסוג: ללא; רוחב: 150px;
}
# בתפריט li {שולי: 0; padding: 0;}
# התפריט {תצוגה: לחסום;
color: # 555555;
text-decoration: none;
padding: 0 15px;
קו גובה: 2.5, הגבול התחתון: מוצק 1px # fff;
}

את התוצאות תוכלו לראות ...
בטל

פתרון הבאג הזה ... (שונה הוסיף / CSS בכתב נטוי מודגש)

# התפריט {
שולי: 0; padding: 0; הרקע: # FF9900; רשימת בסגנון מסוג: ללא; רוחב: 150px;
float: עזבו: / * זה מכיל פריטי רשימה ריחפו * /
}
# בתפריט li {
שולי: 0; padding: 0;
לצוף: עזבו; / * זה מתקן את * /
רוחב: 100%; / * רווח לבן באג ב IE6 * /
}
# התפריט {
לחסום; צבע:: הצגה # 555555;
text-decoration: none;
padding: 0 15px;
קו גובה: 2.5, הגבול התחתון: מוצק 1px # fff;
}

אם doesnot הפתרון הנ"ל נראה לעבוד (מסיבות הידועות רק IE6) ... תנסה בשיטה זו במקום

רק להוסיף סגנונות נוספים רק כדי IE6 סימון שלך ...

<- [אם lt IE 7>
<style type="text/css">
# בתפריט li {display: inline-block;}
# בתפריט li {display: block;}
</ Style>
<[Endif] ->


2008 6 יוני, 2008

שיטות עבודה מומלצות: לשמור על מספר קטן של אלמנטים DOM

עוד על אלמנטים DOM בדף, זה הופך איטי יותר, איטי יותר היא גישה של DOM ב JavaScript. מספר גבוה של אלמנטים DOM יכול להיות פריסת בשל עיצוב רע. לדוגמה, טבלאות מקוננות אולי למטרות פריסה. השתמש בכל תג HTML שבו הוא הגיוני מבחינה סמנטית. עבור למשל שולחנות DONOT שימוש עבור פריסות, אבל DONOT תהססו להשתמש בהם שבו אתה צריך להציג נתונים טבלאיים, ולכן ישתמשו לצמצם אלמנטים DOM, לעומת זאת, למבנה דומה שנוצרו באמצעות divs בלבד ..

כדי לבדוק את מספר אלמנטים DOM של דף ה-HTML, פשוט הקלד את השורה הבאה במסוף של Firebug: document.getElementsByTagName('*').length

אין תקן כאמור על כמה אלמנטים DOM יותר מדי. בדוק דפים דומים אחרים שיש להם markup.Eg טוב. דף הבית יאהו הוא דף די עסוק, ועדיין תחת 700 אלמנטים (תגי HTML).


2008 2 יוני 2008

שיטות עבודה מומלצות: שימוש ב-AJAX

השתמש קבל לבקשות AJAX,

זה נמצא כי בעת שימוש XMLHttpRequest, POST מיושם בדפדפנים את תהליך בן שני שלבים: לשלוח את הכותרות תחילה, ואחר כך שליחת הנתונים. כך שעדיף להשתמש GET, אשר לוקח רק 1 חבילת TCP לשלוח (אלא אם כן יש לך הרבה עוגיות). אורך כתובת האתר המקסימלי ב-IE הוא 2k, כך שאם אתה שולח יותר נתונים 2K ייתכן שלא תוכל להשתמש GET.
השפעה הצד המעניין הוא POST מבלי פרסום כל הנתונים מתנהג כמו GET. מקבל הוא מיועד אחזור מידע, אז זה הגיוני (סמנטי) להשתמש מקבל כאשר אתה רק מבקש נתונים, בניגוד שליחת הנתונים יאוחסנו בצד השרת.

הימנע סינכרוני שיחות AJAX,

בעת ביצוע "אייאקס" בקשות, אתה יכול לבחור סינכרוני או מצב סינכרון. סינכרוני במצב פועל בקשה ברקע בזמן הפעילות דפדפן אחר יכול להמשיך לעבד. סינכרון מצב תמתין בבקשה לחזור לפני שתמשיך.
בקשות עם מצב סינכרון יש להימנע. בקשות אלה יגרמו הדפדפן לנעול למשתמש עד שב בקשה. במקרים בהם שרת עסוק ותגובה לוקח זמן, הדפדפן של המשתמש (ואולי מערכת ההפעלה) לא יאפשר שום דבר אחר לעשות. במקרים בהם התגובה לא תתקבל לעולם, כמו שצריך, הדפדפן עשוי להמשיך לחסום עד הבקשה שהוקצב.
אם אתה חושב שהמצב שלך מחייב מצב סינכרון, הגיע הזמן כנראה לחשוב מחדש על העיצוב שלך. מצבים מעט מאוד (אם בכלל) בעצם דורשים בקשות אייאקס במצב סינכרון.


NDK הבית | הבעת IT | חך הבעת | Penmenship הבעת | הנוראים הבעת | לבטא את עצמי