navigator.scheduling is a read-only property that returns a Scheduling object for the current document. Its main method is isInputPending(), which checks for pending user input during long tasks (MDN).
Read the notes below before you rely on this property. Prefer feature detection when support is limited.
Syntax
Use navigator.scheduling. Start with this line.
JavaScript
navigator.scheduling
Call
What it does
navigator.scheduling
Primary signature.
Built into the browser. Read navigator.scheduling on Navigator — no import required.
Library declarations
JavaScript
navigator.scheduling
Parameters
Parameter
Description
includeContinuous
Optional. Also count continuous events (mousemove, etc.)
Return Value
Return Value
Description
*
The current value of navigator.scheduling.
JavaScript Examples
Example 1 — Feature-Detect Support
Check for scheduling and isInputPending before calling them.
New apps. Prefer Scheduler yield() when you adopt that API.
Compatibility
Browser Support
navigator.scheduling is marked Deprecated and Experimental on MDN. It is not a Baseline dependency. Prefer the Scheduler API for new work; feature-detect if you must read legacy code.
✓ Deprecated · Experimental
Navigator.scheduling
Returns a Scheduling object with isInputPending(). Limited availability; superseded by Scheduler features such as yield().
LimitedDeprecated path
Google ChromePartial / legacy isInputPending path
Partial
Mozilla FirefoxLimited or unavailable
Limited
Apple SafariLimited or unavailable
Limited
Microsoft EdgePartial / Chromium-based
Partial
OperaChromium-based / varies
Partial
Internet ExplorerNot available
No support
schedulingDeprecated
Bottom line: Do not ship new features on navigator.scheduling. Detect it for learning, then migrate to Scheduler / portable yields.
Frequently Asked Questions
A Scheduling object for the current document. Its main method is isInputPending(), which reports whether pending input events are waiting in the event queue.
Yes to both on MDN: Deprecated and Experimental. Avoid it in new projects. Prefer the Scheduler API (for example scheduler.yield()) when available.
During long JavaScript work, you can check if the user is trying to interact. If true, yield to the main thread so clicks and keys feel responsive. MDN warns it may incorrectly return false.
No. MDN marks it Deprecated and says Scheduling / isInputPending has been superseded by better Scheduler features. Keep any usage behind feature detection for learning only.
Check "scheduling" in navigator and typeof navigator.scheduling.isInputPending === "function" before calling it.
No. It is a read-only Navigator property. You use the returned Scheduling object; you do not assign a new value.