PDA

View Full Version : سوال: لود فایل js در ajaxload



amir_saman
پنج شنبه 16 تیر 1390, 01:12 صبح
سلام دوستان
آقا یه مشکلی داشنم که نتونستم آخرم به اونی که می خوام برسم. ما مثلا به صفحه ایندکس داریم که به وسیله اجاکس لود دونه دونه صفحه ها مون رو توش لود می کنیم. مشکل اینجاست که وفتی صفحه ای داخل صفحه اصلی لود میشه دیگه کد های حاوایی که داخل صفحه لود شده هست کار نمی کنه. برای این موضوع یه راه حل پیدا کردم که جواب داد. که به وسله تابغ eval هرچی که تو تگ script قرار داشت دوباره به قسمت لود شده اضافه می شد. تا اینجای کار خوبه حالا اگه دستورات رو از تگ برداریم و بریزیم توی یه فایل js . اونو توی صفحه دوم قرار بدیم کار نمی کنه :دی
کسی راهی بلده !!! فایل پیوستی رو نگاه کنید می فهمید توی test.php یه آلرت هست که در حالت عادی کار می کنه حالا این آلرت رو اگه توی یه فایل js بریزیم و توی test.php آدرس بدیم کار نمی کنه .
کسی هست بتونه یه قسمت به این اجاکس اضافه کنه که فایل های js هم اینکلود بشه ؟!!؟!؟!؟

L u k e
پنج شنبه 16 تیر 1390, 11:58 صبح
اگه می خوای سایت فول اجکس بسازی که صفحه هاش هم به صورت اجکس لود بشه باید بگم که حرکت جالبی نیست واسه کارای بزرگ
منم حدود 7 -8 ماه پیش درگیر این قضیه شده بودم که می خواستم به نرم افزار فول اجکس تحت وب بسازم که حتی صفحاتشم با اجکس لود بشه ولی یه مشکل این بود که چون تو سایت های اجکسی کدهای جاوا اسکریپت هر صفحه زیاد می شه من واسه هر صفحه یه فایل اسکریپت داشتم واسه اینکه برنامه سنگین نشه اسکریپت ها رو جدا کرده بودم و واسه همین وقتی توی برنامه می رفتی تو یه صفحه دیگه اجکس می رفت html صفحه و کدهای جاوا اسکریپتو لود می کرد و اجرا می کرد و هیچ مشکلی نبود ولی بعد از چنگ وقت متوجه شدم کدهای جاوا اسکریپتی که واسه هر صفحه لود می شد توی مرورگر می موند و از بین نمی رفت مثلا شما یه صفحه دارید که هیچ اسکریپتی نداره با اجکس یه اسکریت لود می کنید و می زارید تو صفحه تون حالا اگه اونو پاکشم کنید بازم هست و وقتی توابعشو صدا کنید کدهاش اجرا می شه و این یه مشکل بزرگه ...

amir_saman
پنج شنبه 16 تیر 1390, 13:32 عصر
مشکل اینه که می خوام یه فرم رو به صورت اجاکس ارسال کنم و نشون بده . کارم فول اجاکس هست ولی فقط از همین اجاکس استفاده کردم و می خوام فرمی که توی صفحه اجاکس لود شده هست رو به صورت اجاکس ارسال کنم. گیرم فقط ارسال فورم هست همین . فایل های جاوام زیاد نیست که لودش زیاد بشه از همه لحاظ اماده هست فقط همین یه قسمت . اگه کسی بتونه به این کد قسمتی اضافه کنه که وقتی فرومی که توی صفحه لود شده رو بشه بدون لود دوباره صفحه ارسال نمود کارم اوکی میشه ...
درمورد اونی هم که گفتید کافیه کوکی و کش سرورخالی بشه اونم حله یعنی مشکلی با جاوا نداره !!

eAmin
یک شنبه 19 تیر 1390, 23:34 عصر
با این کد می تونید مشکلتون رو برطرف کنید:

function index(page){
var file = 'pagess.php?page=';
xmlhttp.open('GET', file + page, true);
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4){
var cacheResponse = xmlhttp.responseText;
document.getElementById('index').innerHTML = cacheResponse;
if (!!window.execScript) {
window.execScript(getScript(cacheResponse));
} else {
eval.call(window, getScript(cacheResponse));
}
}
}
xmlhttp.send(null);
}

function getScript(response) {
var scripts;
response.replace(/<script[^>]*>([\s\S]+)<\/script>/gi, function(match, scr) {
scripts = scr;
});
return scripts;
};

لینک تاپیک مربوطه. (http://forum.p30world.com/showthread.php?t=434052) در انجمن دیگر.