iphone - 如何删除在 iOS 上的 HTML5 网络应用程序的初始屏幕和第一页之间出现的白页

标签 iphone ios html ios5

我们在 www.tekiki.com 有一个 HTML5 应用程序.在 iPhone 4s 的初始屏幕和第一页之间出现一个白页,我们不知道如何删除它。白页只出现在 iPhone 上,不出现在桌面上。

我们已经尝试将元素的背景设置为不同的颜色,但并没有什么不同。我们考虑过以编程方式显示启动画面而不是依赖元标记,但我们更喜欢元标记方法,因为它会自动为 iPhone 5 等更高的设备显示不同的启动画面。

有人能帮忙吗?

在理想情况下,白色页面使用这种颜色 -webkit-linear-gradient(top,#e8e4dc,#f2f0eb) 作为背景。

谢谢!

最佳答案

“仅出现在 iPhone 上”是指网站保存到主屏幕后出现白页,还是仅在保存到主屏幕之前出现在 Mobile Safari 中?

如果您指的是后者,启动图像只会在站点被添加到主屏幕后出现。因此,白屏只是页面呈现时的过渡。科利夫提出的建议肯定有助于缓解这种情况;也可以在下面查看我的更新。

如果您指的是前者,我只是将该网站添加到我的 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 甚至可以为您生成优化的图像。
  • 根据 this site ,您没有使用 gzip 压缩资源,最多可以节省 21.93KB (74.42%)。

关于iphone - 如何删除在 iOS 上的 HTML5 网络应用程序的初始屏幕和第一页之间出现的白页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18462160/

相关文章:

ios - 核心数据最佳实践来获取对多对象

iphone - 在移动设备中为网站设置填充

android - 在适当的外部 map 应用程序中打开 KML/GPX 文件

html - paper-tabs 标签边框 - polymer

javascript - 在 IE9 中设置占位符 att

iphone - 如何获取电池状态?

iphone - MKMapView 的圆角

ios - 使用 coredata 对 TableView 行进行排序

ios - NSManagedObject 不会被删除,除非请求获取

html - 实现布局 CSS HTML 定位问题的最佳方式