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

see also