תיאור: אוסף של מאפיינים המייצגים את תכונות הדפדפן או באגים שונים.
jQuery.support
הוספה בגרסה: 1.3
מצורף ב jQuery 1.3 . אוסף של מאפיינים המייצגים את נוכחות של תכונות בדפדפן אחר או באגים.
jQuery מגיע עם מספר מאפייני כלל, תרגישו חופשי להוסיף משלכם. רבים ממאפיינים אלה הם ברמה די נמוכה כל כך ספק אם הם יהיו שימושיים בפיתוח יום יומי,הם בעיקר בשימוש על ידי מפתחי תוספים ומפתחי הליבה.
את הערכים של כל המאפייני תמיכה נקבעים באמצעות תכונת זיהוי (ואל תשתמשו בכל סוג של דפדפן מרחרח). יש כמה מקורות מצוינים להסביר איך התכונה פועלת לאיתור:
- http://peter.michaux.ca/articles/feature-detection-state-of-the-art-browser-scripting
- http://yura.thinkweb2.com/cft/
- http://www.jibbering.com/faq/faq_notes/not_browser_detect.html
הבדיקות הכלולות ב- jQuery.support הם כדלקמן:
ajaxמוגדר כי true אם הדפדפן מסוגל ליצור אובייקטXMLHttpRequest.boxModelמוגדר כי true אם הדף מעובד בהתאם ל-W3C CSS Box Model (כרגע מוגדר כי false ב- IE 6 ו- 7 כשה הוא במצב Quirks Mode). מאפיין הזה הוא רייק עד שהמסמך לא נטען.changeBubblesמוגדר כי true אם האירוע מבעבע עץ DOM מעלה, תואם לדרישות של W3C DOM event model. (כרגע מוגדר כי false ב-IE, ו-jQuery מדמה מבעבע).checkCloneשווה ל- true אם דפדפן משבט נכון את מצב של כפתורי רדיו או תיבות סימון בחלקי המסמך.checkOnמוגדר כי true אם ערך של תיבת סימון בברירית מחדל הוא "on", כאשר לא מוגדר הערך.corsמוגדר כי true אם דפדפן יכול ליצור אובייקטXMLHttpRequestואם לאובייקטXMLHttpRequestיש תכונהwithCredentials. כדי לאפשר בקשות בין הדומיינים, שעדיין לא תומכים ב-cors, אבל מאפשרים בקשות XHR בין הדומיינים (הגאדג'ט של windows, וכו'), תגדירו$.support.cors = true;.CORS WDcssFloatמוגדר כי true אם שם של המאפיין המכיל ערך float של CSS הוא.cssFloat, כמו שמוגדר ב- CSS Spec. (כרגע מוגדר כי false ב- IE, הוא משתמש ב- styleFloat במקום זה).hrefNormalizedמוגדר כי true אם השיטה.getAttribute()מחזירה תכונהhrefשל אלמנטים ללא שינוי, ולא נרמול לכתובת URL מלאה. (כרגע מוגדר כי false ב- IE, כתובות URL הן מנורמלות).
htmlSerializeשווה ל- true אם הדפדפן מסוגל להכניס אלמנטים<link>באמצעות תכונה.innerHTMLשל אלמנטים. (כרגע לא נתמך ב-IE).
leadingWhitespaceמוגדר כי true אם דפדפן מכניס תוכן באמצעות.innerHTMLבדיוק כפי שנקבע במפורש, אם רווחים המובילים נשמרים. (כרגע מוגדר כי false ב- IE 6-8).noCloneCheckedמוגדר כי true אם אלמנטים DOM משובטים מעטיקים מצב.checked. (כרגע מוגדר כי false ב- IE). (אוסף ב- jQuery 1.5.1)noCloneEventמוגדר כי true אם אלמנטים DOM משובטים נוצרים ללא מטפלי אירוע (כלומר אם מטפל אירוע על אלמנט מקור לא משובט). (כרגע מוגדר כי false ב- IE).opacityמוגדר כי true אם דפדפן יכול לפרש כהלכה את המאפיין סגנון opacity. (כרגע מוגדר כי false ב- IE, שם בשימוש מסנני alpha במקום).optDisabledמוגדר כי true אם אלמנטים option בתוך אלמנט select הלא זמין מסומנים אוטומטית כי לא זמינים.optSelectedמוגדר כי true אם אלמנט<option>המסומן בברירת מחדל מכיל מאפייןselectedשעובד.scriptEval()מוגדר כי true אם סקריפטים מובנים מוערכים אוטומטית ומתבצעים, כאשר מוכנסים בתוך המסמך, באמצעות שיטות מניפולציות סטנדרטיות של DOM, כגון.appendChild()ו-.createTextNode(). (כרגע מוגדר כי false ב- IE, הוא משתמש ב-.textכדי להכניס סקריפטים להפעלה).הערה: לפני jQuery 1.5.1, שיטהscriptEval()הכילה מאפיין סטטיscriptEval. שינוים בשיטה מאפשרים לדחות בדיקה עד לשימוש ראשון.styleמוגדר כי true אם לסגנון מובנה עבור אלמנט ניתן לגשת דרך תכונת DOM הנקראת style, כנדרש על ידי מפרט DOM של רמה 2. במקרה הזה,.getAttribute('style')יכול לאחזר ערך זה; ב- Internet Explorer,.cssTextמשתמש למטרה הזו.submitBubblesמוגדר כי true אם שליחת אירוע בועות למעלה בעץ DOM, כנדרש על ידי W3C DOM event model. (כרגע מוגדר כי false ב- IE, ו- jQuery מדמה מבעבע).
tbodyמוגדר כי true אם אלמנט רייק<table>יכול להתקיים ללא אלמנט<tbody>. על פי מפרט HTML, תת-אלמנט הזה הוא אופציונלי, אז מאפיין צריך להיות true בדפדפנים התואמים מלא. אם false, אנו צריכים לקחת בחשבון את האפשרות של דפדפן להכניס תגים. (כגרגע מוגדר כי false ב- IE, שמכניס אוטומטיתtbodyאם הוא לא קיים במחרוזתinnerHTML).
דוגמאות
מחזיר מחזירה את המודל עבור תיבת iframe.
$("p").html("This frame uses the W3C box model: <span>" +
jQuery.support.boxModel + "</span>");
קוד מלא:
<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript" language="javascript"> $(document).ready(function(){ $("p").html("This frame uses the W3C box model: <span>" + jQuery.support.boxModel + "</span>"); }); </script> <style> p { color:blue; margin:20px; } span { color:red; } </style> </head> <body> <p> </p> </body> </html>
דוגמה 2
מחזיר false, אם דף במצב QuirksMode ב- Internet Explorer.Query.support.boxModel
false
האם מידע זה היה מועיל?

