hack -ים לזהות אינטרנט אקספלוור IE
לפעמים אנחנו רוצים לזהות גרסה של דפדפן של משתמש לרוב רוצים לזהות אם הדפדפן הוא ie שהוא עושה את רוב הבלאגן ולשנות לו כמה דברים כדי שהאלמנטים בדף יוצגו טוב
יש המון דרכים לעשות את זה js php אבל אני רוצה להציג דרך אחרת ב css שעושה את זה זה נקרא האקים
ואח"כ נראה גם עוד דרכים ב js.
כל מיני שינויים ב css שגורמים לכך שדפדפנים אחרים לא יוכלו לקרא את העיצוב אבל ie משום מה קורה, לא יודע אם המפתחים של הדפדפן התכוונו שזה יקרה אבל העיקר שזה פועל וזה פועל לטובתנו.
מזהה אינטרנט אקספלוור 9,10,11
@media screen and (min-width:0\0) {
/* Enter CSS here */
}
מזהה רק גירסה של אינטרנט אקספלוור 10
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
/* IE10+ CSS here */
}
עוד שיטה לזהות את גירסה 10 ב css
@media all and (-ms-high-contrast: none) {
...
}
כמובן יש את השיטה הפופולארית בדר"כ מוסיפים עוד קובץ css רק ל ie ומשתמשים בזה
<!--[if lt IE 7 ]> <html class="ie6"> <![endif]--> <!--[if IE 7 ]> <html class="ie7"> <![endif]--> <!--[if IE 8 ]> <html class="ie8"> <![endif]--> <!--[if IE 9 ]> <html class="ie9"> <![endif]--> <!--[if (gt IE 11)|!(IE)]><!--> <html> <!--<![endif]-->
אפשר גם ב js לזהות אינטרנט אקספלוור
מזהה גירסה 10
if ("onpropertychange" in document && !!window.matchMedia) {
...
}
עוד שיטה לזהות ie ב js ישנה פונקציה שנקראת clipboardData שהיא נמצאת רק ב ie
<script type="text/javascript">
if (window.clipboardData)
alert("You are using IE!");
</script>