PDA

View Full Version : سوال: تفاوت فایر فاکس با اینترنت اکسپلورر



shahin_sharifi
پنج شنبه 18 آذر 1389, 11:10 صبح
با سلام خدمت دوستان
من یک کنترل را در سمت کد های سرور در سی شارپ ایجاد کردم.و از طریق کدهای جاوا اسکریپت مکان یک لیبل را در درون کادر این کنترل تغییر میدم.مثلا top و left این لیبل را که برای این کنترل child به حساب می آید رو تغییر میدم و جای اون لیبل تغییر میکنه.این کار در اینترنت اکسپلورر مشکلی نداره ولی در فایرفاکس اصلا top و left جایگذاری نمیشه و مقدار هر دوش صفر میمونه.راه حل چیه؟

var tempZoom=obj.zoom;
if(tempZoom <= 0.0139)
{
if(obj.LabelPositionX != null && obj.LabelPositionY != null)
{
var temp = MapToPixel(obj.LabelPositionX,obj.LabelPositionY,o bj);
obj.ToolTipLabel.style.left = temp.x - 10;
obj.ToolTipLabel.style.top = temp.y - 37;
obj.ToolTipLabel.style.visibility = "visible";
}
}
else
obj.ToolTipLabel.style.visibility = "hidden";

Alireza_Salehi
جمعه 19 آذر 1389, 19:31 عصر
ویژگی های مکانی (مانند left,top,width,height) برای اشیا مختلف در فایرفاکس و اینترنت اکسپلورر یکسان نیست.
از offsetLeft و offsetTop استفاده کنید.

یک همچین کدی هم هست می توانید در صورت نیاز از آن استفاده کنید:


function GetControlLocation(element){
var offsetX=0;var offsetY=0;
var parent;
for(parent=element;parent;parent=parent.offsetPare nt)
{
if(parent.offsetLeft){offsetX+=parent.offsetLeft;}
if(parent.offsetTop){offsetY+=parent.offsetTop;}
}
return{x:offsetX,y:offsetY};
}
function GetControlBounds(element){
var offset=GetControlLocation(element);
var width=element.offsetWidth;
var height=element.offsetHeight;
return{x:offset.x,y:offset.y,width:width,height:he ight};
}

shahin_sharifi
دوشنبه 22 آذر 1389, 00:29 صبح
مرسی از دوست عزیز,
میخواستم بدونم چطور این تمایز رو پیاده سازی میشه کرد.یعنی اینکه چطور زمانی که اینترنت اکسپلورر هست از یکسری کد و در فایر فاکس یک کد دیگری اجرا بشه؟

sanaz e
دوشنبه 22 آذر 1389, 12:08 عصر
با سلام
من هم يك كد دارم كه توي تكست باكس فقط عدد بگيره و نشه متن وارد كرد. اين كد توي IE به خوبي كار ميكنه ولي كاربري كه از فايرفاكس استفاده كنه ميتونه متن هم وارد كنه يعني توي فايرفاكس كد درست اجرا نميشه. دليلش چي ميتونه باشه؟

shahin_sharifi
دوشنبه 22 آذر 1389, 23:12 عصر
با سلام
من هم يك كد دارم كه توي تكست باكس فقط عدد بگيره و نشه متن وارد كرد. اين كد توي IE به خوبي كار ميكنه ولي كاربري كه از فايرفاكس استفاده كنه ميتونه متن هم وارد كنه يعني توي فايرفاكس كد درست اجرا نميشه. دليلش چي ميتونه باشه؟
همون طور که sanaz هم گفته خیلی از ویژگی ها در یکی اجرا و در دیگری اجرا نمیشود و بلعکس.یکی از دوستان که مسلط به جاوا اسکریپت و css است جواب این سوال رو بده که چگونه این انطباق با مرورگر ها رو کنترل و پیاده سازی کنیم؟
با تشکر