Unified · Split
| @@ -48,7 +48,10 @@ self.addEventListener('fetch', event => { · 47 unmodified lines | ||
| 48 | 48 | |
| 49 | 49 | <%# 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 %> |
| 50 | 50 | <%# The index page will make sure the correct documentation or a proper offline page is shown %> |
| 51 | − if (url.origin === location.origin && !url.pathname.replace(/~([0-9.])+/, '').includes('.')) { | |
| 51 | + const pathname = url.pathname; | |
| 52 | + const filename = pathname.substr(1 + pathname.lastIndexOf('/')).split(/\#|\?/g)[0]; | |
| 53 | + | |
| 54 | + if (url.origin === location.origin && !filename.includes('.')) { | |
| 52 | 55 | const cachedIndex = await caches.match('/'); |
| 53 | 56 | if (cachedIndex) return cachedIndex; |
| 54 | 57 | } |