PDA

View Full Version : علت ناسازگاری JavaScript با بعضی از مرورگرها



yekta64
شنبه 22 اسفند 1388, 09:24 صبح
سلام دوستان
چرا كدهاي جاوا اسكريپت با بعضي از مرورگرها ناسازگار هستش يعني يه كد جاوا در يه مرورگر جواب مي ده در يه مرورگر ديگه نه؟؟؟
علت اين ناسازگاري چي هستش؟؟؟؟
آيا ميشه كاري كرد كه كد جاوا اسكريپت با همه ي مرروگر ها سازگار باشه؟؟؟؟
مرسي

Mahdi-563
شنبه 22 اسفند 1388, 09:55 صبح
آيا ميشه كاري كرد كه كد جاوا اسكريپت با همه ي مرروگر ها سازگار باشه؟؟؟؟
مرسي
بله استفاده از فریم ورک ها مثل Jquery

yekta64
شنبه 22 اسفند 1388, 10:34 صبح
بله استفاده از فریم ورک ها مثل Jquery

ميشه بيشتر توضيح بديد؟؟؟
يا يه نمونه كد بذاريد؟؟؟؟
مرسي

alireza_s_84
جمعه 28 اسفند 1388, 15:22 عصر
سلام دوستان
چرا كدهاي جاوا اسكريپت با بعضي از مرورگرها ناسازگار هستش يعني يه كد جاوا در يه مرورگر جواب مي ده در يه مرورگر ديگه نه؟؟؟
علت اين ناسازگاري چي هستش؟؟؟؟
آيا ميشه كاري كرد كه كد جاوا اسكريپت با همه ي مرروگر ها سازگار باشه؟؟؟؟
مرسي
سلام دوست عزیز:
بهتره اینجوری بگیم: چرا بعضی مرورگرها با جاوا اسکریپت سازگار نیستن؟
چون جاوای استاندارد در تمامی مرورگرهای استاندارد به یک صورت اجرا میشه .
علت ناسازگاری هم رفتار غیراستاندارد خود مرورگرهاست.
راه سازگاری شناخت کدهای جاوا و نحوه اجرا شدن اونا در مرورگهاست و بعد با اعمال شروط میتونید کد رو بر اساس مرورگرتون اجرا کنید. یک نمونه:
در مرورگر IE ما یک شی بنام event داریم که مربوط به رویدادهای مختلف هست. این شی بطور پیش فرض فرزند شی window هست و میتونید اینجوری بهش دسترسی داشته باشید window.event ولی همین شی در مرورگهایی که از استاندارد w3c (کنسرسیوم جهانی وب) پیروی میکنن بصورت پارامتر به توابع ارسال میشه جهت اینکه کدی رو بتونیم اجرا کنیم که شی event رو در مرورگرهای مختلف پشتیبانی کنه میتونیم اینجوری عمل کنیم:


function ShowParent(e)
{
var eventObject= (window.event)?= (window.event):e;
}

یعنی اگر شی window.event وجود داره مقدار متغیر ما میشه این و گرنه میشه همون e که بصورت پارامتر توسط مرورگرهای w3c به تابع پاس شده.
بهترین راه شناخت این ناسازگاری ها مطالعه رفتار مرورگرهاست و اینکه از چه اشیایی پشتیبانی میکنن.
موفق باشید

alireza_s_84
سه شنبه 03 فروردین 1389, 12:28 عصر
اینجا رو هم یک نگاهی بندازید:
http://barnamenevis.biz/forum/showpost.php?p=936973&postcount=2

esmaeily-hosein
سه شنبه 18 خرداد 1389, 22:39 عصر
به دلیل آشنا نبودن برنامه نویس ها با قوانین ecmascript