Nhận nhiệm vụ giải quyết một trang web sao cho tính năng của nó chạy tốt trên tất cả các thiết bị di động (khâu giao diện thì có người khác lo và đã hoàn thành). Sau một thời gian thì tất cả đã OK trừ Ipad.
Ngồi ngẫm mãi không ra cách giải quyết thế là đành tách riêng trường hợp chạy Ipad ra xử lý riêng. Nhưng là thế nào để phát hiện ra là đang chạy trên Ipad. Và rồi phát hiện ra là đơn giản hơn là mình tưởng chỉ với vài dòng mã Javascript ngắn.
1 | navigator.userAgent |
Hàm này sẽ trả về thông tin máy cũng như trình duyệt của người dùng. Để đồng bộ định dạng để sau này thực hiện các thao tác cho đơn giản người ta thường dùng kèm theo hàm toLowerCase() để đổi tất cả sang chữ thường và nó sẽ là:
1 | navigator.userAgent.toLowerCase() |
Gán giá trị trả về của hàm tổng hợp này cho một biến rồi dùng hàm tìm kiếm để tìm giá trị cần tìm có trong chuỗi thông tin và xử lý. Đoạn mã cụ thể như sau:
1 2 3 4 5 | var thongtin = navigator.userAgent.toLowerCase(); if (thongtin.search("ipad") > -1) // Xử lý trường hợp là Ipad else // Xử lý bình thường |
Lưu ý là bạn nên dùng hàm alert() để kiểm tra giá trị trả về trước để xác định từ khóa liên quan đúng nhất để gọi lệnh tìm kiếm cho đúng nhé.
Chúc các bạn thành công.
Huỳnh Mai Anh Kiệt