پنجشنبه ۰۴ اردیبهشت ۱۴۰۴

Thursday, April 24, 2025 GMT +3:30

تنظیمات CSS مخصوص مرورگر اینترنت اکسپلورر

css-internet-explorer-if

به عنوان کاربر دنیای وب اغلب با مرورگرهای متفاوت به سایت ها و وبلاگ های مختلف سر می زنیم و بیش از هر چیز رسیدن به محتوای مورد نظر برایمان اهمیت دارد و کمتر به ظاهر سایت و وبلاگی که در حال بازدید از آن هستیم و اشکالات و ایرادات آن توجه داریم، فارغ از مسائل فنی مطلب را می خوانیم و در آخر هم صفحه را بسته و وبگاه را ترک می کنیم، اما در پشت صحنه کار برای مدیران حرفه ای وبسایت ها و وبلاگ ها داشتن قالبی استاندارد و اینکه همه کاربرانشان صرف نظر از مرورگری که استفاده می کنند بتوانند نتیجه تلاش آنها را به شکل واحدی مشاهده کنند اهمیت زیادی دارد، جالب است اگر بدانیم که مرورگرهای وب اگرچه از قوانین تقریبا مشترکی پیروی می کنند اما هر کدام در نحوه تفسیر این قوانین ساز خودشان را می نوازند و درست اینجاست که مشکل برای طراحان وب شروع می شود، هرچند در نسخه های به روزتر سازگاری مرورگرها و یکسان سازی آنها بیشتر و بیشتر می شود اما دردسر همیشگی طراحان یعنی مرورگر اینترنت اکسپلورر (Internet Explorer) در این بین سرآمد مرورگرهای غیر استاندارد و مشکل ساز است که به همین دلیل شرکت مایکروسافت (خالق و مالک این مرورگر) که گویا از شاهکار خود اطلاع داشته برای تنظیم استایل CSS مخصوص این مرورگر در نسخه های مختلف راهکارها و قابلیت هایی تحت عنوان پیام های شرطی (Conditional Comments) و هک های ویژه پیشنهاد داده است که به عنوان طراح وب بد نیست از آنها آگاهی داشته باشیم.

چرا باید تنظیمات مخصوص مرورگر اینترنت اکسپلورر را اعمال کنیم؟


شاید برایمان جای سوال باشد که چرا باید تنظیمات مخصوص مرورگر اینترنت اکسپلورر را در صفحه وب خود داشته باشیم؟
در پاسخ باید گفت که البته این کار همیشه هم ضروری نیست، اگر صفحه وب به خوبی در نسخه های مختلف مرورگر اینترنت اکسپلورر و سایر مرورگرها نمایش داده می شود و تمام عناصر آنطور که انتظار داریم سر جای خودشان هستند دیگر نیازی نیست تنظیمات جداگانه ای را اعمال کنیم، چرا که هدف از تنظیمات CSS مخصوص، در نظر گرفتن استایل سفارشی و سازگار کردن صفحه وب از لحاظ نمایش ظاهری و درست عمل کردن امکانات مبتنی بر CSS در نسخه های مختلف مرورگرها به شکل یکسان است، بر این اساس صرفا در حالتی که صفحه وب در برخی نسخه های مرورگرها آنطور که مد نظر داریم نمایش داده نشود و ایراداتی مانند جابجایی یا مخفی شدن عناصر مشاهده شود، راه حل متداول می تواند در نظر گرفتن استایل CSS مخصوص باشد.

برای تنظیم ویژگی های CSS خاص اکسپلورر، چه روش هایی وجود دارد؟


معمول ترین و متداول ترین روش تنظیم ویژگی های CSS خاص مرورگر اینترنت اکسپلورر استفاده از پیام های شرطی یا (Conditional Comments) است که در ادامه آموزش حاضر به طور مفصل در این رابطه خواهیم گفت، شیوه های دیگری تحت عنوان هک یا CSS Hack نیز وجود دارند که در واقع به معنی استفاده از علائم مخصوص در هنگام تعریف خاصیت های CSS است که صرفا توسط نسخه های خاصی از مرورگر اینترنت اکسپلورر پردازش می شود، این علائم برای سایر مرورگرها تاثیرگذار نیست و مفهوم خاصی را القاء نمی کند.

