it-swarm.com.ru

Настройка названия значка «Главный экран» для мобильного Safari

По умолчанию при "закладке" веб-сайта в виде значка (выбрав Добавить на главный экран в меню "+" Safari), имя значка по умолчанию соответствует значению страницы. <title>, усеченный до 12 символов.

Во многом так же, как Apple-touch-icon позволяет вам указать свое собственное иконизированное представление страницы, есть ли способ для веб-страницы указать имя значка по умолчанию, отличное от <title>?

55
pilcrow

В iOS 6 это решается с помощью метатега:

<meta name="Apple-mobile-web-app-title" content="Short name">

Как cwap правильно прокомментировал: теперь это официальная документация. Вот вся информация о настройке тегов meta для веб-приложений: https://developer.Apple.com/library/content/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html

206
Maarten Wolzak

Для iOS:

<meta name="Apple-mobile-web-app-title" content="Short name">

Для Android:

<meta name="application-name" content="Short name">
13
Dexter

Для лучшей кросс-совместимости во всех версиях iOS вы можете использовать комбинацию ответов (вдохновлено https://stackoverflow.com/a/13838563/1048705 ):

Поместите это в свой документ для iOS 6+:

<meta name="Apple-mobile-web-app-title" content="Short name">

и используйте содержимое этого тега для заголовка для других версий iOS, которые не поддерживают тег напрямую:

if (navigator.userAgent.match(/(iPad|iPhone|iPod)/i)) {
    document.title = document.getElementsByName('Apple-mobile-web-app-title')[0].content;
}

Обратите внимание, что JavaScript изменит название для всех клиентов iOS, включая iOS 6+.

4
davidjb

Кажется, нет никакого способа сделать это с метатегами или чем-то подобным. Я бы предложил использовать серверную логику, чтобы придать айфонам другое название. Например, в php вы можете сделать что-то вроде этого:

<title><?php echo strpos($_SERVER['HTTP_USER_AGENT'], 'iP')?'iDevice title':'normal title'; ?></title>
2
qmega

Именно так я обошел этот вопрос для своего вымышленного клиента "Super Epic Resort Hotels", сокращенное название которого "SERH" может соответствовать предельному значению имени значка на главном экране iOS. (Кстати, ограничение, похоже, основано как на количестве символов (13 на моем iPad), так и на визуализированной ширине.)

Дополните имя символами &#xFFFF;, пока оно не достигнет предела. В моем случае 9 кажется достаточным, но вы всегда можете добавить больше на всякий случай.

<title>SERH&#xFFFF;&#xFFFF;&#xFFFF;&#xFFFF;&#xFFFF;&#xFFFF;&#xFFFF;&#xFFFF;&#xFFFF; - Super Epic Resort Hotels</title>

При добавлении страницы на домашний экран Safari предлагает имя:

Serh

что на самом деле

Serh & # xFFFF; & # xFFFF; & # xFFFF; & # xFFFF; & # xFFFF; & # xFFFF; & # xFFFF; & # xFFFF; & # xFFFF;

но пользователь не заметит их, так как символы &#xFFFF; невидимы в iOS и не занимают места, пока пользователь не попытается вернуть имя на место. В моем случае, пользователь должен вернуться на 9 раз, прежде чем он сможет вернуться на "SERH".

Правка: Используйте это вместе с решением qmega выше, так как символы &#xFFFF; могут быть видны при просмотре на устройствах не на iOS.

2
Phil

Ниже вы можете обратиться к URL-адресу для настройки значка и имени: https://developer.Apple.com/library/ios/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html

В голову добавьте ниже код:

<link rel="Apple-touch-icon" href="/custom_icon.png"> // For icon
<meta name="Apple-mobile-web-app-title" content="Short name"> // For name
1
hectk

Для iOS 6 используйте решение Maarteen. Для совместимости с iOS 5 вы также можете изменить заголовок с помощью JS:

if (navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPod/i)
    || navigator.userAgent.match(/iPad/i)) 
{
    document.title = "Short Title";
}

Вероятно, лучше всего прикрепить это к загрузке тела с помощью JQuery.

1
NickG

Я думаю, что сафари не позволит вам сделать какую-либо страницу вашей домашней страницей, в конце концов, нет никакого смысла делать какую-либо поисковую систему вашей домашней страницей.

0
Ahmad Ebrahim