先看macOS任务栏的图标样式:你会发现第三个:YouTubeMusic(PWA版)的图标很不对,不是因为它是圆的,但其他一切都是方形的。相反,它非常大,其宽度和高度明显大于其他图标。我对比了VSC和YouTubeMusic的图标图片后,发现了区别:如果上面的不明显,这次对比就很明显了:解释一下,图3是图2中控制台(F12)资源显示的图片,之所以这么看是因为可以看到图2的外层有一个白色的圆圈,其实是图片的一部分,是透明的。图1的四个角也是白色和透明的。所以现在我可以解释为什么VSC和YouTubeMusic的图标大小一样,但在macOS上显示的大小不同:VSC有透明的白色边框,而YM没有。在做PWA项目时,会涉及到给PWA添加桌面图标,即在manifest.icons配置中添加图标设置,如:icons:[{src:'logo64.png',sizes:'64x6448x4832x3224x2416x16',type:'image/x-icon',},{src:'logo192.png',type:'image/png',sizes:'192x192',},{src:'logo512.png',type:'image/png',sizes:'512x512',},],在我的项目中,上面三个图标文件都是像VSC一样有一圈透明边的文件,但是我发现在Windows平台上,图标上任务栏很小(最后一个):和左边的Brave浏览器相比,显得小了一些。一开始我以为WindowsPWA的图标是从上面的图标拿来的,于是把logo64.png、logo192.png、logo512.png图标的透明白边去掉,发现在上面还是不行视窗。终于发现:原Windows(只测试过win7)任务栏(包括桌面)的PWA应用图标使用的是网页的favicon.ico,而macOS平台使用的是manifest.icons中的图标,真是陷阱。所以解决方法是:配置manifest.icons时使用带一圈透明边的图片(formacOS),htmlfavicon.ico的图片(forWindows)则使用不带透明边的图片。更新:Windows11的Chrome/Edge采用manifest.icons配置,很尴尬。如果你配置图标不留透明外圈,你的图标在Windows11上会正常显示,在macOS上会和上面的YouTubeMusic一样大。相反,如果在macOS上正常,在Windows11上会显得比其他图标小。那么iPad也需要单独处理:首先,Safari不会读取PWA清单配置文件,而是会读取html