کدنویسی استایل CSS مخصوص مرورگر اینترنت اکسپلورر


برای کدنویسی استایل CSS مخصوص مرورگر اینترنت اکسپلورر ابتدا باید سایت، وبلاگ یا قالب طراحی شده را با برنامه هایی نظیر IETester که از آدرس www.my-debugbar.com قابل دریافت و نصب است بررسی کنیم، اگر موردی به نظرمان دچار ناسازگاری و ایراد بود سعی کنیم کلاس یا آی دی CSS مربوط به آن قسمت را پیدا کرده و پس از اعمال تغییرات در راستای سازگاری مد نظرمان نتیجه را دوباره امتحان کنیم و این روند را تا جایی که مشکل حل شود ادامه دهیم، به طور مثال ممکن است به فرض نمایش خاصیت border در یک نسخه از مرورگر دچار اشکال باشد و نیاز به اعمال استایل اختصاصی برای آن نسخه ضرورت داشته باشد در این صورت اگر استایل اصلی به این شکل باشد:
<style type="text/css">
.compatible {
    display: inline-block;
    width: 600px;
    height: 800px;
    border: 1px solid #000000;
    line-height: 22px;
}
</style>
در استایل اختصاصی کافی است صرفا قسمت مربوط به خاصیت border را بر اساس نیازمان تغییر دهیم:
<style type="text/css">
.compatible {
    border: 2px solid #000000;
}
</style>
حال تکه کد اختصاصی مربوط به هر نسخه از اکسپلورر که با آن کد مشکل در آن نسخه مخصوص حل می شود را ترجیحا درون یک فایل CSS دیگر کپی می کنیم (معمولا تنها کافی است کلاس یا آی دی مورد نظر را به همراه ویژگی هایی که خاص مرورگر اکسپلور است کپی کنیم) تا آن را با دستوراتی که در ادامه خواهیم گفت پس از فایل CSS اصلی در صفحه به طور جداگانه وارد نمائیم.
نکته 1: قبل از اعمال هر نوع تغییراتی باید از استایل CSS اصلی پشتیبان بگیریم، دقت کنیم که فایل CSS اصلی قالب، مبنای کار ما است و تا حد امکان هر قالب باید از یک فایل استایل واحد پیروی کند، به عبارتی در نظر گرفتن استایل اختصاصی باید در حداقل موارد و ترجیحا در فایل های مجزا بوده و پس از فایل CSS اصلی در صفحه درج شود تا قانون اولویت بندی خاصیت های مشابه در CSS به درستی رعایت شود.
نکته 2: عبارت IE مخفف Internet Explorer است.

پیام های شرطی در مرورگر اینترنت اکسپلورر


