Webapp для iphone переключается с домашнего экрана на Safari при использовании параметров URL - PullRequest
10 голосов
/ 12 декабря 2011

Я разработал веб-приложение для iPhone, добавив его в закладки и добавив на домашний экран моего iPhone.Тем не менее, я заметил проблему с ним: он работает так, как задумано, пока я не перейду на страницу в приложении, содержащую строку запроса и параметры - например, www.mywebapp.com/page02.html?param1=value&param2=value2.Когда я перехожу на страницу с таким URL, iOS переключает меня со встроенной версии Safari на основное приложение Safari - оно выводит меня из моего приложения.Я не знаю, почему это происходит.

Что вызывает это и что я могу с этим поделать?

Ответы [ 4 ]

8 голосов
/ 30 мая 2012

Большое спасибо @BjornKaiser, который предоставил решение, вот простой jQuery скрипт, который будет обрабатывать это для вас для всех ссылок.

Добавьте это в раздел head вашей главной страницы 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>
5 голосов
/ 14 декабря 2011

Так Apple спроектировал это. Если вам нужно веб-приложение с несколькими представлениями, вам нужно реализовать логику переключения страниц в JavaScript. Все остальное вызовет описанную вами проблему -> переход к Safari.

0 голосов
/ 08 марта 2012

Я нашел лучшее решение: использование хранилища данных на стороне клиента. Вы можете использовать JavaScript для хранения информации о переменных в переменных localStorage и sessionStorage.

Посмотрите на эти ссылки: O'Reilly учебник по хранению данных на стороне клиента и Учебное пособие по хранению данных на стороне клиента для веб-приложений на основе ключей Apple

0 голосов
/ 14 декабря 2011

Я не уверен, что является причиной этого, но этот вопрос о проблемах UIWebView имеет решение о том, как сделать некоторые ссылки открытыми на странице UIWebView и некоторые открытые в Mobile Safari, поэтому я уверен, что вы могли быобобщить с этим до решения вашей проблемы.

...