مخفی کردن اسکریپت ها از مرورگر های خارجی چگونه انجام میگیرد ؟
مخفی کردن اسکریپت ها از مرورگر های خارجی چگونه انجام میگیرد ؟
مخفی کردن اسکریپت ها از مرورگر های خارجی چگونه انجام میگیرد ؟
هنوز کاربران زیادي وجود دارند که از مرورگرهایی استفاده می کنند که با جاوااسکریپت ناسازگار هستند. از آن مهمتر ، تعدادي از کاربران گزینه پشتیبانی از جاوااسکریپت را در مرورگر خود غیر فعال کرده اند. از آنجایی که مرورگرهاي قدیمی تگ <script> را نمی شناسند و نمی توانند آن را تفسیر نمایند در اکثر موارد به جاي تفسیر اسکریپت ، متن آن را در صفحه نمایش می دهند.
براي جلوگیري از این مشکل، می توان اسکریپت ها را در داخل توضیحات HTML قرار داد. با این کار مرورگرهاي قدیمی آن را نادیده گرفته و نمایش نخواهند داد. از طرف دیگر مرورگرهاي جدید می دانند که دستورات توضیحی که در بین دستورات آغازین و پایانی <script>منظور شده اند تنها براي مخفی کردن اسکریپت از دید مرورگرهاي قدیمی تر است و لذا به تفسیر اسکریپت ادامه می دهند. همان طور که می دانید براي نوشتن یک توضیح در سند HTML کافی است علامت –!> را در ابتدا و علامت <– را در انتهاي آن قرار دهید. به مثال زیر دقت کنید:
<script language=”JavaScript”><!– hide from older browsers
function sayHi() {
alert(“Hi”);
}
//–>
به دو کاراکتر / که در انتهاي دستور فوق آمده دقت کنید. این دو / براي جلوگیري از این که مفسر مرورگرهاي سازگاز با جاوااسکریپت، عبارت <– را به عنوان یک دستور جاوااسکریپت تفسیر نکند استفاده شده است. عدم استفاده از این دو / موجب ایجاد یک خطا خواهد شد. روش مخفی کردن اسکریپت ها از مرورگرهاي ناسازگار با جاوااسکریپت را فرا گرفتیم. اما چگونه می توان براي کاربرانی که از این مرورگرها استفاده می کنند نیز مطلب جایگزینی نمایش داد؟ براي این کار باید از تگی به نام <noscript> استفاده کنیم. مرورگرهاي سازگار هر چیزي را که بین دستورات آغازین و پایانی <noscript> قرار داشته باشد ، نادیده می گیرند. از طرف دیگر مرورگرهاي قدیمی این دستور را نمی شناسند و بنابراین آنرا نادیده گرفته و به سراغ دستورات بعدي (که توسط این دستور احاطه شده اند) می روند. به مثال زیر توجه کنید:
<html>
<head>
<title>Title of Page</title>
<script language=”JavaScript”>
function sayHi() {
alert(“Hi”);
}
</script>
</head>
<body>
<script language=”JavaScript”>
sayHi();
</script>
<noscript>
<p>Your browser doesn’t support JavaScript. If it did
support JavaScript, you would see this message: Hi!</p>
</noscript>
<p>This is the first text the user will see if JavaScript is
enabled. If
JavaScript is disabled this is the second text the user will see.</p>
</body>
</html>
منبع : انجمن علمی مهندسی فناوری اطلاعات دانشگاه پیام نور مرکز اران و بید گل
برای اموزش های ویدیویی زبان جاوا اسکریپت به بستر ویدیو های اموزشی بروید