“仅出现在 iPhone 上”是指在网站保存到主屏幕之后出现白页,还是在将其保存到主屏幕之前仅在 Mobile Safari 中出现?
如果您的意思是后者,则只有在将站点添加到主屏幕后才会显示启动图像。因此,白屏只是页面渲染时的过渡。coliff 提出的建议肯定有助于缓解这种情况;请参阅下面的更新。
如果您指的是前者,我只是将该站点添加到我的iPhone 4S 的主屏幕中,并且没有遇到任何白页问题;)也就是说,在从启动图像过渡到第一页。如果您希望在启动图像和第一页之间有一个更平滑的过渡,coliff 提出的建议也会有所帮助——在 iOS 7 上应该是平滑淡出,在 iOS 6 上应该是硬过渡。
更新
另外,尝试制作类似于以下内容的测试页。将其保存到主屏幕后,在启动图像之后您不应该看到白页或闪光灯(我提到过)。这表明该问题肯定与渲染时间有关,如果不是完全由它引起的话。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Tekiki</title>
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
<!-- iPhone 4 Retina -->
<link rel='apple-touch-startup-image' media='(device-width: 320px) and (-webkit-device-pixel-ratio: 2)' href='/images/dandy/apple-touch-startup-image-640x920.png'>
</head>
<body>
<h1>PAGE LOADED!</h1>
</body>
</html>
所以,还有一些优化网页应用主页的建议:
- 缩小主页上的内联CSS 和 JavaScript,其中有很多——不仅仅是外部文件!您甚至可以缩小 HTML。仅此一项的节省可能超过其他一切。
- 根据PageSpeed for Chrome的说法,主页上的图像实际上可以减少 63.4KB(减少 26%,这似乎比之前提到的 19% 更好);PageSpeed 甚至可以为您生成优化的图像。
- 根据这个站点,您没有使用 gzip 压缩资源,最多可以节省 21.93KB (74.42%)。