demo · v135
Route mismatch detective
Click the buttons below to do real navigations vs SPA pushState() calls. The two panels show document.location.href (the live URL the user sees) and the Client.url the service worker would report. Pre-135 they drift apart on every pushState; 135+ pins Client.url to the actual loaded document.
SW: ?
document.location.href
—
what the user sees in the address bar
Client.url (SW view)
—
Chrome 135+: the URL the document was loaded from, ignores pushState