【发布时间】:2010-12-11 02:15:58
【问题描述】:
我有一个 Android 应用程序,它生成一些在本地呈现的 HTML,在 Webkit 视图中。
HTML 生成的细节并不那么重要,除了:
- 大部分来自一个地方,我无法更改
- 围绕该 HTML(包括页眉、页脚、HEAD 等)、CSS 和 Javascript 的模板由我控制。
- 大多数图像都在我的控制之下,并且与不可触碰的 HTML 分开呈现。这些图像来自本地磁盘,不需要网络。可以假设这些图像始终可用。
- 不可触摸的 HTML 包含理想情况下可以显示的图像。如果网络不可用,则这些图像将无法加载。
- 完整的 HTML 文件很可能在呈现之前很久就被存储到磁盘上。即,我们无法根据网络可用性呈现不同的 HTML。
该应用可能至少在某些时候处于离线状态,因此我希望处理图像无法加载的情况。
有问题的图像主要是 1x1 跟踪图像,但可能包含在可用时应该可见的图像。
如果不调用 JQuery 或外部库,您对我的攻击计划有何建议?
我对如何做到这一点有一些想法,但意识到它们有很多需要担心的陷阱:
- 使用 CSS 选择器,选择所有尚未加载的图像(有这样的选择器吗?)并使用
display:none;。 - 使用 Javascript,将每个图像上的
alt属性设置为空字符串。这需要在document.onLoad上完成? - 检查网络的可用性,然后使用 CSS 隐藏所有带有@href~=^http 的图像。我不确定如何/何时应用这种风格。
如果有帮助,对于这个问题,我似乎有以下子问题。目前尚不清楚其中任何一个的最佳策略:
- 如何确定图像的加载状态或网络状态。
- 如何隐藏/屏蔽加载失败的图像,以使用户无法检测到图像丢失。
- 何时执行这些任务(例如,当文档/窗口完成加载时?)
- 如何应用它们。
我们将不胜感激地收到任何想法、代码和建议。
【问题讨论】:
标签: javascript html css android