Hello,
I wrote a web application for use in mobile devices 6+ years ago - back when iPhones were still mainly the only phone web applications ran in.
Essentially the app is a set of HTML pages which uses localStorage and the HTML5 Application Cache to allow it work in offline mode. It's a data entry app used in locations where mobiles are required to be used in airplane mode, then upon finishing (and restoring coverage after switching off airplane mode) a sync process sends all the localStorage data back to our server.
The app has worked perfectly fine in those past 6+ years on al iOS devices, but sometime between iOS 9.2.1 and iOS9.3.1, it has developed an issue where it completely freezes in Safari after certain actions. The only way to un-freeze it is to go to a different tab/window, then back again, then it works perfectly fine.
The certain actions involve jQuery element manipulation - essentially there's a bunch of dynamically generated rows of fields for data entry, and when you've finished a row you can save it to localStorage. I animate the removal of the row and insertion of a new clone, to make it obvious what's happened. It's after these actions that the whole page becomes completely unresponsive to finger taps: the select and button elements in the rows, the buttons in the header ... the whole thing freezes.
It doesn't happen in Chrome at all. Only Safari post iOS 9.2.1.
It'd difficult to replicate in jsFiddle, not without a lot of work. i'm basically hoping this (very) limited question description makes someone go "Oh, I had that problem, I fixed it by doing this". Or perhaps "Yeah ... they stuffed that up in Safari in 9.3 ... waiting for them to fix it".
I've seen prior reference to fields taking a long time to trigger the keyboard:
http://stackoverflow.com/questions/22471951/safari-iphone-ios-7-freezes-on-input-text-focus
I tried some of the suggestions in there, even though they're iOS 7 related, and none of it worked.
The fact that simply changing tab focus fixes the problem has me convinced it's something they've done in Safari. That plus, we hven't changed the code for years.
bj.