Cara menentukan versi Browser dari Script

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 167820
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Dengan fitur baru yang menyediakan Internet Explorer 4.0, mungkin diinginkan untuk sisi klien dan server-side script untuk menentukan versi browser, sehingga aplikasi Web dapat baik memanfaatkan fungsi baru, atau menurunkan anggun, tergantung pada versi browser saat ini berjalan.

PENTING: Metode yang digunakan dalam artikel ini bergantung pada situs Web yang menerima string "HTTP_USER_AGENT" benar untuk browser yang terhubung ke situs. Beberapa server proxy dan browser dapat mengirimkan informasi yang salah atau sulit untuk menafsirkan. Sebagai contoh, default HTTP_USER_AGENT string yang Opera 5,12 kembali adalah "Mozilla/4.0 (kompatibel; MSIE 5.0; <operating system="">) Opera 5,12 [en] ". String ini sulit untuk menafsirkan karena bagian pertama dari string yang sama sebagai string yang kembali Internet Explorer 5.</operating>

Jika Anda perlu untuk secara unik mengidentifikasi Internet Explorer versi 5 atau yang lebih baru (di Microsoft Win32 dan Unix platform hanya), gunakan isComponentInstalled atau getComponentVersion metode perilaku CLIENTCAPS. Untuk informasi tentang metode ini, lihat Website Microsoft berikut:
http://msdn2.microsoft.com/en-us/library/ms531357.aspx

http://msdn2.Microsoft.com/en-us/library/ms531350.aspx
CATATAN: Metode ini akan gagal jika klien tidak Internet Explorer 5 atau kemudian (Microsoft Win32 dan Unix platform hanya).

INFORMASI LEBIH LANJUT

Dari Script sisi klien

JScript fungsi di bawah ini dapat digunakan untuk menentukan versi browser berjalan script sisi klien. Fungsi berjalan pada sebagian besar browser saat ini tersedia dan kembali utama nomor versi untuk browser Microsoft Internet Explorer, dan nol (0) untuk orang lain. Penggunaan fungsi ini menjamin bahwa script akan kompatibel dengan versi Internet Explorer.
   // This function returns Internet Explorer's major version number,
   // or 0 for others. It works by finding the "MSIE " string and
   // extracting the version number following the space, up to the decimal
   // point, ignoring the minor version number
   <SCRIPT LANGUAGE="JavaSCRIPT">
   function msieversion()
   {
      var ua = window.navigator.userAgent
      var msie = ua.indexOf ( "MSIE " )

      if ( msie > 0 )      // If Internet Explorer, return version number
         return parseInt (ua.substring (msie+5, ua.indexOf (".", msie )))
      else                 // If another browser, return 0
         return 0

   }
   </SCRIPT>
				
Ketika memeriksa nomor versi, skrip harus selalu menggunakan mengatakan = operator, bukan = operator untuk memastikan kompatibilitas dengan versi masa depan. Ada skrip yang secara khusus memeriksa userAgent sama dengan "MSIE 3," misalnya, harus berubah menggunakan mengatakan = operator sehingga script mengenali Internet Explorer 4.0 juga.

Contoh berikut menunjukkan cara untuk mendeteksi versi browser dari script sisi klien. Perhatikan bahwa contoh ini tidak secara khusus memeriksa untuk platform versi, seperti Windows 95, Windows NT, Windows 3.1, dan sebagainya, yang memerlukan pemeriksaan substring userAgent terpisah ketika berlaku:
<SCRIPT LANGUAGE="javascript">
   if ( msieversion() >= 4 )

      document.write ( "This is Internet Explorer 4 or later" );

   else if ( msieversion() >= 3 )

      document.write ( "This is Internet Explorer 3" );

   else

      document.write ( "This is another browser" );

   </SCRIPT>
				

Server-Side script

CATATAN: Request.ServerVariables("HTTP_USER_AGENT") metode dapat digunakan di tempat BrowserType objek dalam script sisi server. Untuk informasi lebih lanjut, klik nomor artikel untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
272413 Cara menentukan jenis Browser di Server-Side Script tanpa objek BrowserType
Komponen kemampuan Browser yang datang dengan Active Server Pages (ASP) menyediakan skrip Anda dengan deskripsi kemampuan browser Web klien dengan membandingkan User-Agent HTTP Header dengan entri di BROWSCAP.INI file. Dalam rangka untuk aplikasi ASP untuk mendeteksi browser dukungan untuk fitur Internet Explorer 4.0 yang baru, salinan terbaru BROWSCAP.INI dari Cyscape Website berikut:
http://www.cyscape.com/ASP/browscap/
Salin ke direktori %windows%\system32\inetsrv\asp\cmpnts dan melaksanakan server-side script serupa dengan contoh di bawah ini.

Contoh ini khususnya mengambil keuntungan dari fungsi DHTML baru Jika browser saat ini adalah Internet Explorer 4.0 atau yang lebih baru:
<HTML>
<BODY>

   <%  Set bc = Server.CreateObject("MSWC.BrowserType") %>
   <table border=0 cellspacing="0" cellpadding="5">

      <tr>

         <% If bc.browser = "IE" and bc.version >= 4 Then %>
         <td><a href="chocolate.htm" TARGET="_TEXT"
              onmouseover="this.style.color='red'"
              onmouseout="this.style.color='purple'">chocolate</a>
         </td>

         <% Else %>
            <td><a href="chocolate.htm" TARGET="_TEXT">chocolate</a></td>
         <% End If %>

         <td>|</td>

         <% If bc.browser = "IE" and bc.version >= 4 Then %>
         <td><a href="vanilla.htm" TARGET="_TEXT"
              onmouseover="this.style.color='red'"
              onmouseout="this.style.color='purple'">vanilla</a>
         </td>

         <% Else %>
            <td><a href="vanilla.htm" TARGET="_TEXT">vanilla</a></td>
         <% End If %>

      </tr>

   </table>

</BODY>
</HTML>
				

REFERENSI

Komponen referensi dalam Active Server Pages (ASP) Roadmap

Properti

ID Artikel: 167820 - Kajian Terakhir: 15 September 2011 - Revisi: 2.0
Kata kunci: 
kbFAQ kbhowto kbscript kbmt KB167820 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:167820
Sanggahan Konten KB yang Tidak Lagi Diperbarui
Artikel ini berisi tentang produk yang tidak lagi didukung oleh Microsoft. Oleh karena itu, artikel ini disajikan ?sebagaimana adanya? dan tidak akan diperbarui.

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com