Object doesn't support this property or method

10 ביולי 2012

בפוסט הזה סיפרתי מי הם הדפדפנים התומכים בגישה ישירה ל – id של אלמנט בלי להשתמש בפונקציית getElementById.

בפוסט הזה סיפרתי למה לא כדאי להשתמש ב – javascript במשתנים ללא הגדרה של var.

כעת נראה עוד סיבה טובה לזה.

נסתכל על הקוד הבא:

<head>

    <script>

        onload = function () {

            count = 3;

            alert(count);

        }

    </script>

</head>

<body>

    <input type="text" id="count" />

</body>

בכל הדפדפנים המתקדמים זה אכן יציג alert עם הערך 3.

אך ב – Internet Explorer 8 נקבל הודעת שגיאה Object doesn't support this property or method, מכיוון שהמשתנה count מזוהה למעשה כאלמנט שמוגדר בעמוד ואי אפשר לתת לו את הערך 3.

אמנם ב – Internet Explorer 9 כבר תיקנו את הבאג (כלומר כמו בכרום הם מזהים שבמקרה זה מדובר במשתנה) אך אם אתם צריכים תמיכה אחורה, הפתרון הפשוט יהיה להגדיר את count עם ההגדרה var לפני.

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *