سلام
من یک سایت دارم در اون از یک فایل اسکریپت از یک سایت دیگه استفاده کردم
بعضی اوقات سرور سایت سرویس دهنده مشکل پیدا میکنه و اون اسکریپت لود نمیشه . واسه همین سایت من نصفه لود میشه
نمیشه هم اسکریپت رو برد اخر چون میخوام وسط سفحه لودش کنم
کدی نیست که بهش فهموند اگر این لود نشد در این تایم بقیه رو لود کن
یا اینکه در اخر لود کنیم اما وسط سایت نتیجه نمایش داده بشه.
سلام
اگر از Jquery استفاده می کنی:
<script>
$(document).ready(function() {
$.getScript("/path/to/imported/script");
});
</script>
تابع
$( document ).ready() دستورات رو وقتی اجرا می کنه که HTML صفحه به طور کامل لود شده باشه
و آنگاه با
getScript فایل جاوااسکریپت رو بارگزاری می کنیم.
با جاوا اسکریپت خالص نیز بدین نحو:
<script>
window.onload = function () {
var imported = document.createElement('script');
imported.src = '/path/to/imported/script';
document.head.appendChild(imported);
}
</script>
تابع window.onload وقتی کد را اجرا می کنه که HTML صفحه به طور کامل بارگزاری شده باشه
window.onload = function ()
{
Javascript code goes here
}
کد ها رو تست هم کردم کار کرد و بی ایراد هست.
با روشهای بالا سرعت لود شدن صفحه شما بخاطر تاخیر سرور فایل js کند نمیشه
در صورتی هم که اصلا لود نشه مشکلی پیش نمیاد در ظاهر سایت و ارور در کنسول جاوااسکریپت نمایش داده میشه
بجای /path/to/imported/script آدرس فایل جاوااسکریپتتون رو قرار بدین
سلام
ممنون بابت راه حل
اما من برای استفاده در قالب وردپرس میخوام و هیچکدوم لود نمیشه
کد:
<!-- BEGIN of Ifnam.com widget HTML -->
<script>
$(document).ready(function() {
$.getScript('"http://ifnam.com/widget_loader?u=widget_topPlayers&item=38&w=300&h=520&c=ffffff"');
});
</script>
<!-- END of Ifnam.com widget HTML -->
کد:
<script>
window.onload = function () {
var imported = document.createElement('script');
imported.src = 'http://ifnam.com/widget_loader?u=widget_topPlayers&item=38&w=300&h=520&c=ffffff" type="text/javascript" language="javascript"';
document.head.appendChild(imported);
}
</script>