【问题标题】:Image not rendering in Safari Browser图像未在 Safari 浏览器中呈现
【发布时间】:2018-02-28 19:03:53
【问题描述】:
我通过将 src 属性设置为 base64 字符串在 html 中显示图像。它在 Chrome、Firefox、IE 和 Edge 上完美运行,而 Safari 不呈现图像。
<img alt="image" src="data:image/file.jpg;base64,iVBORw0KGgoAAAANSUhEUgAAADIA..." />
非常感谢您的回复。
【问题讨论】:
标签:
html
image
browser
safari
cross-browser
【解决方案1】:
看起来 Safari 对使用以 base64 字符串形式提供的 src 渲染图像有点挑剔。有报道称,base64 字符串的长度应该可以被 3 或 4 整除。在这种情况下,您可以用一个、两个或三个等号填充字符串,并检查您的图像是否在 Safari 中呈现。然而,就我而言,这不起作用。然后,我使用不同的工具将我的初始 png 图像文件转换为 base64。令人惊讶的是,这解决了问题。 Safari 未正确呈现的初始转换是在 onlinepngtools.com 上完成的,第二个(有效的)是在 base64-image.de 上完成的。为了让它更有趣 - 在 onlinepngtools.com 上转换的所有其他小 png 图像都在 Safari 中正确显示。所以,试着用等号填充你的 base64 src 字符串,然后使用不同的转换工具。