webkit显示未加载到的图片时,如何自定义指定该图片,或者屏蔽该显示

来源:互联网 发布:奥卡姆剃刀通信知乎 编辑:程序博客网 时间:2024/04/30 23:37

我们首先需要了解一下,android自身是如何调用未加载到的图片。首先,在\frameworks\base\core\res\assets\webkit包含了资源missingImage.png,这就是最后会显示到页面的出错图片,该图片的调用则是在external\webkit\Source\WebCore\loader\cache中的cachedImage.cpp中的static Image* brokenImage()函数中取出,该函数是被下面的Image* CachedImage::image() const函数调用的。

 

如果我们需要替换该图片,只需要把\frameworks\base\core\res\assets\webkit中的missingImage.png文件替换成自己想要的图片,之后重新编译framework之后替换编译出的framework.jar文件即可。

 

如果需要默认屏蔽该文件显示,在Image* CachedImage::image() const函数的函数中调用brokenImage函数的语句如下,

   if (errorOccurred() && m_shouldPaintBrokenImage)
        return brokenImage();

所以我们只要在初始的位置CachedImage()函数中把m_shouldPaintBrokenImage的初始值置为false。

如果希望无论在何种情况下,都不要出现该图片,可以直接在image函数中屏蔽调用brokenImage的语句即可。

0 0