Tôi đã kiểm tra tính chính xác của setTimeout
việc sử dụng thử nghiệm này . Bây giờ tôi nhận thấy rằng (như mong đợi) setTimeout
không chính xác lắm nhưng đối với hầu hết các thiết bị không chính xác đáng kể. Bây giờ nếu tôi chạy thử nghiệm trong Chrome và để nó chạy trong tab nền (vì vậy, chuyển sang tab khác và duyệt trên đó), quay lại kiểm tra và kiểm tra kết quả te (nếu thử nghiệm kết thúc) thì chúng đã thay đổi đáng kể. Có vẻ như thời gian chờ đã chạy chậm hơn rất nhiều. Đã thử nghiệm trong FF4 hoặc IE9, điều này đã không xảy ra.
Vì vậy, có vẻ như Chrome tạm ngưng hoặc ít nhất là làm chậm quá trình thực thi javascript trong tab không có trọng tâm. Không thể tìm thấy nhiều trên mạng về chủ đề này. Điều đó có nghĩa là chúng tôi không thể chạy các tác vụ nền, ví dụ như kiểm tra định kỳ trên máy chủ bằng các cuộc gọi XHR và setInterval
(tôi nghi ngờ sẽ thấy hành vi tương tự setInterval
, sẽ viết một bài kiểm tra nếu có thời gian với tôi).
Có ai gặp phải điều này? Sẽ có một cách giải quyết cho việc đình chỉ / chậm lại này? Bạn có thể gọi nó là một lỗi và tôi có nên nộp nó như vậy không?
transition
, vì vậy không phải tất cả các div đều chuyển đổi cùng một lúc, mà thực sự là 15ms sau mỗi lần, tạo ra một số hiệu ứng cuộn. Khi tôi đi đến một tab khác và quay lại sau một thời gian, tất cả các chuyển đổi div cùng một lúc và setTimeOut
hoàn toàn bị bỏ qua. Đó không phải là một vấn đề lớn đối với dự án của tôi, nhưng nó là một bổ sung kỳ lạ và không mong muốn.