(转载自https://my.oschina.net/Alrcly/blog/862795
这个东西叫 Apple Touch Icon, 是由网站提供的,和 favicon.ico 差不多的性质,理论上来说是不能修改的。
但是!那些说不能改的还需要学习一个,因为显然 Safari 会把这个图标存到本地,定期更新,如果修改缓存的话,应该也是换这些图标的。找一下会发现资源库 Safari 里面有个文件夹:~/Library/Safari/Touch Icons
嗯应该就是它了!对于那些图标错误想重置的人,删掉这个文件夹,重启浏览器就可以重置图标了。
这个文件夹里面是这样的:
![这个东西叫 Apple Touch Icon, 是由网站提供的,和 favicon.ico 差不多的性质,理论上来说是不能修改的。
但是!那些说不能改的还需要学习一个,因为显然 Safari 会把这个图标存到本地,定期更新,如果修改缓存的话,应该也是换这些图标的。找一下会发现资源库 Safari 里面有个文件夹:~/Library/Safari/Touch Icons
嗯应该就是它了!对于那些图标错误想重置的人,删掉这个文件夹,重启浏览器就可以重置图标了。
一个 .plist 和一大堆图标,看起来就是存个人收藏图标的地方。有些难看的图标只要替换掉就好了!顺手把 Google 的图标换掉统一风格!
但是还有一些图标这里面没有,Safari中显示的是默认图标怎么办?查看一下那个CacheSettings.plist,
这个属性表应该包含了所有的个人收藏和最近访问。对于每一个条目,有这几个属性:
- TouchIconRequestCount(Number) // 我也不知道干什么的……
- TouchInconInCache(Boolean) // 是否下载了/正在下载这个网站的apple-touch-icon.png
- TouchIconLastRequestDate(Date) // 就是上次更新图标的日期。Safari会定时更新这些图标
- TouchIconTransparencyAnalysis(Number) // 如何处理图片的透明 - 0:用黑色填充 - 1:用白色填充 - 2:保持透明
对于那些没有提供 Apple Touch Icon 的网站,只需要在 CacheSettings.plist 里面把 TouchInconInCach 改成 YES ,再添加这个图标就好了。看一下这些图标的命名规则:
嗯……定长字符串……
完全一致 图标的命名规则就是将 CacheSettings.plist 里面的条目名称用 MD5 生成摘要字符串,而百度一下到处都是在线 MD5 字符串生成(谢谢@Leo Liang 提出 MD5 不应该叫加密)。注意一定要和属性表里面的条目名称完全一致,"http://zhihu.com" 和 "知乎 - 与世界分享你的知识、经验和见解" 算作两个东西哦。顺便一提,按照苹果的规格,Retina 的 apple-touch-icon.png 应该是 180x180 的,而大部分网站的图标都停留在 Retina 之前的时代……而苹果自家的 http://apple.com 和 http://iCloud.com 的图标却是 288x288 的……这个世界好奇怪……改完之后重启浏览器,风格统一了!对比一下之前的,一!本!满!足!
不过遗留了一个问题,就是 Safari 会时不时更新这个图标,于是 Bing 和 Steam 就会定期变回原来又丑又难看的样子……@曾阳 提出了一个方法,把 CacheSettings.plist 里面的 TouchIconLastRequestDate 改成2099年XD 这样自定义的图标就不会被替换掉了。不过问题就是如果网站更新了图标,我们也无法得知了……不过这个方法是修改浏览器的缓存,完全没有技术含量,想要真正优雅地修改Apple Touch Icon…………………………去找网站管理员让他们更新吧╮(╯▽╰)╭
]