August 1, 2004
document.all על מה המהומה.
בבאגזילה של מוזילה נוצר דיון האם לתמוך ב document.all. התפתח דיון מענין האם יש להוסיף הוספה לא תיקנית במחיר תמיכה ביותר אתרים.פקודת document.all נוצרה על ידי מיקרוסופט, לפני שאירגון w3c תקנן את סטנדרט DOM (קיצור ל-document object model-תבנית עצם מסמך (בתרגום חופשי)) לשימוש בשפת סקריפטים בדפדפנים. מיקרוסופט שניסתה להדביק את הפער בינה לבין נטסקייפ יצרה את שפת JScript שפה דומה ל JavaScript הפופולרית שדפדפן נטסקייפ השתמש. ויצרה את document.all בשביל לאזכר אלמנטים בכתובת הזיהוי שלהם.
הרבה אתרים עדין משתמשים בזה למעלה מ5 שנים אחרי שטנדרט DOM יצא לשוק בתור סטנטרנט קובע ומוכר. ואף עדיין הרבה אתרי לימוד עדיין מלמדים תכנות בשיטה הזאת.
הבעיה ב-document.all,מאחר וזאת הוספה של שפת JScript בלבד, כל דפדפן אחר שמשתמש בשפת JavaScript או בכל מודל אחר לא יכיר בהוספה הזאת. שזה יצריך כתיבה קוד לכל דפדן, או שבכלל זה יחסום משתמשים מלצפות באתר במידה והם גולשים בדפדפן שלא תומך ב-JScript דפדנים כדוגמת מוזילה נטסקייפ קונקי ועוד. לעומת זה השימוש בפקודה התיקנית של סטנדרט DOM פקודת document.getElementById תעבוד בתיאמות מקסימלית בכל הדפדפנים המתקדמים ואף תחסוך למפתחים בעיות בעתיד.
קרן מוזילה החליטה לשלב את התמיכה ב-document.all בגירסות הבאות של הקרן פיירפוקס 1.0 ומוזילה. התמיכה היא הוספה ב-IE-DOM שזה הוספה לא תיקנית.
במוזילה הנושא הזה הפך לאבן מחלוקת של תאימות תקנים מול קהל המשתמשים.
הדיעות חלוקות הסיבות להוספת התקן מאחר והרבה אתרים עדיין משתמשים בקוד הלא תקני הזה הדבר חוסם ממשתמשי מוזילה לצפות באתרים שמשתמשים ב document.all.
ומול הסיבה הזאת עומדות מספר סיבות שמצדדים קבוצת הנגד, להלן מספר סיבות למה זה לא דבר חיובי להוסיף תמיכה ב document.all.
הסיבה המרכזית מאחר שקרן מוזילה מחויב לעמוד בתקנים לא יתכן מצב שבו הקרן תכיר בתקנים מיקרוסופים שגוים ולשלב אותם בדפדן.
הרבה חברות ארגונים ואף אנשים פרטים השקיעו כסף ומאמץ לשידרוג האתרים שלהם בעמידה בתקנים, עכשיו שיש הכרה בIE-DOM מה הטעם בהשקעה?
האנשים ימשיכו להשתמש ב document.all אם כך מה שוה הרעיון של עמידה בתקנים, ברגע שנותנים פריבילגיה לקוד קלוקל.
תמיכה בIE-DOM יצריך עוד משאבים כפולים של עוד מתכנתים, בדיקת QA, ואף קוד גדול יותר.
Posted 4 years, 9 months ago on August 1, 2004
