Một vài tuần trước, chúng tôi đã trò chuyện về cấu trúc của dịch vụ web Đăng ký bầu cử cá nhân. Chúng tôi bắt đầu thảo luận về ưu và nhược điểm của phương pháp mang lại sự tương tác khác biệt đáng kể cho bất kỳ người nào không chạy JavaScript
"Tỷ lệ người đó là bao nhiêu?"
Im lặng
Chúng tôi thực sự không biết có bao nhiêu người đang trải nghiệm các dịch vụ web của chính phủ Vương quốc Anh mà không cần cải tiến JavaScript. Đó là một điều tồi tệ đối với một nhóm truyền giáo về thiết kế theo hướng dữ liệu, vì vậy tôi nghĩ chúng ta nên tìm hiểu
Câu trả lời là
Vì vậy, cứ 93 người dùng thì có 1 người bị vô hiệu hóa JavaScript?
Không. Đáng ngạc nhiên là tỷ lệ những người đã tắt JavaScript một cách rõ ràng hoặc sử dụng trình duyệt không hỗ trợ JavaScript, chỉ chiếm một phần nhỏ những người không chạy JavaScript
Vậy thì sao. chúng ta có nên hỗ trợ những người không có JavaScript không?
Vâng, chúng tôi hỗ trợ họ
Vấn đề không phải là liệu chúng tôi có nên cung cấp dịch vụ tốt cho những người không sử dụng JavaScript hay không, cải tiến dần dần, được thực hiện tốt, đảm bảo chúng tôi sẽ luôn như vậy. Nhưng thật thú vị khi biết rằng cứ 93 người thì có 1 người sẽ trải nghiệm thiết kế mà không cần cải tiến JavaScript - đặc biệt là khi chúng tôi ưu tiên dành bao nhiêu thời gian cho thiết kế đó
Chúng tôi đã tính toán những con số này như thế nào?
Không giống như những con số thú vị khác [chẳng hạn như IE6 hoặc mức sử dụng thiết bị di động], đó không phải là một truy vấn phân tích trang web đơn giản - nhất là vì các gói phân tích tiêu chuẩn thường nắm bắt mức sử dụng thông qua việc thực thi JavaScript
Nhật ký máy chủ web cho chúng tôi biết nhiều hơn, nhưng chúng sẽ không cho chúng tôi biết liệu mọi người có đang chạy JavaScript hay không. Có lẽ một sự kết hợp của cả hai sau đó?
Lưu lượng máy chủ web - Lưu lượng phân tích JavaScript = lưu lượng không phải js?
Chà, chúng tôi đã thử điều này, nhưng tóm lại, nó không đủ chính xác. Có đủ sự khác biệt trong dữ liệu do bộ nhớ đệm cục bộ và công ty, bot, trình chặn phân tích, thời gian, độ trễ trong quá trình ghi nhật ký khác nhau, v.v. khiến chúng tôi lo lắng về tính chính xác của dữ liệu quay trở lại. Đặc biệt khi chúng ta đang xử lý các tỷ lệ tương đối nhỏ
Giải pháp là gì?
Vì vậy, @tombaromba đã hack một số mã trong GOV. trang chủ của Vương quốc Anh [tương tự như cách tiếp cận lấy cảm hứng từ thử nghiệm Yahoo. Thực hiện năm 2010]. Chúng tôi đã chọn trang này vì lưu lượng truy cập cao và ít có khả năng xảy ra bất kỳ sự thiên vị nào đối với một nhóm người dùng hoặc nhân khẩu học cụ thể
Mã này bao gồm ba hình ảnh, trong đó các trình duyệt sẽ yêu cầu hai
Đầu tiên, một hình ảnh mà hầu như tất cả các trình duyệt sẽ yêu cầu ['hình ảnh cơ sở']
Và một trong hai
- một hình ảnh mà chỉ các trình duyệt thực thi JavaScript mới yêu cầu ['hình ảnh tập lệnh']
- một hình ảnh mà chỉ những trình duyệt không thực thi JavaScript mới yêu cầu ['hình ảnh noscript']
Chúng tôi đã triển khai mã này và sau đó thu thập dữ liệu nhật ký từ hơn nửa triệu lượt truy cập. Tôi đã mong đợi rằng số lượng yêu cầu 'hình ảnh cơ bản' sẽ gần bằng với số lượng yêu cầu 'hình ảnh kịch bản' và 'hình ảnh không có bản ghi' được kết hợp
tôi đã sai
509.314 lượt truy cập đã yêu cầu 'hình ảnh cơ sở'
503.872 lượt yêu cầu 'hình ảnh kịch bản'
1.113 lượt truy cập đã yêu cầu 'hình ảnh noscript'
Điều đó có nghĩa là 4.329 lượt truy cập không yêu cầu 'hình ảnh chữ viết' hoặc 'hình ảnh chữ viết'. Cao hơn đáng kể so với 1.113 lượt truy cập yêu cầu 'hình ảnh noscript'
Tại sao lại có sự khác biệt lớn như vậy?
Tôi *bây giờ* biết rằng các thẻ 'noscript' sẽ chỉ được theo dõi bởi các trình duyệt rõ ràng đã tắt JavaScript hoặc hoàn toàn không hỗ trợ JavaScript. Vì vậy, một số lượng đáng kể người có trình duyệt hỗ trợ JavaScript nhưng vẫn không chạy tập lệnh thành công
Thật khó để biết chính xác lý do tại sao các trình duyệt này không chạy JavaScript, nhưng một số lý do có thể là
- chặn hoặc tước các phần tử JavaScript của công ty hoặc cục bộ
- lỗi JavaScript hiện có trong trình duyệt [tức là từ tiện ích bổ sung của trình duyệt, thanh công cụ, v.v.]
- trang bị bỏ lại giữa yêu cầu hình ảnh cơ sở và hình ảnh script/noscript
- các trình duyệt tải trước các trang mà chúng dự đoán không chính xác bạn sẽ truy cập
- lỗi mạng, đặc biệt là trên thiết bị di động
- chắc chắn còn nhiều nữa mà tôi thậm chí còn chưa nghĩ đến
Vì vậy, trong khi đây là những lý do thú vị, thì cuối cùng lý do tại sao ai đó không nhận được các cải tiến phần lớn là không liên quan. Điều quan trọng là hiểu được có bao nhiêu người và bây giờ chúng tôi biết
Có một xu hướng?
Đây là lần đầu tiên chúng tôi thực hiện phân tích này tại GDS. Chúng tôi có kết quả sớm hơn từ Yahoo. , gợi ý rằng ở Anh năm 2010, 1. 3% người đã tắt JavaScript
Kể từ năm 2010, việc sử dụng điện thoại thông minh đã tăng trưởng mạnh mẽ, hầu hết trong số đó sẽ nhận và chạy JavaScript, vì vậy không có gì ngạc nhiên khi số lượng đã giảm nhẹ và tôi cho rằng điều đó sẽ tiếp tục
Chúng tôi không thể chắc chắn mức độ so sánh dữ liệu này với Yahoo. dữ liệu. Cơ sở người dùng có thể khác nhau và chúng tôi không thể chắc chắn liệu Yahoo có. chỉ đo lường những người vô hiệu hóa JavaScript một cách rõ ràng hoặc bao gồm cả những người không chạy nó
Chúng tôi sẽ xem xét để lặp lại phân tích này một cách thường xuyên hơn và sẽ chia sẻ bất cứ điều gì thú vị mà chúng tôi tìm thấy