Khả năng tương thích trình duyệt trong JavaScript
Nắm được sự khá biệt giữa các trình duyệt web khác nhau để xử lý từng cái theo cách tốt nhất là vô cùng quan trọng. Vì thế, bạn phải biết được trang web của bạn đang chạy trên trình duyệt nào từ đó mới có thể đưa ra cách xử lý phù hợp.
Đối tượng navigator có sẵn sẽ giúp nhận biết thông tin về trình duyệt mà trang web hiện đang chạy trên.
Các thuộc tính của Navigator
Có một số thuộc tính liên quan đến Navigator mà bạn có thể sử dụng trong trang web của mình. Dưới đây là những thuộc tính của Navigator và mô tả chi tiết về chúng.
Thuộc tính | Mô tả |
---|---|
appCodeName | Thuộc tính này là một chuỗi mà chứa tên code của trình duyệt, như Netscape cho Netscape và Microsoft Internet Explorer cho IE. |
appVersion | Thuộc tính này là một chuỗi mà chứa phiên bản của trình duyệt cũng như thông tin hữu ích khác như ngôn ngữ và khả năng tương thích của nó. |
language | Thuộc tính này chứa hai chữ viết tắt cho ngôn ngữ mà được sử dụng bởi trình duyệt. Chỉ dành cho Netscape. |
mimTypes[] | Thuộc tính này là một mảng chứa tất cả kiểu MIME được hỗ trợ bởi Client. Chỉ dành cho Netscape. |
platform[] | Thuộc tính này là một chuỗi chứa platform mà trình duyệt được biên dịch. "Win32" cho Hệ điều hành Windows 32 bit. |
plugins[] | Thuộc tính này là một mảng chứa tất cả plug-in đã được cài đặt trên client. Chỉ dành cho Netscape. |
userAgent[] | Thuộc tính này là một chuỗi mà chứa tên code và phiên bản của trình duyệt. Giá trị này được gửi tới Server nguồn để nhận diện Client. |
Các phương thức Navigator
Dưới đây là danh sách các phương thức Navigator và mô tả chi tiết về chúng:
javaEnabled(): Phương thức này quyết định nếu JavaScript được kích hoạt trong Client. Nếu JavaScript được kích hoạt, phương thức này trả về true, nếu không thì nó trả về false.
plugings.refresh: Phương thức này tạo plug-in được cài đặt mới nhất và đặt các mảng plugins với tất cả tên plug-in mới. Chỉ dành cho Netscape.
preference(name,value): Phương thức này cho phép một script đã đánh dấu để nhận và thiết lập một số quyền ưu tiên Netscape. Nếu tham số thứ hai bị bỏ qua, phương thức này sẽ trả về giá trị của quyền ưu tiên đã xác định; nếu không thì, nó thiết lập giá trị đó. Chỉ dành cho Netscape.
taintEnabled(): Phương thức này trả về true nếu dữ liệu hỏng (data tainting) được kích hoạt; nếu không là false.
Kiểm tra trình duyệt (Browser Detection)
Đây là đoạn code JavaScript đơn giản, có thể được sử dụng để tìm tên của một trình duyệt và sau đó gửi trang HTML phù hợp với trình duyệt đó đến người dùng.
<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>
Kết quả
Mozilla based browser
Browser version info : 5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36
Theo Tutorialspoint
Bài trước: Image Map trong JavaScript
Bài tiếp: HTTP là gì
Bạn nên đọc
-
Code JavaScript tạo biểu đồ/đồ thị đường dạng động
-
JavaScript là gì?
-
Code JavaScript tạo biểu đồ đa chuỗi update dữ liệu trực tiếp
-
9 câu hỏi phỏng vấn JavaScript phổ biến
-
Code JavaScript tạo mẫu biểu đồ kết hợp OHLC và biểu đồ đường
-
Code JavaScript tạo biểu đồ/đồ thị động
-
Tổng hợp bài tập JavaScript có code mẫu
Cũ vẫn chất
-
Card đồ họa không hoạt động: Nguyên nhân và cách khắc phục
Hôm qua -
Cách tắt xác thực hai yếu tố trên Facebook khi bị mất điện thoại
Hôm qua -
Graves DTCL mùa 7.5: Đồ chuẩn, đội hình Graves Lôi Long
Hôm qua -
Cách đổi DNS trên điện thoại iPhone, Android
Hôm qua 2 -
Samsung DeX là gì? Cách biến điện thoại thành desktop với Samsung Dex
Hôm qua -
Cách bật tự động gửi ảnh HD trên Zalo
Hôm qua -
Tham số hàm Python
Hôm qua -
Cách đăng ký VIP Zing MP3 tải nhạc chất lượng cao
Hôm qua -
Cách sử dụng hàm XLOOKUP trong Excel
Hôm qua -
Hướng dẫn cách xem lực chiến Liên Quân Mobile
Hôm qua