Reputation: 207
I've developed a web app for the iPhone, and I have it bookmarked and added to my iPhone's home screen. I'm noticing a problem with it, though: it works as intended until I navigate to a page within the app that has a query string and parameters - for example, www.mywebapp.com/page02.html?param1=value¶m2=value2
. When I go to a page with such a URL, iOS switches me from the embedded version of Safari to the main Safari app - it takes me out of my app. I don't know why this is happening.
What causes this and what can I do about it?
Upvotes: 10
Views: 4390
Reputation: 9966
Many thanks to @BjornKaiser who provided the solution, here is a simple jQuery script that will handle this for you for all links.
Add this to the head section of your master ASP.Net page. Make sure you have jquery included:
<head>
<!-- Your reference to your jQuery library -->
<script type="text/javascript" src="/js/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(function() {
$('a').click(function() {
document.location = $(this).attr('href');
return false;
});
});
</script>
</head>
Upvotes: 8
Reputation: 207
I found the best solution: using client-side data storage. You can use JavaScript to store variables information into the variables localStorage and sessionStorage.
Look at these links: O'Reilly client-side data storage tutorial and Apple key-value client-side data storage tutorial for web apps
Upvotes: -1
Reputation: 9912
That's the way Apple designed it. If you need a multi-view Web App you need to implement the page switching logic in JavaScript. Everything else will cause the problem you described -> jumping to Safari.
Upvotes: 5
Reputation: 4343
I'm not sure what causes this, but this question about UIWebView issues has a solution for how to make some links open in the UIWebView page and some open in Mobile Safari, so I bet you could generalize from that to a solution to your problem.
Upvotes: 0