当前位置:  开发笔记 > 编程语言 > 正文

隐藏无法加载的图像

如何解决《隐藏无法加载的图像》经验,为你挑选了1个好方法。

我有一个Android应用程序,它生成一些在Webkit视图中本地呈现的HTML.

除了以下内容之外,HTML生成的细节并不是那么重要:

它的大部分来自一个地方,我无法改变它

围绕该HTML的模板(包括页眉,页脚,HEAD等),CSS和Javascript都在我的控制之下.

大多数图像都在我的控制之下,并且与不可触摸的HTML分开呈现.这些映像来自本地磁盘,不需要网络.可以假设这些图像始终可用.

不可触摸的HTML包含理想情况下显示的图像.如果网络不可用,则无法加载这些图像.

完整的HTML文件可能会在呈现之前很久就被存储到磁盘上.即我们无法根据网络可用性呈现不同的HTML.

该应用程序可能至少在某些时候处于脱机状态,因此我希望处理无法加载图像的情况.

所讨论的图像主要是1x1跟踪图像,但可能包括在可用时应该可见的图像.

如果不调用JQuery或外部库,您会建议我的攻击计划是什么?

我有关于如何做到这一点的想法,但意识到他们有许多陷阱需要担心:

使用CSS选择器,选择所有未加载的图像(是否有这样的选择器?)并使用display:none;.

使用Javascript,将alt每个图像上的属性设置为空字符串.这需要做document.onLoad什么?

检查网络的可用性,然后使用CSS隐藏所有图像@ href~ = ^ http.我不确定如何/何时应用这种风格.

如果它有帮助,对于这个问题,我似乎有以下子问题.目前尚不清楚其中任何一种的最佳策略:

如何确定图像的加载或网络的状态.

如何隐藏/屏蔽未能加载的图像,使得用户无法检测到图像丢失.

何时执行这些任务(例如文档/窗口何时完成加载?)

如何应用它们.

我们将非常感激地提出任何想法,代码和建议.



1> pawel..:

如何确定图像的加载或网络的状态.

如何隐藏/屏蔽未能加载的图像,使得用户无法检测到图像丢失

您可以查看图像无法加载时触发的onerror事件:

image

何时执行这些任务(例如文档/窗口何时完成加载?)

如何应用它们.

当我在文档的最后添加它(在之前)时,这在Firefox和Chrome中对我有用:

var imgs = document.getElementsByTagName('img')
    for(var i=0,j=imgs.length;i

如果文档开头的图像没有加载,并且在文档准备就绪时附加了事件处理程序,某些浏览器可能无法触发该处理程序 - 您应该在目标平台上测试它,这是非常可行的.

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有