代码之家  ›  专栏  ›  技术社区  ›  pilcrow

为mobile Safari设置“主屏幕”图标名称

  •  54
  • pilcrow  · 技术社区  · 15 年前

    默认情况下,将网站“书签”为图标时(通过选择 添加到主屏幕 "+" 菜单),图标名称默认为页面的 <title> ,截断为12个字符。

    apple-touch-icon <标题>

    8 回复  |  直到 15 年前
        1
  •  213
  •   Community CDub    8 年前

    在iOS 6中,这可以通过meta标记来解决:

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

    cwap 正确的评论:现在是官方文件。这是所有关于设置的信息 meta web应用的标记: https://developer.apple.com/library/content/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html

        2
  •  17
  •   Dexter    10 年前

    对于iOS:

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

    <meta name="application-name" content="Short name">
    
        3
  •  4
  •   Community CDub    8 年前

    为了在所有版本的iOS上获得更好的交叉兼容性,您可以使用多种答案的组合(灵感来自 https://stackoverflow.com/a/13838563/1048705

    将此内容放入您的iOS 6+文档中:

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

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

    请注意,JavaScript将更改所有iOS客户端的标题,包括ios6+。

        4
  •  2
  •   qmega    15 年前

    似乎没有任何方法可以用meta标签或类似的东西来做到这一点。我的建议是使用服务器端逻辑给iphone一个不同的标题。例如,在php中,可以执行以下操作:

    <title><?php echo strpos($_SERVER['HTTP_USER_AGENT'], 'iP')?'iDevice title':'normal title'; ?></title>
    
        5
  •  2
  •   Phil    14 年前

    这就是我为虚构的客户“超级史诗度假酒店”所做的工作,它的缩写名“SERH”符合iOS主屏幕图标名的限制(顺便说一句,这个限制似乎是基于字符数(在我的iPad上是13)和渲染的宽度。)

    把名字填上 &#xFFFF; 字符,直到它达到极限。在我的情况下,9似乎是足够的,但你总是可以添加更多以防万一。

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

    塞尔赫

    &#xFFFF公司; 字符在iOS上是不可见的,并且不占用任何空间,直到用户尝试将名称退格。在我的例子中,用户必须退格9次才能退格“SERH”。

    编辑: &#xFFFF公司;

        6
  •  1
  •   NickG    12 年前

    对于iOS6,使用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将其附加到body onload。

        7
  •  1
  •   hectk    9 年前

    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
    
        8
  •  0
  •   Ahmad Ebrahim    7 年前

    我认为safari不会允许你把任何一个页面作为你的主页,最后把任何搜索引擎作为你的主页是没有用的