JavaScript - 瀏覽器相容性



瞭解不同瀏覽器之間的差異非常重要,以便能夠以預期的方式處理每個瀏覽器。因此,瞭解您的網頁在哪個瀏覽器中執行非常重要。

要獲取有關您的網頁當前正在執行的瀏覽器的資訊,請使用內建的navigator物件。

Navigator 屬性

您的網頁可以使用多個與 Navigator 相關的屬性。以下是每個屬性的名稱和說明列表。

序號 屬性和描述
1

appCodeName

此屬性是一個字串,包含瀏覽器的程式碼名稱,Netscape 對應 Netscape,Microsoft Internet Explorer 對應 Internet Explorer。

2

appVersion

此屬性是一個字串,包含瀏覽器的版本以及其他有用資訊,例如其語言和相容性。

3

language

此屬性包含瀏覽器使用的語言的兩位字母縮寫。僅限 Netscape。

4

mimTypes[]

此屬性是一個數組,包含客戶端支援的所有 MIME 型別。僅限 Netscape。

5

platform[]

此屬性是一個字串,包含為其編譯瀏覽器的平臺。“Win32”表示 32 位 Windows 作業系統

6

plugins[]

此屬性是一個數組,包含已安裝在客戶端上的所有外掛。僅限 Netscape。

7

userAgent[]

此屬性是一個字串,包含瀏覽器的程式碼名稱和版本。此值將傳送到源伺服器以標識客戶端。

Navigator 方法

有幾種特定於 Navigator 的方法。以下是它們的名稱和說明列表。

序號 描述
1

javaEnabled()

此方法確定客戶端是否啟用了 JavaScript。如果啟用了 JavaScript,則此方法返回 true;否則,返回 false。

2

plugings.refresh

此方法使新安裝的外掛可用,並使用所有新外掛名稱填充 plugins 陣列。僅限 Netscape。

3

preference(name,value)

此方法允許簽名指令碼獲取和設定一些 Netscape 首選項。如果省略第二個引數,則此方法將返回指定首選項的值;否則,它將設定該值。僅限 Netscape。

4

taintEnabled()

如果啟用了資料汙染,此方法返回 true;否則返回 false。

瀏覽器檢測

有一個簡單的 JavaScript 可以用來找出瀏覽器的名稱,然後可以相應地為使用者提供 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>

輸出

執行上述程式後,您將獲得類似於以下內容的輸出:

請注意,根據您使用的瀏覽器型別,您可能會獲得有關瀏覽器的更多資訊。

廣告