Available iPhone Web Application JavaScript UI Library/Frameworks

Old question, but still relevant. Sencha (the new name of the company behind ExtJs) just released the mobile app platform Sencha Tounch for iPhone, iPod, iPad and Android: http://www.sencha.com/products/touch/ Blog post that explains the difference between jQTouch and Sencha Touch: http://9-bits.com/post/723711597/jqtouch-and-sencha-touch Update: John Resig recently announced that the jQuery team is working on a mobile … Read more

‘pageshow’ is not received when pressing “back” button on Safari on *IPad”

You can check the persisted property of the pageshow event. It is set to false on initial page load. When page is loaded from cache it is set to true. window.onpageshow = function(event) { if (event.persisted) { alert(“back to page”); } }; For some reason jQuery does not have this property in the event. You … Read more

Does iPhone/iPad Safari require ‘Accept-Ranges’ header for video?

I found some Apple documentation that says that it does in fact need that for video. HTTP servers hosting media files for iOS must support byte-range requests, which iOS uses to perform random access in media playback. (Byte-range support is also known as content-range or partial-range support.) Most, but not all, HTTP 1.1 servers already … Read more

How to figure out when a HTML5 video player enters the full screen mode on iOS / iPads?

After much faffing around a friend finally pointed me in the right direction. The events I was looking for are: webkitbeginfullscreen and webkitendfullscreen var player = document.getElementsByTagName(“video”)[0]; player.addEventListener(‘webkitbeginfullscreen’, onVideoBeginsFullScreen, false); player.addEventListener(‘webkitendfullscreen’, onVideoEndsFullScreen, false); With that I can safely capture when the user clicks over the fullscreen button on Safari for the iPads. Interestingly the same … Read more

Strange behavior of select/dropdown’s onchange() JS event when using ‘Next’ on Mobile Safari Dropdown list item select box

I had the same problem on my site. I was able to fix it by manually polling the selectedIndex property on the select control. That way it fires as soon as you “check” the item in the list. Here’s a jQuery plugin I wrote to do this: $.fn.quickChange = function(handler) { return this.each(function() { var … Read more