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

时间:2011-12-12 15:27:54

标签: iphone ios web-applications mobile-safari

我为iPhone开发了一个网络应用程序,我将它加入书签并添加到我的iPhone主屏幕。我注意到它有问题:它按预期工作,直到我导航到应用程序中具有查询字符串和参数的页面 - 例如www.mywebapp.com/page02.html?param1=value&param2=value2。当我转到带有这样一个URL的页面时,iOS会将我从Safari的嵌入式版本切换到主要的Safari应用程序 - 它将我带出我的应用程序。我不知道为什么会这样。

是什么导致了这一点,我该怎么办呢?

4 个答案:

答案 0 :(得分:8)

非常感谢提供解决方案的@BjornKaiser,这是一个简单的 jQuery 脚本,可以为您处理所有链接。

将其添加到主ASP.Net页面的head部分。确保包含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>

答案 1 :(得分:5)

这就是Apple设计它的方式。如果您需要多视图Web应用程序,则需要在JavaScript中实现页面切换逻辑。其他一切都会导致您描述的问题 - &gt;跳到Safari。

答案 2 :(得分:0)

我不确定是什么导致这种情况,但this question about UIWebView issues有一个解决方案,可以在UIWebView页面中打开一些链接,有些链接在Mobile Safari中打开,所以我打赌你可以从中推广到解决方案你的问题。

答案 3 :(得分:-1)

我找到了最佳解决方案:使用客户端数据存储。您可以使用JavaScript将变量信息存储到变量localStorage和sessionStorage中。

看看这些链接: O'Reilly client-side data storage tutorialApple key-value client-side data storage tutorial for web apps