In mobilen Apps unter iOS gibt es ein gravierendes Problem mit Web Apps, die dem Homescreen hinzugefügt werden. Sobald man auf einen Link klickt, öffnet sich dieser im Safari und nicht – wie vermutet – in der Web App.
Mit folgendem Trick kann man dieses Verhalten umgehen:
1 2 3 4 5 6 7 8 9 |
$(document).ready(function() { var deviceAgent = navigator.userAgent.toLowerCase(); if (deviceAgent.match(/(iphone|ipod|ipad)/)) { $('a').on('click', function(e) { e.preventDefault(); self.location = $(this).attr('href'); }); } }); |
Hinweis: Im Snippet wird jQuery verwendet, auch wenn es für diese Zwecke nicht zwingend benötigt wird.

9. September 2012 um 10:29 Uhr
Eine vielleicht etwas dumme Frage: Wie bekomme ich das den nun in HTML eingefügt?
8. November 2012 um 11:00 Uhr
$(document).ready(function() {
var deviceAgent = navigator.userAgent.toLowerCase();
if (deviceAgent.match(/(iphone|ipod|ipad)/)) {
$(‘a’).on(‘click’, function(e) {
e.preventDefault();
self.location = $(this).attr(‘href’);
});
}
});
So
Vielen Dank, genau das hatte ich gesucht
.
8. November 2012 um 11:01 Uhr
.
.
Nur ohne Punkte, hat er bei meinem vorherigen Kommentar raus gemacht
24. Januar 2013 um 06:28 Uhr
Hallo…
Punkte weglassen verstehe ich nicht.
Wenn ich es kopiere und einfüge funktioniert es bei mir nicht.
Tim, bist du so nett und schreibst mal ein kleinen html Code mit
Beispiel, irgend nen link.
Wäre Dir dankbar.
29. Januar 2013 um 12:08 Uhr
Hi,
ich hab ein bisschen was aus meinem Projekt genommen, vielleicht hilft euch das so.
http://pastebin.com/FFUjjifm
22. März 2013 um 09:25 Uhr
Hallo!
Danke das funktioniert ganz gut! Ein Problem hab ich aber noch. Bei meinem Projekt werden per ajax einige sachen nachgeladen. Wenn das passiert ist (nach x sekunden) werde ich leider wieder nach dem link klick zum mobile safari weitergeleitet. Muss ich das script in jede ajax-template datei (nutze smarty) einbinden? Hatte es bisher nur im header.