نخستین روش اعمال تنظیمات مخصوص مرورگر اکسپلورر استفاده از پیام های شرطی (Conditional Comments) است که در اکسپلورر با علائم خاصی با فرمت نمونه زیر تعریف می شود:
<!--[if IE]>
آدرس فایل استایل مخصوص مرورگر اینترنت اکسپلورر
<![endif]-->
توضیح:
- حالت معمول ایجاد پیام در صفحات HTML درج عبارات متنی بین علامت های <-- !--> است، همانطور که در نمونه فرمت بالا مشخص است این شرط ها نیز مبتنی بر همین قاعده هستند و عبارات دستوری if IE و endif به صورت پیام درج شده اند.
- علت درج دستورات شرطی به صورت پیام این است که سایر مرورگرها نسبت به آن بی تفاوت باشند و صرفا به عنوان پیام یادآوری متن را پردازش کنند و خروجی در صفحه چاپ نشود.
- با توجه به دستور [if IE] در نسخه های مرورگر اکسپلورر هر آنچه که مابین دو تگ پیام درج شده به صورت متن یا دستور عادی تفسیر می شود، در واقع مقادیر موجود در این شرط برای اینترنت اکسپلورر حالت پیام صرف ندارد و به شکل متن قابل استفاده است اما سایر مرورگرها با آن مشابه یک پیام معمولی در صفحات وب برخورد و پردازشی اجرا یا خروجی در صفحه چاپ نمی کنند.
- درون این شرط ها می توانیم هر عبارت یا کدی قرار دهیم و صرفا محدود به درج استایل CSS نیست، به طور مثال می توانیم به کاربر پیامی مبنی بر اینکه مرورگر او قدیمی و منسوخ شده است نمایش دهیم و بخواهیم که از مرورگر به روزتر دیگری استفاده کند:
<!--[if IE]>
کاربر گرامی لطفا از مرورگر دیگری به غیر از اینترنت اکسپلورر استفاده کنید!
<![endif]-->
- این پیام های شرطی باید بعد از استایل اصلی و پیش فرض قالب که مخصوص تمام مرورگرها است ترجیحا در قسمت هدر و بین تگ های head قرار گیرند.

تنظیمات مخصوص نسخه های مختلف مرورگر اینترنت اکسپلورر


در ادامه آموزش لیست تقریبا کاملی از تنظیمات استایل CSS مخصوص نسخه های مختلف مرورگر اینترنت اکسپلورر به همراه توضیحات آنها را درج کرده ایم.
درج استایل مخصوص مرورگر اینترنت اکسپلورر در صفحه (تمام نسخه ها)
<!--[if IE]>
<link href="style/ie.css" rel="stylesheet" type="text/css" media="screen">
<![endif]-->
توضیح:
- if به معنی اگر و IE مخفف اینترنت اکسپلورر (Internet Explorer) است.
درج استایل مخصوص مرورگر اینترنت اکسپلورر نسخه 6
<!--[if IE 6]>
<link href="style/ie6.css" rel="stylesheet" type="text/css" media="screen">
<![endif]-->
توضیح:
-در صورتی که استایلی در فایل ie6.css داشته باشیم خاصیت های آن در مرورگر اینترنت اکسپلورر نسخه 6 با خواص مشترک استایل اصلی جایگزین خواهند شد.
درج استایل مخصوص مرورگر اینترنت اکسپلورر نسخه 7
<!--[if IE 7]>
<link href="style/ie7.css" rel="stylesheet" type="text/css" media="screen">
<![endif]-->
درج استایل مخصوص مرورگر اینترنت اکسپلورر نسخه 8
<!--[if IE 8]>
<link href="style/ie8.css" rel="stylesheet" type="text/css" media="screen">
<![endif]-->
درج استایل مخصوص مرورگر اینترنت اکسپلورر نسخه 9
<!--[if IE 9]>
<link href="style/ie9.css" rel="stylesheet" type="text/css" media="screen">
<![endif]-->
درج استایل مخصوص مرورگر اینترنت اکسپلورر نسخه بالا تر از 6
<!--[if gt IE 6]>
<link href="style/gtie6.css" rel="stylesheet" type="text/css" media="screen">
<![endif]-->
توضیح:
- عبارت gt به معنی greater than یا بزرگتر از است.
درج استایل مخصوص مرورگر اینترنت اکسپلورر نسخه بالا تر از 7
<!--[if gt IE 7]>
<link href="style/gtie7.css" rel="stylesheet" type="text/css" media="screen">
<![endif]-->
درج استایل مخصوص مرورگر اینترنت اکسپلورر نسخه بالا تر از 8
<!--[if gt IE 8]>
<link href="style/gtie8.css" rel="stylesheet" type="text/css" media="screen">
<![endif]-->
درج استایل مخصوص مرورگر اینترنت اکسپلورر نسخه پائین تر از 7
<!--[if lt IE 7]>
<link href="style/ltie7.css" rel="stylesheet" type="text/css" media="screen">
<![endif]-->
توضیح:
- عبارت lt به معنی less than یا کوچکتر از است.
درج استایل مخصوص مرورگر اینترنت اکسپلورر نسخه پائین تر از 8
<!--[if lt IE 8]>
<link href="style/ltie8.css" rel="stylesheet" type="text/css" media="screen">
<![endif]-->
درج استایل مخصوص مرورگر اینترنت اکسپلورر نسخه پائین تر از 9
<!--[if lt IE 9]>
<link href="style/ltie9.css" rel="stylesheet" type="text/css" media="screen">
<![endif]-->
درج استایل مخصوص مرورگر اینترنت اکسپلورر نسخه 6 و بالا تر از 6
<!--[if gte IE 6]>
<link href="style/gteie6.css" rel="stylesheet" type="text/css" media="screen">
<![endif]-->
توضیح:
- عبارت gte به معنی greater than equal یا بزرگتر مساوی است.
درج استایل مخصوص مرورگر اینترنت اکسپلورر نسخه 7 و بالا تر از 7
<!--[if gte IE 7]>
<link href="style/gteie7.css" rel="stylesheet" type="text/css" media="screen">
<![endif]-->
درج استایل مخصوص مرورگر اینترنت اکسپلورر نسخه 8 و بالا تر از 8
<!--[if gte IE 8]>
<link href="style/gteie8.css" rel="stylesheet" type="text/css" media="screen">
<![endif]-->
درج استایل مخصوص مرورگر اینترنت اکسپلورر نسخه 7 و پائین تر از 7 
<!--[if lte IE 7]>
<link href="style/lteie7.css" rel="stylesheet" type="text/css" media="screen">
<![endif]-->
درج استایل مخصوص مرورگر اینترنت اکسپلورر نسخه 8 و پائین تر از 8
<!--[if lte IE 8]>
<link href="style/lteie8.css" rel="stylesheet" type="text/css" media="screen">
<![endif]-->
درج استایل مخصوص مرورگر اینترنت اکسپلورر نسخه 9 و پائین تر از 9
<!--[if lte IE 9]>
<link href="style/lteie9.css" rel="stylesheet" type="text/css" media="screen">
<![endif]-->
درج استایل برای حالتی که مرورگر کاربر اینترنت اکسپلورر نباشد
<!--[if !IE]>
<link href="style/notie.css" rel="stylesheet" type="text/css" media="screen">
<![endif]-->
توضیح:
- کاراکتر علامت تعجب (!) برای منفی سازی پیام شرطی استفاده می شود.

