For a more complete list check out apple shows love for html5
- No inspector when using mobile safari and pluged in iOS device.
- Inspector works for home screen apps.
window.scrollTo(0, 1);doesn't hide the url bar anymore.- Landscape causes the status bar to sometimes disappear (iPhone 5). Don't know if feature or bug.
- fixed and absolute dom elements. This has from day 1 been broken. Now it's broken in new ways...
- On iPad2 the cellular + battery status bar is sometimes black and sometimes white.
WKWebView cannot load files using file:// URL protocol since iOS 8 beta 4 and 5
- html5 video doesn't work at all, for example using youtube's embed iframe it never plays. (still broken in IOS 8.1.1)
- window.indexedDB is there, set to null and is a READONLY property. Breaking shims/feature detection. (https://github.com/JamesKyburz/IndexedDBShim/commit/a254fdddb4880af4afee79f8984574eda7b09d09) fixes this if used in combo with idb-wrapper.
- calling prompt/alert in the same tick in the event loop for (click/touch) causes safari to crash with EXC_CRASH (SIGABRT) The fix for this is not ideal because calling prompt in setTimeout doesn't show the keyboard.....
- locking and unlocking device removes all javascript timers!
event listeners are intact, however even a location.reload() doesn't fix this issue. You are left with a mobile safari in an unusable state!
My fix was to abuse the other alert bug, you will need your own implementation of
ping.//iOS8 deletes all timers and leaves mobile safari in an unusable state. if (window.navigator.standalone) { document.addEventListener('touchmove', heartBeat, false); ping(); } function ping() { // when timers are removed session.get will never call the callback setTimeout(session.get.bind(session, 'ping', ping), 1000); ping.i = new Date(); } function heartBeat() { if (new Date() - ping.i > 4000) { // this will crash mobile safari because of another bug, this it what we want in this case though ;) alert('Some helpful text, blah blah'); } }
WKWebView cannot load files using file:// URL protocol since iOS 8 beta 4 and 5