为了减少服务器上的请求数量,我将一些图像(PNG和SVG)作为BASE64直接嵌入到CSS中。(它在构建过程中是自动化的)
像这样:
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAFWHRTb2Z0d2FyZQBBZG etc...);
这是一个好习惯吗?有什么理由可以避免这种情况?是否有一些不支持数据URL的主流浏览器?
额外的问题:对CSS和JS这样做也有意义吗?
这是一个好习惯吗?有什么理由可以避免这种情况?
这是一个好习惯,通常仅适用于在IE兼容性无关紧要时将一起使用的非常小的CSS图像(如CSSSprites),并且保存请求比可缓存性更重要。
它有许多明显的缺点:
在IE6和7中根本不起作用。
在IE8中仅适用于最大32k的资源。这是在base64编码之后适用的限制。换句话说,不能超过32768个字符。
它保存了一个请求,但是却使HTML页面肿!并使图像不可缓存。每当包含页面或样式表加载时,它们就会加载。
Base64编码使图像大小膨胀了33%。
如果在压缩后的资源中提供data:
图像,几乎可以肯定会对服务器资源造成巨大的压力!传统上,图像压缩需要占用大量CPU资源,而尺寸却很少减少。
问题内容: 纯粹出于好奇,Base64图像嵌入在哪些浏览器中起作用?。 我意识到对于大多数事情来说,通常不是一个好的解决方案,因为它会增加页面的大小-我很好奇。 一些例子: HTML: CSS: 问题答案: 更新 现在,所有主要浏览器都支持数据URI。从版本8开始,IE也支持嵌入图像。 现在,以下Web浏览器支持数据URI: 基于壁虎,例如Firefox,SeaMonkey,XeroBank,Ca
我有申请发邮件。图书馆使用了斯威夫特·梅勒。我已经生成了用于发送电子邮件html字符串,其中包含各种标记,包括标记我可以将img src标记转换为bas64图像吗 至
问题内容: 如何将.png文件嵌入空白的“ file.html”中,以便在任何浏览器中打开该文件时都能看到该图像?在这种情况下,图像文件不是从HTML链接到的,而是图像数据嵌入在HTML本身中。 问题答案: 在线上有一些base64编码器可以帮助您解决这个问题,这可能是我见过的最好的编码器: http://www.greywyvern.com/code/php/binary2base64 该页面显
问题内容: 我一直在查看油脂猴子用户脚本的来源,并在他们的CSS中注意到以下内容: 我可以理解,滑脂脚本希望将其可以捆绑的所有内容捆绑在源代码中,而不是将其托管在服务器上,这很明显。但是由于我以前没有看过这种技术,因此我考虑了它的使用,并且由于许多原因,它似乎很有吸引力: 它将减少页面加载时的HTTP请求数量,从而提高性能 如果没有CDN,则它将减少通过Cookie与图像一起发送而产生的流量 可以
问题内容: 我有一个要求用户将其图像上传到哪里,我必须将其转换为某种内容并将其发送到.Net REStful服务。我是angular js的新手。有人可以帮忙吗 问题答案: 我建议您使用 https://github.com/ninjatronic/angular- base64 。 在按照说明使用该库之后,您可以简单地调用: 不要忘记在模块中注入:
问题内容: 我有一个mongoDB数据库,并且恢复了对应于我的Image的base64数据。 我不知道如何将base64数据转换为Image。 问题答案: 如果您想在网页中使用它,只需将base64编码的图像放入HTML文件即可。 有关更多信息,请参见Wikipedia。