大图像不会在Chrome中呈现?(Large images don't render in

2019-09-22 17:12发布

非常大的图像不会在谷歌浏览器渲染(尽管仍然滚动条的行为就好像该图像是存在)。 相同的图像往往会呈现在其他浏览器就好了。

这里有两个样本图像。 如果您使用谷歌浏览器,你将看不到长红棒:

蓝色短
http://i.stack.imgur.com/ApGfg.png

长红
http://i.stack.imgur.com/J2eRf.png

正如你所看到的,浏览器认为较长的图像是存在的,但它根本不渲染。 图像格式似乎并不重要或者:我都试过PNG和JPEG。 我也上运行不同的操作系统(Windows和OSX)两个不同的机器测试了这一点。 这显然是一个错误,但任何人都可以想到一个解决办法,这将迫使浏览器渲染大图像?

Answer 1:

这不是说有人问津,或者甚至在看这篇文章,但我没有找到一个奇怪的解决方法。 这个问题似乎是与镀铬手柄变焦的方式。 如果您在设置zoom属性为98.6%,低于或102.6%或更高,图像将呈现(设定zoom属性为98.6%和102.6% 之间的任意值将导致渲染失败)。 需要注意的是zoom属性未正式在CSS定义,因此某些浏览器可能会忽略它(这是在这种情况下,是一件好事,因为这是一个特定的浏览器的黑客)。 只要你不介意的图像稍微调整,我想这可能是最好的修复。

总之,下面的代码产生所需的结果,如图这里 :

<img style="zoom:98.6%" src="http://i.stack.imgur.com/J2eRf.png">



更新:

其实,这是一举两得的好机会。 至于屏幕移动到更高的分辨率(如苹果的Retina显示屏),Web开发人员将要开始服务了是两倍的图像,然后范围缩小了50%,如建议在这里 。 因此,而不是使用zoom如上建议的属性,你可以简单地加倍图像的大小和一半大小使它:

<img style="width:50%;height:50%;" src="http://i.stack.imgur.com/J2eRf.png">

这不仅解决了Chrome浏览器的渲染问题,但它会使图像看起来不错,清脆的下一代高解析度显示器。



文章来源: Large images don't render in Chrome?