شنبه ۲۹ دي ۱۴۰۳
Tut24 آموزش برنامه نویسی و مجله تخصصی فناوری ورود/عضویت

آموزش جاوا اسکریپت - سازگاری مرورگرها

بهتر است تفاوت‌های مرورگرهای مختلف را درک کنید تا بتوانید هر کدام را به نحوی که انتظار می‌رود، اداره کنید. بنابراین، شناختن مرورگری که صفحه وب شما در آن اجرا می‌شود، بسیار مهم است.

برای به دست آوردن اطلاعات در مورد مرورگری که صفحه وب شما در حال حاضر در آن اجرا می‌شود، از شی navigator داخلی استفاده کنید.

خصوصیات ناوبر

چندین خصوصیت مربوط به ناوبر را می‌توانید در صفحه وب خود استفاده کنید. لیستی از نام‌ها و شرح هر یک را در زیر می‌آوریم.

ردیف ویژگی و توضیحات
۱

appCodeName (نام کد برنامه)

این ویژگی یک رشته است که شامل نام کد مرورگر است؛ نام کد Netscape برای Netscape و نام کد Microsoft Internet Explorer برای Internet Explorer است.

۲

appVersion (نسخه برنامه)

این ویژگی یک رشته است که شامل نسخه مرورگر است، همچنین اطلاعات مفید دیگری مانند زبان و سازگاری را نیز شامل می‌شود.

۳

language (زبان)

این ویژگی شامل عبارت کوتاه دو حرفی برای زبان است که توسط مرورگر استفاده می‌شود. فقط در Netscape وجود دارد.

۴

mimTypes[] (انواع MIME [])

این ویژگی یک آرایه است که شامل تمام انواع MIME پشتیبانی شده توسط مشتری است. فقط در Netscape وجود دارد.

۵

platform[] (سکو [])

این ویژگی یک رشته است که شامل سکویی است که برای آن مرورگر کامپایل شده است. "Win32" برای سیستم‌عامل ویندوز ۳۲ بیتی است.

۶

plugins[] (افزونه ها [])

این ویژگی یک آرایه است که شامل تمام افزونه‌های نصب شده بر روی مشتری است. فقط در Netscape وجود دارد.

۷

userAgent[] (رابط‌کاربری)

این ویژگی یک رشته متنی است که شامل نام کد و نسخه مرورگر است. این مقدار به سرور مبدا ارسال می‌شود تا مشخص کند کاربری که درخواست را ارسال کرده است.

متدهای ناوبریگر

چندین متد مربوط به ناوبریگر وجود دارند. در ادامه لیستی از نام و توضیحات هر کدام آمده است.

شماره توضیحات
۱

javaEnabled()

این متد تعیین می‌کند که آیا جاوااسکریپت در کلاینت فعال است یا خیر. اگر جاوااسکریپت فعال باشد، این متد مقدار true را برمی‌گرداند و در غیر اینصورت مقدار false را برمی‌گرداند.

۲

plugings.refresh

این متد، افزونه‌های نصب‌شده جدید را در دسترس قرار می‌دهد و آرایه plugins را با نام تمام افزونه‌های جدید پر می‌کند. Netscape only.

۳

preference(name,value)

این متد به اسکریپت امضا‌شده، اجازه می‌دهد تا برخی از تنظیمات Netscape را بگیرد و تنظیم کند. اگر پارامتر دوم این متد حذف شود، این متد مقدار تنظیم‌شده مورد نظر را برمی‌گرداند؛ در غیر اینصورت، مقدار آن را تنظیم می‌کند. Netscape only.

۴

taintEnabled()

این متد، اگر داده‌ها به طور نامطمئن باشند، مقدار true را برمی‌گرداند؛ در غیر اینصورت، مقدار false را برمی‌گرداند.

تشخیص مرورگر

یک کد جاوا اسکریپت ساده وجود دارد که می‌توان از آن برای پیدا کردن نام مرورگر استفاده کرد و در نتیجه صفحه HTML متناسب با آن به کاربر ارائه داد.


<html>   
   <head>
      <title>Browser Detection Example</title>
   </head>
   
   <body>      
      <script type = "text/javascript">
         <!--
            var userAgent   = navigator.userAgent;
            var opera       = (userAgent.indexOf('Opera') != -1);
            var ie          = (userAgent.indexOf('MSIE') != -1);
            var gecko       = (userAgent.indexOf('Gecko') != -1);
            var netscape    = (userAgent.indexOf('Mozilla') != -1);
            var version     = navigator.appVersion;
            
            if (opera) {
               document.write("Opera based browser");
               // Keep your opera specific URL here.
            } else if (gecko) {
               document.write("Mozilla based browser");
               // Keep your gecko specific URL here.
            } else if (ie) {
               document.write("IE based browser");
               // Keep your IE specific URL here.
            } else if (netscape) {
               document.write("Netscape based browser");
               // Keep your Netscape specific URL here.
            } else {
               document.write("Unknown browser");
            }
            
            // You can include version to along with any above condition.
            document.write("<br /> Browser version info : " + version );
         //-->
      </script>      
   </body>
</html>