Cập nhật:
Có 2 khía cạnh cho câu hỏi này.
- Trình duyệt có theo dõi ID hẹn giờ không?
- Họ có thể tiếp cận
tôi chỉ có thể đoán cho # 1 (và sau này # 2) rằng OP có nghĩa là "Họ đang theo dõi" theo nghĩa chung chung bởi vì như một nhà phát triển s/ông muốn kiểm soát họ .
Tóm lại, có chúng được theo dõi (như @s_hewitt được ghi chú là long
giá trị của trình duyệt) và chúng có thể được quản lý bởi nhà phát triển bằng cách duy trì tham chiếu đến bộ tính giờ khi thiết lập.
Là một nhà phát triển bạn có thể kiểm soát (ví dụ ngừng) họ bằng cách gọi (clearInterval(handleRef), hoặc clearTimeout(handleRef))
Tuy nhiên không có mặc định window.timers
hoặc bộ sưu tập tương tự cung cấp cho bạn một danh sách các tính giờ hiện - bạn sẽ cần phải duy trì bản thân nếu bạn cảm thấy cần.
function startPolling(delay){
pollHandle = setInterval(doThis, delay);
}
function stopPolling(){
clearInterval(pollHandle);
}
function doThisIn30minUnlessStopped(){
timerHandle = setTimeout(doThisThing, 1800000);
}
function stop30minTimer(){
clearTimeout(timerHandle);
}
Bạn chỉ cần tạo tham chiếu biến cho bộ hẹn giờ và nếu/khi cần, hãy xóa tên theo dõi.
Khi bạn tải một trang khác, tất cả các bộ hẹn giờ sẽ tự động bị xóa bởi trình duyệt, do đó bạn không cần duy trì xử lý và xóa chúng trừ khi bạn cần/muốn.
Tôi muốn nhìn thấy một câu trả lời tốt để này quá ; Tôi nghĩ đó là "không" nhưng tôi chưa bao giờ thực sự nghiên cứu nó. – Pointy
Vâng, ngay cả khi nó đã bằng cách nào đó đăng ký chúng, làm thế nào bạn sẽ biết đó là gì? Vâng, tôi đoán nếu bạn biết chỉ có một thời gian chờ hoặc khoảng thời gian hoặc bất cứ điều gì, bạn sẽ không cần phải biết. – Pointy
Haha, bạn đã nói "BOM" thay vì DOM. – Felix