هک های مخصوص اینترنت اکسپلورر


علاوه بر روش های بالا در موارد خیلی خاصی می توان از حفره ها و اشکالات موجود در مرورگرها جهت مقاصد خیرخواهانه استفاده کرد!، از این نظر شاید وجود حفره در نرم افزارها همیشه هم بد نباشد هرچند بهتر است پدیدآورندگان برنامه ها زمان بیشتری برای رفع مشکلات اختصاص دهند تا کاربران مجبور به استفاده از این شیوه ها نشوند، در هر صورت اصطلاح هک CSS در مرورگرهای مختلف بی شباهت به مفهوم کلی هک که به طور معمول با آن آشنایی داریم نیست، به عبارتی در اینجا نیز از نقایص موجود در برنامه نویسی مرورگر استفاده می کنیم با این تفاوت که هدف ما صرفا تنظیم ظاهر صفحه وب و رفع مشکلات ناخواسته آن است، بحث هک در CSS جزئیات زیادی دارد به همین دلیل در این مطلب صرفا به ذکر چند نمونه اکتفا می کنیم، البته به یاد داشته باشیم در کل استفاده از هک CSS توصیه نمی شود چرا که بهتر است حتی المقدور بر سلکتورها و خاصیت های استاندارد CSS تکیه داشته باشیم از طرفی این هک ها در مرورگرهای مختلف که از به روز رسانی های متفاوتی استفاده می کنند، به شکل واحدی ممکن است پردازش نشوند.

هک با عبارت html+*


