PDA

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



picpars
سه شنبه 26 اردیبهشت 1391, 10:51 صبح
با سلام خدمت دوستان

من میخوام بعد از اینکه صفحه html کامل لود شد یک اسکریپت خاص اجرا بشه مثلا:
<script type="text/javascript" src="http://link"></script>
فرض کنید اسکریپت بالا یک کد تبلیغاتی می باشد که بعد از اجرای آن تبلیغات نمایش داده می شود، اما از آنجایی که در بیشتر مواقع این اسکریپت به دلیل ترافیک زیاد و یا موارد دیگر ... خیلی دیر اجرا می شود باعث می شود که ادامه سایت لود نشود و تا چند ثانیه باید منتظر موند تا ادامه سایت لود بشه. حالا من میخوام یه جوری عمل کنیم که ابتدا کل صفحه سایت لود بشه بعد این اسکریپت تبلیغاتی در بالای سایت لود بشه!

پیشنهاد دوستان چی؟:متفکر:
من کد زیر رو پیدا کردم ولی نمیدونم چطوری کد جاوا اسکریپت رو درون فانکشن زیر وارد کنیم که خطا نگیره و صحیح هم اجرا بشه؟:گیج:
<script>
window.onload=function(){
//اسکریپت
}
</script>

در هر صورت من یه چنین کاری رو باید انجام حالا دوستان به این روش یا هر روش دیگه که میتونن یه راهنمایی کنن ممنون میشم
با تشکر

vs.js_2012
سه شنبه 26 اردیبهشت 1391, 14:20 عصر
منم این مشکلو دارم یکی کمک کنه لطفاً

Reza1607
سه شنبه 26 اردیبهشت 1391, 23:49 عصر
يك راه ديكه اين هست كه اون فايل رو در آخر صفحه فراخواني كني
يعني قبل از
</body>

picpars
پنج شنبه 28 اردیبهشت 1391, 09:38 صبح
ببخشید که نبودم
فکر کنم منظورم رو متوجه نشدید! کد html زیر رو در نظر بگیرید:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>

<body>
<div>هدر سایت</div>
<div>محتوای سمت راست سایت</div>
<script type="text/javascript" src="لینک بنر تبلیغاتی یا یک شمارنده"></script>
<div>محتوای سمت چپ سایت</div>
</body>
</html>میخوام کل سایت ابتدا لود بشه و نمایش داده بشه بعد همون جایی که اون اسکریپت هست اجرا بشه و مثلا اطلاعات یه شمارنده رو نشون بده و یا یه بنر تبلیغاتی.

باز هم ممنون از پاسخ تون

ASedJavad
پنج شنبه 28 اردیبهشت 1391, 14:31 عصر
سلام


منظورتون اینه که فرضا یه دیو دارین که میخواین وقتی کل دیوهای دیگه لود شدن، بعد محتویات اون دیو لود شه؟

اگه این طوره به اون دیوتون یه id بدید (مثلا id="zz") و درون دیو رو خالی بذارید بعد تو اوتن تابعی که مثلا تو رویداد onload برنامتون فراخونی میشه، با استفاده از دستور زیر، محتویات مورد نظرتون رو تو اون دیو قرار بدید:
document.getElementById("zz").innerHTML=x


که x یه رشتست که محتویاتی که میخواین تو دیوتون لود شه توش هست

exlord
جمعه 29 اردیبهشت 1391, 06:48 صبح
<body onload="afterLoad()">


function afterLoad() {
var headID = document.getElementsByTagName("head")[0];
var newScript = document.createElement('script');
newScript.type = 'text/javascript';
newScript.src = 'http://www.somedomain.com/somescript.js';
headID.appendChild(newScript);
}

masoud_zarifi
سه شنبه 17 مرداد 1391, 17:16 عصر
با سلام
innerhtml با دستورات script مشکل داره! راه دیگه ای نیست؟

masoud_zarifi
سه شنبه 17 مرداد 1391, 17:18 عصر
<body onload="afterLoad()">


function afterLoad() {
var headID = document.getElementsByTagName("head")[0];
var newScript = document.createElement('script');
newScript.type = 'text/javascript';
newScript.src = 'http://www.somedomain.com/somescript.js';
headID.appendChild(newScript);
}

با سلام
توی یک صفحه دیگه لود میکنه ، چطوری توی یک div همون صفحه اسکریپت رو نشون بده؟