برچسب <script> در اچ‌تی‌ام‌ال

از ویکی‌کد، دانشنامهٔ برنامه‌نویسی
پرش به ناوبری پرش به جستجو
یک اسکریپت سمت مشتری را تعریف می‌کند
معرفی شده در نسخهٔ:۳٫۲
حذف شده در نسخهٔ: هنوز در حال استفاده است
ویژگی‌های مجاز:به پائین مراجعه کنید
تنظیمات پیش‌فرض CSS:display: none;

{{منو اسکرول چپ|نام منو={{مرجع منو اچ‌تی‌ام‌ال|expanded=مرجع}}}}

مثال

«Hello JavaScript!» را با جاوااسکریپت بنویسید:

<script>
document.getElementById("demo").innerHTML = "Hello JavaScript!";
</script>

تعریف و کاربرد

از برچسب <script> برای تعریف یک اسکریپت سمت مشتری (جاوااسکریپت) استفاده کنید.[۱]

عنصر <script> یا حاوی متن اسکریپت است، یا به یک فایل اسکریپت خارجی از طریق ویژگی src اشاره دارد.

کاربردهای رایج برای جاوااسکریپت، دستکاری تصویر، اعتبارسنجی فرم، و تغییرات پویا در محتوا است.

نکته: اگر می‌خواهید جاوااسکریپت را یاد بگیرید، از آموزش جاوااسکریپت ما بازدید کنید.

پشتیبانی مرورگر

عنصر Chrome Internet Explorer / Edge Firefox Safari Opera
<script> بله بله بله بله بله

نکات و ملاحظات

توجه: اگر ویژگی «src» موجود باشد، عنصر <script> باید خالی باشد.

نکته: همچنین به عنصر <noscript> نگاهی بیاندازید که برای کاربرانی است که اسکریپت‌ها را در مرورگرشان غیرفعال کرده‌اند، یا مرورگری دارند که از اسکریپت‌های سمت مشتری پشتیبانی نمی‌کند.

توجه: چندین راه برای اجرای یک اسکریپت خارجی وجود دارد.

  • اگر async="async": اسکریپت بصورت ناهمگام (asynchronously) با بقیهٔ صفحه اجرا می‌شود (اسکریپت هنگامی که صفحه به تجزیه ادامه می‌دهد اجرا خواهد شد)
  • اگر async موجود نباشد و defer="defer" باشد: اسکریپت هنگامی اجرا می‌شود که صفحه تجزیه را به پایان رسانده‌است
  • اگر هیچ‌کدام از async یا defer موجود نباشند: اسکریپت واکشی شده و بلافاصله اجرا می‌شود، قبل از آنکه مرورگر به کار تجزیهٔ صفحه ادامه دهد

تفاوت‌های بین HTML و XHTML

در XHTML محتوای درون اسکریپت‌ها بعنوان #PCDATA (به جای CDATA) اعلان می‌شود، که یعنی موجودیت‌ها تجزیه خواهند شد.

این یعنی اینکه در XHTML، همهٔ کاراکترهای خاص باید رمزگذاری شوند، یا همهٔ محتوا باید درون یک بخش CDATA پیچیده شود:

<script type="text/javascript">
//<![CDATA[
var i = 10;
if (i < 5) {
  // some code
}
//]]&gt;
</script>


ویژگی‌ها

ویژگی مقدار شرح
async async مشخص می‌کند که اسکریپت بصورت ناهمگام (asynchronously) اجرا شده‌است (فقط برای اسکریپت‌های خارجی)
charset charset رمزگذاری کاراکترها را آنطور که در فایل اسکریپت خارجی استفاده شده مشخص می‌کند
defer defer مشخص می‌کند که اسکریپت باید وقتی که صفحه تجزیه را به اتمام رساند، اجرا شود (فقط برای اسکریپت‌های خارجی)
src URL URL یک فایل اسکریپت خارجی را مشخص می‌کند
type media_type نوع رسانهٔ (مدیای) اسکریپت را مشخص می‌کند

ویژگی‌های سراسری

همچنین برچسب <script> از ویژگی‌های سراسری (Global Attributes) در اچ‌تی‌ام‌ال پشتیبانی می‌کند.

صفحات مرتبط

آموزش اچ‌تی‌ام‌ال: اسکریپت‌های اچ‌تی‌ام‌ال (HTML Scripts)

مرجع DOM اچ‌تی‌ام‌ال: شی Script (Script Object)

آموزش جاوااسکریپت: جاوااسکریپت را بیاموزید

تنظیمات پیش‌فرض CSS

بیشتر مرورگرها، عنصر <script> را با مقادیر پیش‌فرض زیر نمایش می‌دهند:

script {
  display: none;
}


منابع آموزشی