در این روش یک آی دی یا کلاس را هم به صورت عادی و هم با درج عبارت html+*  در ابتدا تعریف می کنیم، به عنوان مثال در نمونه کد زیر دو ویژگی متفاوت برای یک آی دی تعریف کرده ایم، قسمتی که عبارت html+* در ابتدای آن قرار دارد تنها در مرورگر IE 7 پردازش می شود.
<style type="text/css">
#my-id{
    border:#333 2px dotted;
}
*+html #my-id{
    border:#333 4px solid;
}
</style>

هک با زیر خط یا underline


روش هک زیر خط یا underline که عنوان دیگر آن underscore است برای هک نسخه های مختلف اینترنت اکسپلورر مخصوصا نسخه 6 کاربرد دارد، در این روش در همان آی دی یا کلاس هدف ویژگی مورد نظر را با یک زیرخط در ابتدا تعریف می کنیم.
<style type="text/css">
body{
    font-size:18px;
    font-family:Arial, Helvetica, sans-serif;
    _font-size:10px;
    _font-family:Tahoma, Geneva, sans-serif;
}
</style>

هک با استفاده از علامت ستاره *


روش هک با علامت ستاره * برای مرورگر اینترنت اکسپلورر نسخه 7 به پائین به کار می رود، در این روش برای عناصر خاص اکسپلورر یک ستاره در ابتدای آنها قرار می دهیم.
<style type="text/css">
.my-class{
    background-color:#CCC;
    *background-color:#0CC;
}
</style>

هک با قرار دادن عبارت 9\


