当使用url参数时,iPhone的Webapp从主屏幕切换到Safari

我为iPhone开发了一个networking应用程序,并将其join书签并添加到我的iPhone主屏幕。 我注意到它的一个问题,虽然:它的工作原理,直到我导航到应用程序中有一个查询string和参数的页面 – 例如, www.mywebapp.com/page02.html?param1=value&param2=value2 。 当我带着这样一个URL进入页面时,iOS会将我从Safari的embedded式版本切换到主要的Safari应用程序 – 它将我从我的应用程序中取出。 我不知道为什么会这样。

是什么原因造成的?我能做些什么?

非常感谢@BjornKaiser谁提供的解决scheme,这里是一个简单的jQuery脚本,将为您处理所有的链接。

将此添加到您的主ASP.Net页面的头部分。 确保你有jQuery包括:

 <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> 

这就是苹果devise它的方式。 如果您需要多视图Web应用程序,则需要在JavaScript中实现页面切换逻辑。 一切都会导致你所描述的问题 – >跳转到Safari。

我不知道是什么原因导致这个问题 ,但这个关于UIWebView问题的问题有一个解决scheme,以便如何在UIWebView页面打开一些链接,并在移动Safari中打开一些链接,所以我敢打赌,你可以概括为你的问题的解决scheme。

我find了最好的解决scheme:使用客户端数据存储。 您可以使用JavaScript将variables信息存储到variableslocalStorage和sessionStorage中。

看看这些链接: O'Reilly客户端数据存储教程和Apple关键值客户端数据存储教程的Web应用程序