رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
لود بقیه سایت در صورت لود نشدن فایل جاوا اسکریپت
#1
سلام
من یک سایت دارم در اون از یک فایل اسکریپت از یک سایت دیگه استفاده کردم
بعضی اوقات سرور سایت سرویس دهنده مشکل پیدا میکنه و اون اسکریپت لود نمیشه . واسه همین سایت من نصفه لود میشه
نمیشه هم اسکریپت رو برد اخر چون میخوام وسط سفحه لودش کنم
کدی نیست که بهش فهموند اگر این لود نشد در این تایم بقیه رو لود کن
یا اینکه در اخر لود کنیم اما وسط سایت نتیجه نمایش داده بشه.
پاسخ
تشکر شده توسط:
#2
سلام
اگر از 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 آدرس فایل جاوااسکریپتتون رو قرار بدین
پاسخ
تشکر شده توسط: civilz
#3
سلام
ممنون بابت راه حل
اما من برای استفاده در قالب وردپرس میخوام و هیچکدوم لود نمیشه

کد:
<!-- 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>
پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 1 مهمان