این شیوه هک برای مرورگر اینترنت اکسپلورر نسخه 9 یا 8 و پائین تر به کار می رود، در این روش برای ویژگی خاص اکسپلورر عبارت 9\ را به انتهای خاصیت اضافه می کنیم.
<style type="text/css">
.my-class{
    background-color:#CCC;
    background-color:#0CC\9;
}
</style>
در پایان این آموزش یادآور می شویم که استفاده از استایل CSS مخصوص مرورگر اکسپلورر برای قالب صفحه وب تنها در شرایطی ضروری است که اشکال یا ایراد قابل توجهی در نسخه بخصوصی مشاهده شود، در غیر اینصورت بهتر است همواره از یک استایل استاندارد و واحد برای تمام مرورگرها استفاده کنیم.
دسته بندی: آموزش کاربردی » CSS
related مطالب بیشتر:
حذف اسکرول افقی (Horizontal Scroll) با CSS
تنظیم موقعیت در وسط و حذف حاشیه ها با CSS
مخفی کردن عناصر وب با CSS
آموزش استفاده از فونت فارسی در وب با CSS
ساخت بلاک شناور عمودی با CSS
دیدگاه
more ۲۴ دیدگاه برای این مطلب ارسال شده است.
more چینش دیدگاه ها به ترتیب از جدیدترین به قدیمی ترین است.
mahdi
۱۲:۱۳ ۱۳۹۹/۰۱/۰۴
سلام استاد عزیز ، عذر میخوام من سوال زیاد میپرسم ، میخواستم بدونم چه توی css و چه javascript ما ie8 رو در نظر بگیریم یا نه؟ منظورم اینه که این نسخه از مرورگر اونقدری کاربر داره که ما بخوایم بهش اهمیت بدیم؟ شما خودتون تو پروژه هاتون این نسخه رو در نظر میگیرید؟ آخه من هرچقدر پیش میرم میبینم که اکثر پشتیبانی ها از ie9 شروع میشه در صورتی که فکر میکردم فقط scc اینطوریه ولی جاوااسکریپت هم همینطوره ... ممنون میشم راهنماییم کنی
در پروژه های جدید خیر، در کل مرورگر اکسپلورر طبق آمارهای موجود خیلی درصد بالایی از استفاده کاربران را شامل نمی شود:
https://www.w3counter.com/globalstats.php
با این حال حداقل باید سازگاری امکانات را با نسخه 9 و مابعد تطبیق دهید، خوشبختانه در این خصوص هم در CSS و هم JavaScript راه حل هایی وجود دارد و در نسخه های جدیدتر، مرورگرها به سمت یکسان سازی استانداردها حرکت می کنند که این کار طراحان و برنامه نویسان وب را نسبت به قبل بسیار ساده تر می کند.
۱۳:۵۴ ۱۳۹۷/۰۲/۰۵
با سلام
ببخشید من کدهایی که در پروژه ام با جاوااسکریپت نوشتنم مثل اسلاید شو و تب بندی در مرورگر اکسپلورر کار نمیده خواستم علتش رو بپرسم
مرورگر اکسپلورر در نسخه های قدیمی دچار نواقص و اشکالاتی است، به همین دلیل معمولا نیاز به نوشتن کدهای اختصاصی است که باید برنامه نویس مربوطه جهت سازگاری ابزار با این نسخه ها کدهای جداگانه در نظر بگیرد، با توجه به اینکه در حال حاضر اغلب کاربران از نسخه های به روز و جدید استفاده می کنند شاید صرف زمان و انرژی برای این نسخه های قدیمی چندان توجیه منطقی هم نداشته باشد!
علی
۲۲:۵۳ ۱۳۹۵/۰۵/۲۲
سلاااام ؛
شما فوق العاده اید، متخصص و درجه یکید ... وقتی یه سوال تو کار برام پیش میاد و توی نت سرچ میکنم و دنبال جواب میگردم و توی جستجوی گوگل میبینم که شما هم در این مورد مقاله ای دارید بسیار خوشحال میشم اینو جدی میگم، چون مطمئن میشم که جوابمو تو مقاله های کاملتون پیدا میکنم. فقط خواستم بگم مدیونتونم اساتید عزیز و دلم کشید یه تشکر حسابی ازتون کنم . ممنون :)
نظر لطف شما است.
غریب
۰۸:۱۶ ۱۳۹۵/۰۴/۲۸
سلام عزیز
سوالی که بنده دارم اینه که ایا فقط استفاده کردن از هک اکسپلوره برای تعریف یک خاصیت کافیه ؟
یاباید اون خاصیت رو بنا به ساپورت اکسپلوره داد ؟
مثلا میشه این رو
border-radius: 15px;
با استفاده از هک قرار داد یا نه حتما بایداینجوری نوشت دوباره
-moz-border-radius: 15px ;
منظورم این هست که ایا میشه استایلهای معمولی رو با شیوه هک اکسپلوره برای این مرورگر هم خوانا کرد در همه مواردی که ساپورت نمیکنه یا نه
ممنون میشم راهنمایی کنید ممنون و خسته هم نباشید
هک هر مرورگر شیوه جداگانه ای دارد، لذا دستورات مورد استفاده برای مرورگر اکسپلورر نمی توانند برای سایر مرورگرها مورد استفاده قرار گیرند و برعکس، البته به لطف پیشرفت مرورگرها و برای نسخه های جدیدتر کمتر نیاز به استفاده از هک احساس می شود.
۱۳:۴۸ ۱۳۹۴/۰۳/۳۰
خیلی خیلی ممنونم
m0ri
۱۶:۵۸ ۱۳۹۳/۰۵/۰۳
ممنون از شما...
فقط یک نکته رو متوجه نشدم...
همون طور که میدونید اگه با جاوا بخوام باید این کد رو قبل از تگ
<heaed/>
قرار بدم تا اعمال شه...
حالا با دستور php که شما فرمودین... چجوریه؟
یعنی این کد کجا قرار داده میشه ؟
قالب وردپرس است ؟ این کد تو فایل فانکشن گذاشته میشه یا نه؟ ممنون میشم راهنمایی کنید...
برای PHP باید بر روی ساختار سیستم مدیریت محتوایی که از آن استفاده می کنید مسلط باشید، لطفا برای کسب اطلاعات بیشتر در این خصوص به انجمن های وردپرس مراجعه کنید.
m0ri
۱۵:۲۷ ۱۳۹۳/۰۴/۲۷
سلام.. خسته نباشید دوستان
با آرزوی قبولی طاعات و عبادات...
من در حال تکمیل یه قالب هستم که بروزه و این بروز بودن مشکلاتی رو تو IE برام بوجود میاره.. البته تا 8 اوکی کردم... ولی دیگه برا IE7 و IE 6 مکافاته... :(
حالا میخوام اگه کسی وبم رو با این مرورگرا یعنی 7 و 6 باز کرد... براش یه صفحه باز شه و بگه که بروزرسانی کن.. کلا میخوام برا این گروه وبم رو ببندم تا بروزرسانی کنن!
یه نمونه آنلاین هم براتون مثال میزنم که دقیق اون چیزی که میخوام تو ذهنتون تلاقی بشه...
این سایت
https://jomlak.com
رو نگاه کنید همه چی معلومه.. این سایت اومده وقتی مرورگر 8/7/6 و حتی IE 9 , و کلا مرورگر پایین اگه بخواد باهاش باز شه یه صفحه براش میاد که مرورگر شما به تاریخ پیوسته است و...
...که اگه IEtester ندارید تست کنید..من اون صفحه که میاد رو میذارم... این صفحه پایین :
https://jomlak.com/old
خیلی جاها رو خوندم اما به این نرسیدم.. قبلیا بیشتر یه Alert یا یک نوار بود... که اونم دقیق یاد نگرفتم..
حالا از شما استاد میخوام کمک کنید که بتونم مثل سایت بالا یعنی یه صفحه جدا.... دقیق مثل اون ، برای هر ورژن پایین IE ی ... که بخوام این اجرا شه...
و به طور مثال آدرس سایتم اینه :
www.ali.com
وقتی IE بود ورژن های پایین تر بشه :
www.ali.com/old
تو رو خدا کمکم کنید...که بتونم مثل سایت جملک درست کنم...
بازم ممنون ..
برای این کار ابتدا باید مرورگر و نسخه آن را تشخیص دهید، انجام این کار هم با جاوا اسکریپت و هم با PHP ممکن است، منتها استفاده از PHP ایمن تر است و تمام کاربران (چه آنهایی که جاوا اسکریپت در مرورگرشان فعال است و چه آنها که جاوا اسکریپت در مرورگرشان غیرفعال است) را شامل می شود،
با جاوا اسکریپت:
<!--[if IE]>
<script type="text/javascript">
window.location = "http://webgoo.ir";
</script>
<![endif]-->
در این روش می توانید با استفاده از دستورات شرطی نسخه مرورگر را نیز تشخیص دهید، با PHP:
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false) {
header('Location: http://webgoo.ir');
exit;
}
یک روش دیگر با PHP بر اساس نسخه مرورگر:
$browser = get_browser();
if($browser->browser == 'IE' && $browser->majorver <= 7) {
header('Location: http://webgoo.ir');
exit;
}
در روش آخر مرورگر IE نسخه 7 و ماقبل به آدرس تعیین شده منتقل می شوند.
معصومه هاشمی طاهری
۱۵:۵۶ ۱۳۹۳/۰۴/۱۲
سلام و خسته نباشید!
از این مطلب تون استفاده کردم. خیلی به دردم خورد.
خیلی ممنون
شکوفه
۲۳:۵۵ ۱۳۹۲/۱۲/۱۲
سلام ممنون از آموزشتان فقط در قسمت هک با قرار دادن عبارت 9/ بجای اسلش من بک اسلش گذاشتم تا جواب گرفتم
ممنون از توجه شما، آموزش اصلاح شد.
شکوفه
۱۳:۲۹ ۱۳۹۲/۱۲/۱۲
سلام ممنون از آموزشتان.سوالی که داشتم در مورد اجرا نشدن media query در اینترنت اکسپلورر است. چطور اجرا شود؟
ممنون اگر آموزش بدید
برای مرورگر اینترنت اکسپلورر متاتگ زیر را در صفحه وارد کنید:
<meta name="viewport" content="width=device-width, initial-scale=1.0">
همچنین برای پشتیبانی ورژن های پائین اکسپلورر (نسخه 8 و ماقبل) باید فایل js در صفحه خود داشته باشید:
<!--[if lt IE 9]>
<script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script>
<![endif]-->
۱۹:۵۰ ۱۳۹۲/۱۰/۰۷
تو مرورگری مثل اینترنت اکسپلورر برای اجرای جاوا اسکریپت باید اول قابلیت اجرای جاوا فعال بشه که این کار همون اول که کاربر سایت رو باز میکنه؛ پایین مرورگر یه پیام میده و از کاربر اجازه میگره برای باز شدن فایلهای جاوا اسکریپت. وقتی که با جاوا پیام میدیم که مرورگر رو عوض کن، یه بخشی از سایت باز میشه و اگر کاربر اجازه باز شدن اسکریپت رو بده. اگه نده که میشه قوز بالا قوز. نصف سایت باز میشه بدون اینکه فایل های جاوا اجرا شده باشن و پیامی دریافت کنه که مرورگر رو عوض کنه...!
این مشکل رو بررسی کنید لطفا مررررررررررررررررررررررسی
در پاسخ قبلی گفته شد: جاوا اسکریپت برای اینگونه موارد مناسب نیست، باید از یک زبان سمت سرور مانند PHP استفاده کنید (که در وبلاگ ها به دلیل عدم پشتیبانی از PHP این امکان وجود ندارد).
۱۶:۲۳ ۱۳۹۲/۱۰/۰۷
باز هم ممنون
۲۰:۱۸ ۱۳۹۲/۱۰/۰۶
لطفاً اگه میشه به سوال اون دوستمون که گفتن: اصلا اجازه ورود با مرورگر اینترنت اکسپلورر رو ندیدم، بدید
جاوا اسکریپت امکان محدود کردن کاربران را از این نظر ندارد (تنها در حدی که در پاسخ گفته شده و آن هم در صورت فعال بودن جاوا اسکریپت در مرورگر)، برای این کار باید از PHP استفاده کنید، مثال:
<?php
if(preg_match('/MSIE/i', $_SERVER['HTTP_USER_AGENT'])){
header("Location: http://webgoo.ir");
exit;
}
?>
سینا
۱۹:۳۹ ۱۳۹۲/۰۶/۲۸
با سلام وخسته نباشید، لازم دونستم یک نکته ی مهم رو متذکر بشم و اون اینه که برای یه شخص تازه کار مشکله که بدونه این تنظیمات در بین کدام استایل های css یا تگ های html به کار میرن! به نظرم بهتر بود با ذکر یک مثال یا پیش نمایش این موضوع رو شفاف تر می کردید. من نه تنها در سایت شما بلکه در هیچ کدوم از وب سایت های فارسی دیگه هم توضیح مناسبی ندیدم، لطفاً حداقل شما با دیگران متفاوت باشید!
اگر مطلب را مطالعه کرده باشید، در قسمتی ذکر شده:
"این پیام های شرطی باید بعد از استایل اصلی و پیش فرض (که مخصوص تمام مرورگرها است) ترجیحا در قسمت هدر و بین تگ های head قرار گیرند."
۲۳:۰۳ ۱۳۹۲/۰۴/۱۴
خیلی گلی داداش ممنون
more لطفا پیش از ارسال دیدگاه نکات زیر را مد نظر داشته باشید:
- به سوالات کلی، زمانبر، مبهم و مشکلاتی که تلاشی برای رفع آنها نکرده باشید پاسخ مختصر داده شده یا به بخش برنامه نویسی اختصاصی ارجاع داده می شوند.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین یا به صورت حساب موقت و آزمایشی قرار دهید تا امکان بررسی دقیق مشکل و خطایابی میسر باشد.
- تمام دیدگاه های ارسالی خوانده شده و برای هر کاربر مدت زمان لازم جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.



 refresh
10 × 10
4 × 3
20 × 20
=