Service workers is one of the most egregious failures on their part. And I believe it's been done on purpose. With service workers you get full control over building your JS based app, something Apple does not want, they want everyone to got through their store.
Considering that the only way (moving forward) to create an offline JS app now is through service workers, and Apple is just starting to get it working, _maybe_ for the next version of Safari.
https://caniuse.com/#search=service%20workers
What does this mean? It means that it may take one or two more _years_ of _hardware_ updates to get iOS users able to use a javascript feature in their browser.
As far as I know, iOS and Safari are knitted together like MS did to Windows and IE. Try and get a new version of Safari that doesn't match with the version of iOS you are running.
I could go on about the state of local storage and other HTML5 debacles on Safari, but it's total loser and I am only going to make myself upset.