diff --git a/views/service-worker.js.erb b/views/service-worker.js.erb index e64e6355..9e32ef89 100644 --- a/views/service-worker.js.erb +++ b/views/service-worker.js.erb @@ -48,7 +48,10 @@ self.addEventListener('fetch', event => { <%# Attempt to return the index page from the cache if the user is visiting a url like devdocs.io/offline or devdocs.io/javascript/global_objects/array/find %> <%# The index page will make sure the correct documentation or a proper offline page is shown %> - if (url.origin === location.origin && !url.pathname.replace(/~([0-9.])+/, '').includes('.')) { + const pathname = url.pathname; + const filename = pathname.substr(1 + pathname.lastIndexOf('/')).split(/\#|\?/g)[0]; + + if (url.origin === location.origin && !filename.includes('.')) { const cachedIndex = await caches.match('/'); if (cachedIndex) return cachedIndex; }