Tôi nhận thấy rằng nếu tôi đặt setTimeout
trong 1 phút trong tương lai và sau đó thay đổi thời gian hệ thống của tôi thành 5 phút trước, chức năng setTimeout
sẽ kích hoạt sau 6 phút .JavaScript setTimeout và thay đổi về các vấn đề gây ra thời gian hệ thống
Tôi đã làm điều này là vì tôi muốn xem điều gì xảy ra trong khi thay đổi tiết kiệm ánh sáng ban ngày sang đồng hồ hệ thống.
Trang web JavaScript của tôi sử dụng chức năng setTimeout
để tự động làm mới trang sau mỗi 5 giây và nếu tiết kiệm ánh sáng ban ngày xảy ra thì thông tin trang sẽ bị đóng băng trong một giờ. Có cách giải quyết nào không?
Chỉnh sửa: Tôi đang cập nhật trang bằng Ajax, tôi không muốn làm mới toàn bộ trang.
Bạn đang sử dụng trình duyệt nào? –
Khi thay đổi Thời gian tiết kiệm ánh sáng ban ngày xảy ra, đó thực sự là thay đổi bù trừ múi giờ, không thay đổi thành UTC. Kiểm tra bạn thực hiện không mô hình những gì thực sự xảy ra nếu DST được xử lý tự động bởi hệ thống. [Leap seconds] (http://en.wikipedia.org/wiki/Leap_second) có thể vẫn là một vấn đề, tuy nhiên, như một đồng bộ hóa thời gian tự động nếu đồng hồ của máy tính đã trôi xa thời gian thực (vì vậy nó sẽ không dần dần thay đổi thời gian). – PleaseStand
Tôi vừa thử nghiệm điều này trong IE7, IE8, IE9, Firefox và Chrome trên Windows 7 và tôi không thấy hành vi bạn mô tả. Có lẽ điều này là cụ thể cho hệ điều hành? – gilly3