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

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

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

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

3 ответов


вы можете настроить несколько метатегов, чтобы сообщить 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" />

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


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

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