[英]iOS - Safari - images not rendering fully / cut off
这似乎是 iOS 图像解码器中的一个问题——某种竞争条件。
这已通过强制解码器在主线程上操作来解决,使用:
<img decoding="sync" src="@Url" />
希望这对其他人有帮助!
在我同时加载大量图像的情况下,在img
标签上设置decoding="sync"
并没有帮助。 之前手动加载图像可以解决问题。
const imageLoader = new Image();
imageLoader.src = url;
imageLoader.decoding = 'sync';
imageLoader.onload = () => {
// allow drawing image
};
对于任何偶然发现这一点并在反应环境中工作的人
const [didLoadMainImage, setDidLoadMainImage] = useState(false);
useMemo(() => {
setDidLoadMainImage(false);
const imageLoader = new Image();
imageLoader.src = url;
imageLoader.decoding = 'sync';
imageLoader.onload = () => {
setDidLoadMainImage(true);
};
}, [url]);
return (
<div>
{didLoadMainImage ? (
<img src={url} />
) : null}
</div>
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.