Có cách nào để phát hiện xem khách truy cập vào trang web của tôi có đang chạy Chromium thay vì Google Chrome không? Ngay cả cơ bản UA sniffing (mà tôi biết là thực hành xấu) sẽ đủ cho trường hợp cụ thể của tôi, nhưng nó xuất hiện rằng Chromium và Chrome share the same UA string - đó là chính xác? Có cách nào khác mà tôi có thể phân biệt giữa hai người không?Làm cách nào để phát hiện Chromium cụ thể so với Chrome?
Trả lời
Tàu Chrome có trình đọc PDF tích hợp, Chromium thì không.
Bạn có thể phát hiện điều này bằng cách sử dụng JavaScript:
function isChrome() { // Actually, isWithChromePDFReader
for (var i=0; i<navigator.plugins.length; i++)
if (navigator.plugins[i].name == 'Chrome PDF Viewer') return true;
return false;
}
Phương pháp này không phải là 100% đáng tin cậy, bởi vì người dùng có thể sao chép chương trình đọc PDF nhị phân từ Chrome vào thư mục Chromium của họ, xem this answer on Ask Ubuntu.
Có hầu như không có sự khác biệt giữa Chromium và Chrome (chắc chắn không có trong công cụ hiển thị hoặc JavaScript), vậy tại sao bạn muốn phát hiện sự khác biệt?
Đây là một biến thể câu trả lời Paul W. mà làm việc cho Chromium phiên bản 42 trở lên:
function isChromium() { // Actually, isWithChromiumPDFReader
for (var i=0; i<navigator.plugins.length; i++)
if (navigator.plugins[i].name == 'Chromium PDF Viewer') return true;
return false;
}
Điều này tất nhiên chỉ hoạt động nếu các plugin đã không bị vô hiệu hóa bởi người sử dụng.
Phiên bản Chromium mới cũng có plugin PDF.
Nhưng họ cũng có Chromium-plugins, vì vậy nếu bất kỳ plugin nào bắt đầu với "Chromium", đó là Chromium:
function isChromium()
{
for (var i = 0, u="Chromium", l =u.length; i < navigator.plugins.length; i++)
{
if (navigator.plugins[i].name != null && navigator.plugins[i].name.substr(0, l) === u)
return true;
}
return false;
}
- 1. trang lỗi Customize Chromium/Google Chrome
- 2. Làm thế nào để phát hiện góc với độ góc cụ thể
- 3. Làm cách nào để làm cho page_action xuất hiện cho các trang cụ thể?
- 4. Làm cách nào để ngăn công cụ nhà phát triển Chrome đóng khi cửa sổ trình duyệt hiện tại đóng?
- 5. Làm cách nào để Google phát hiện một công cụ tìm kiếm trang web?
- 6. Làm cách nào để phát hiện một liên lạc trên một khu vực cụ thể
- 7. Làm cách nào để phát hiện xem IDE Delphi cụ thể có đang chạy không?
- 8. Làm cách nào để kiểm tra cài đặt nội tuyến của tiện ích Chromium/Chrome cục bộ?
- 9. javascript beforeunload phát hiện làm mới so với đóng
- 10. Applescript để khởi chạy Chrome (với chi tiết cụ thể)
- 11. Làm cách nào để phát hiện hỗ trợ `focusin`?
- 12. Cách lấy dòng mã cụ thể đã phát hiện lỗi
- 13. Chụp ảnh màn hình của Chrome bằng Công cụ dành cho nhà phát triển Chrome?
- 14. Ứng dụng Chrome so với plugin so với tiện ích mở rộng và cách phát triển chúng
- 15. Làm cách nào để bỏ qua một số lỗi nhất định trong Công cụ phát triển?
- 16. Làm cách nào để phát hiện xem có ổ đĩa cụ thể nào là ổ cứng không?
- 17. Tôi làm cách nào để phát hiện loại mime của tab hiện tại trong tiện ích Google Chrome?
- 18. Phát hiện lỗi JavaScript trong Chrome
- 19. Xuất dữ liệu từ công cụ nhà phát triển Chrome
- 20. Chrome dành cho iOS phát hiện
- 21. Làm cách nào để phát hiện cảm ứng trong cocos2d?
- 22. Làm cách nào để xem giá trị thuộc tính dữ liệu trực tiếp trong công cụ nhà phát triển Chrome?
- 23. Cách phát hiện phiên bản Chrome đã cài đặt?
- 24. Làm cách nào để phát hiện các vòi trên một phần cụ thể (chuỗi phụ) của một nhãn UILabel?
- 25. Làm cách nào để phát hiện phim là 3D?
- 26. Làm thế nào để mở tệp PDF bên trong Chromium?
- 27. Làm cách nào để git phát hiện các tệp tương tự, để phát hiện đổi tên?
- 28. Sử dụng TChromium, Chromium Chromium được nhúng
- 29. Gỡ lỗi iframe bằng công cụ nhà phát triển Chrome
- 30. Chrome - Phát hiện khi trình duyệt thoát
Cảm ơn! Tôi cho rằng bạn có thể có nghĩa là 'navigator.plugins [i] .name'? (Thay đổi 's'.: P) –
@AlanSz Có, cảm ơn thông báo. –
Điều đáng nói là không có gì đúng với phiên bản Chrome dành cho máy tính để bàn. – hexalys