Скрыть адресную строку и нижний колонтитул Safari

В моем проекте jQuery Mobile я использую следующий код:

<meta name="viewport" content="width=device-width, minimum-scale=1, maximum-scale=1">

Я получаю адресную строку браузера Safari и нижний колонтитул навигации. Как я могу скрыть их, чтобы показать свое приложение?

Ответы

Ответ 1

Вы можете настроить несколько метатег, чтобы сообщить iOS, что ваш сайт можно добавить на главный экран в качестве веб-приложения. После запуска оттуда все элементы Safari скрыты.

Ознакомьтесь с разделом "Скрытие компонентов пользовательского интерфейса Safari" здесь.

Вы можете указать начальные изображения заставки и пользовательские значки для приложения, как показано на главном экране.

<meta name="viewport" content="width=device-width, minimum-scale=1, maximum-scale=1">
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<link rel="apple-touch-icon" href="apple-touch-icon-57x57.png" />
<link rel="apple-touch-icon" sizes="72x72" href="apple-touch-icon-72x72.png" />
<link rel="apple-touch-icon" sizes="114x114" href="apple-touch-icon-114x114.png" />
<link rel="apple-touch-startup-image" href="apple-touch-startup-image-320x460.png" />
<link rel="apple-touch-startup-image" sizes="768x1004" href="apple-touch-startup-image-768x1004.png" />

Ответ 2

Вам не нужен тег <meta>. jQuery mobile должен позаботиться о том, чтобы скрыть адресную строку в iOS. Никогда не было возможности удалить нижний колонтитул.

Ответ 3

Rob, попробуйте добавить ниже script. Это должно сделать трюк открытия нового запроса в том же окне

<script type="text/javascript">
    window.onload = function () {
        var a = document.getElementsByTagName("a");
        for (var i = 0; i < a.length; i++) {
            if (a[i].className.match("noeffect")) {
                // Does nothing
            }
            else {
                a[i].onclick = function () {
                    window.location = this.getAttribute("href");
                    return false;
                };
            }
        }
    };
</script>