PDA

View Full Version : نحوه ی Debug کردن درست خط های JavaScript در میان کدهای ASPX



majid_darab
شنبه 01 اسفند 1388, 13:13 عصر
با سلام و عرض خسته نباشید:
آیا میان FIREFOX و IE به طور مثال در اینجا (IE 8) از نظر Debug کردن (از نظر عملکرد) تفاوت وجود دارد و تنظیمات خاصی برای این دو مورد وجود دارند؟
از نظر debug کردن در مورد بررسی خطهایی از code behind که breakpoint دارن مشکلی در هر دو بروزر وجود ندارد...(با f11 کار می کنیم)
اما وقتی در میان کدهای aspx که کدهای جاوا اسکریپت هم همینجا قرار می گیرند برای یک خط جاوا اسکریپت breakpoint می گذارم و دکمه ی f11 را می زنم در هر یک از این دو بروزر اتفاق های زیر می افتد :
1-در firefox اصلاً نمی شود این خط breakpoint دارو مورد بررسی قرار داد و فقط در breakpoint های موجود در کد بیهایند stop داریم.
2-ie 8 در این خط توقف دارد ، اما اگر مثلا ما از jquery استفاده کرده باشیم یه نیم ساعتی اول تو این فایل باید چرخ بزنیم (چه جوری این مشکلو رفع کنم)وبعد ظاهرا سراغ خط breakpoint دار جاواسکریپت می رود .گفتم ظاهراً برای اینکه چرخش موجود در فایل jquery اینقدر زیاد بود که نشد تستش کنم.
یا مثلا وقتی یک کنترل تلریک رو صفحه می ذارم وبرای کدهای جاوااسکریپت مرتبط با آن breakpoint می ذارم باید یه یک ساعتی اول تو فایل Telerik.web.ui چرخ بزنم تا به این خطی که breakpint داره برسم (اینم ظاهراً)
اما سوالات :
-1تنظیمات مربوط به نحوه ی debug فایرفاکس و آی ای در کجاها قرار دارند ؟(آیا در vs هم تنظیماتی وجود دارد - ویژوال استودیو 2008)
2-مشکل فایرفاکس در مورد توقف در خطهای جاوااسکریپتی که breakpoint دارن (در حالت debug)چه جوری حل می شه؟
چون کار با این بروزر معمولا راحت تره
3-چه در فایر فاکس چه در ie چگونه می شود کاری کرد از چرخش در فایل هایی که پشت صحنه اند و ما موقع debug نمی خوایم تو اونها هم چرخ بزنیم رهایی پیدا کنیم...
با تشکر

Milad Mohseny
شنبه 01 اسفند 1388, 14:52 عصر
از http://getfirebug.com/ استفاده کن.

majid_darab
شنبه 01 اسفند 1388, 15:43 عصر
سلام میلاد جان
من این ادآن فایر فاکسو دارم و این مگز کوچک حقیقتا معجزه می کنه ....
فرض کنیم این ادآن وجودنداشت اون وقت بالاخره باید راه حلی برای مشکلاتی که اعلام کردم وجود می داشت!
درثانی با این ادآن که نمیشه ترتیب اجرا شدن خط های کدو مورد بررسی قرار داد و ببینیم که اصلا آیا کدهای جاوا اسکریپت ما اجرا میشن یا نه...(در پست های آتی این حرف اشتباه خود را پس گرفتم)
با تشکر

hajizahiry
چهارشنبه 05 اسفند 1388, 15:11 عصر
دوست عزیز اگر می خواهی توابع جاوا را در .net ، debugg کنی در کد جاوا debugger; را قرار بده و
در ie کار زیر را انجام بده
1- باز کردن internet opption
2- رفتن به منوی advanced
3- برداشتن تیک های disabled scriipt debuggeing (تیک هر دو را بر دار)

majid_darab
چهارشنبه 05 اسفند 1388, 21:21 عصر
با تشکر
یعنی برای فایرفاکس تنظیم خاصی وجود نداره که وقتی در یک خط خاص breakpoint می ذاریم (برای جاواسکریپت)دراون خط توقف داشته باشیم...
در ضمن در مورد ie چی کار کنم تا از چرخش در مثلاً (فایل اصلی jquery)رهایی پیدا کنم و یه راست بریم سراغ خط breakpoint دار.

hajizahiry
شنبه 08 اسفند 1388, 10:18 صبح
دوست عزیز تابع جاوای زیر را در نظر بگیر

function ReadPrsID(prsID)
{
// debugger;
if(prsID.length==6)
{
var prs=parseInt(prsID);
if (prs!=prsID)
{
document.getElementById("DivName").className='HeaderOfPage';
document.getElementById("DivName").innerHTML ='<font color=red><b>لطفاً شماره کارمندی را درست وارد نمایید</b></font>';
}
else
{
//alert();
CallServer('LoadPrs_ForCardExport'+','+prsID+','+d ocument.getElementById("Chk_ShowImage").checked);
document.getElementById("Img_Loading").className='Visible';
}
}
}
من debugger; را در خط اول گذاشته ام . تو می توانی در هر خطی دوست داشتی قرار بدهی.
حقیقتا با firefox کار نکرده ام . اما استفاده از تابع alert فکر کنم مشکل
شا باشد

majid_darab
شنبه 08 اسفند 1388, 20:41 عصر
دست شما درد نکنه


من حرفم رو در مورد فایرباگ پس می گیرم.
ظاهرا با این برنامه می شود دقیقاً این کاری که می خوام انجام داد.
چون با قسمت اسکریپتش کار نکرده بودم متوجه اون قسمت نشده بودم.(Thank u si-fo)
اگر از دوستان درباره این قسمت توضیحی بدن ممنون می شوم.
اما درمورد شما دوست عزیز که با فایرفاکس تا حالا کارنکردی - به نظرم به عنوان یک کدنویس باید با فایرفاکس انس گرفته باشی و وقتی باهاش عمل بروز رو انجام می دی زندگی کنی.
با تشکر