I've got a web app which works perfectly in the browser - both on the desktop and mobile. The problem comes when I try to pretty it up by adding:
<meta name="apple-mobile-web-app-capable" content="yes" />
This works great too - up to the point I need to delete a record in the app.
I'm also using this great gist I found - https://gist.github.com/1042167 to stop the app switching into mobile safari:
<script type="text/javascript">
(function(document,navigator,standalone) {
// prevents links from apps from oppening in mobile safari
// this javascript must be the first script in your <head>
if ((standalone in navigator) && navigator[standalone]) {
var curnode, location=document.location, stop=/^(a|html)$/i;
document.addEventListener('click', function(e) {
curnode=e.target;
while (!(stop).test(curnode.nodeName)) {
curnode=curnode.parentNode;
}
// Conditions to do this only on links to your own app
// if you want all links, use if('href' in curnode) instead.
if(
'href' in curnode && // is a link
(chref=curnode.href).replace(location.href,'').indexOf('#') && // is not an anchor
( !(/^[a-z\+\.\-]+:/i).test(chref) || // either does not have a proper scheme (relative links)
chref.indexOf(location.protocol+'//'+location.host)===0 ) // or is in the same protocol and domain
) {
e.preventDefault();
location.href = curnode.href;
}
},false);
}
})(document,window.navigator,'standalone');
</script>
I'm wondering if this could be altered so data-method="delete" will play nice? at the minute - when I click 'Delete' - the 'are you sure?' confirm box hangs for a second or two, before dumping me back on the same Show page, with no delete having occured...