PDA

View Full Version : مشکل با محل قرار دادن کدهای جاوا اسکریپت



css-man
یک شنبه 17 شهریور 1392, 22:33 عصر
دوستان من یه تابع دارم که داخل یک فایل دیگه تعریف شده
وقتی این فایل رو اینکلود میکنم به صفحه html به مشلک بر میخورم
اگر دستور
<script type="text/javascript" src="js/script.js"></script>
پائین صفحهع html باشه درست کار میکنه
اما اگر بالا ی صفحه باشه تابع من اصلا کار نمی کنه

محل قرار گیری این کدها مهمه؟

2undercover
دوشنبه 18 شهریور 1392, 05:33 صبح
مشکل اینحاست که وقتی شما ابتدای صفحه (یا توی تگ head) کد های JS رو قرار بدید و توی کدهاتون از درخت DOM استفاده کرده باشید (یعنی از عناصر تگ body) چون مرورگر بلافاصله که کد های JS رو لود می کنه , اون هارو اجرا می کنه و چون کد های شما بالا ی صفحه است پس در نتیجه هنوز اجزای تگ body بارگذاری نشدند , مرورگر به مشکل می خوره.

به همین خاطر یا باید کد هارو در انتهای تگ body بزارید (یا بعد از عناصری که توی JS ازشون استفاده کردید) یا هم تمام کد هاتون رو توی رویداد window.onload یا توی jQuery با رویداد ready از شئ $(document)