TKT*_*KTS 15 html iphone safari ios iphone-standalone-web-app
我使用了safari的所有推荐链接和元标记创建了一个webapp,例如.
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<link rel="apple-touch-startup-image" href="/startup.png" />
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />
<link rel="apple-touch-icon" sizes="72x72" href="/apple-touch-icon-ipad.png" />
<link rel="apple-touch-icon" sizes="114x114" href="/apple-touch-icon-iphone4.png" />
Run Code Online (Sandbox Code Playgroud)
但是,我的问题是如果在网络服务器上更新了startup.png或任何apple-touch-icon图像文件,看起来用户的iphone或ipod似乎不会在更新的文件保存到他们的主屏幕(我猜它是以某种方式缓存的).它可以从主屏幕中删除webapp并重新添加.但有没有办法让应用程序知道它需要刷新这些图像而不需要用户删除并重新添加它?
Mic*_*yen 19
问这个问题已经过了几年,我在这里报告说现在可以了!
在iOS的较新版本中,主屏幕上显示的Apple Touch图标就像网站上的任何其他内容一样被缓存.通过简单地更改图像的名称,它将强制主屏幕快捷方式在下次启动快捷方式时刷新图标.
但是,为了与Apple的命名约定保持一致,只要您希望重新加载图标并继续调用图像,就可以简单地将URL变量附加到引用apple-touch-icon.png
.
我所做的自动化此问题(在PHP中)是将最后修改的日期/时间附加到图像.例如:
<link rel="apple-touch-icon" href="apple-touch-icon.png?m=<?php echo filemtime('apple-touch-icon.png'); ?>" />
Run Code Online (Sandbox Code Playgroud)
这输出:
<link rel="apple-touch-icon" href="apple-touch-icon.png?m=1415832495" />
Run Code Online (Sandbox Code Playgroud)
现在,您不必做任何事情,只需字面覆盖图像,其他一切都将自动发生.当您更改图像时,修改的时间会更改,并且不再与用户在缓存中的内容相匹配,因此会强制进行新的下载.简单!
老回答:我已经做了很多研究,试图找到一种方法.不幸的是,这是不可能的.需要将其删除并重新添加到主屏幕,以便使用新图标.
归档时间: |
|
查看次数: |
12119 次 |
最近记录: |