PDA

View Full Version : سوال: چرا appCodeName از شی navigator همواره Mozilla است؟



e_a_23
شنبه 02 اردیبهشت 1391, 19:16 عصر
با سلام

خاصیت appCodeName از شیء navigator چرا برای تقریبا همه مرورگرها Mozilla را برمیگرداند؟
search هم کردم ولی چیزی دستگیرم نشد.
در جایی نوشته بود:"این خاصیت نام تعیین شده ویژه مربوط به نسخه مرورگر را برمیگرداند."
پس چرا برای همه Mozilla برمیگرداند؟

cyrusthegreat
یک شنبه 03 اردیبهشت 1391, 14:52 عصر
این نام موزیلا، فارغ از اون موزیلایی هست که می شناسیم. به خیلی قبلتر از بنیاد موزیلا و فایرفاکس بر می گرده. در اصل توسط مرورگر Netscape معرفی شد. در اون زمان که Netscape سهم خیلی زیادی از بازار مرورگر هارو داشت و بالا 90 درصد بود، با شروع به کار مرورگر های دیگه، برای اینکه به کد نویس توانایی مشخص کردن اینو بده که مرورگر از چه تکنولوژی هایی پشتیبانی می کنه، یک خاصیت جدید به شی navigator اضافه کرد که متشکل شده بود از دو کلمه Mosaic + Godzilla که می شد همون mozilla. اگر بدونید، جاوا اسکریپت در اوایل توسط خود Netscape معرفی شد و خود Netscape این مقدار رو برای مرورگرش مشخص کرد. مثلا برای Ie ما چیزی دارین به اسم Activex که در اون اوایل قرار بود مثل جاوا اسکریپت یه زبان تحت مرورگر رو در اختیار برنامه نویس بزاره. اما به دلیل اینکه جاواسکریپت همه گیر تر شد، تقریبا گزاشتش کنار. بدلیل پیشرو بودن Netscape نسبت به دیگر مرورگر ها، اون Netscape رو برای codename مرورگرش انتخاب کرد. به همین دلیل برنامه نویس ها، برای اینکه بتونن صفحه رو درست نمایش بدن از این خاصیت استفاده کردن تا بین Netscape و دیگر مرورگر ها تفاوت ایجاد کنن و تو یه if ساده بتونن مرورگر استاندار رو از غیر استاندارد تشخیص بدن. بعد از مدتی، دیگر مرورگر ها که به اون استانداردهای تعیین شده رسیدند، برای اینکه کدهاییی که قبلا زده شده بود، اونها رو هم استاندارد تشخیص بده، خاصیت codenameشون رو به mozilla تغییر دادن. مایکروسافت هم از این قاعده مستثنا نیست. همه مرورگر های یه سری اطلاعات دارند که همشون با mozilla4.0 یا mozilla5.0 شروع می شن. کروم و فایرفاکس خودشون رو نسخه 5.0 می دونن و بقیه خودشون رو 4.0.

البته این اطلاعات من به خیلی وقت قبل بر می گرده و اون زمان مرجع فارسی نبود و یه عالمه مرجع رو بالا پایین کردم که اینو بفهمم. بخاطر همین ممکن بدلیل بدفهمی بنده، یکجاهاییش مشکل داشته باشه، ولی بطور کلی دلیلش همینه.

بخاطر همینه که همشون یکسانن. امیدوارم متوجه شده باشید. اگر سوالی بود، در خدمتم