将css背景设置为本地存储中的图像
setting css background to an image in local storage
我想把一个base64格式的图像放在密钥ImgStorage
中的本地存储器中,就像下面这样放在css背景中:
data:image/png;base64,iVBORw0KGgoAAAANS......
到目前为止,我已经尝试了两种方法:
1)从存储加载并放入css标签:
var TheImage = localStorage.getItem('ImgStorage');
$('body').css({ 'background-image': "url(" + TheImage) });
2)从存储数据重新创建画布:
var Canvas = document.createElement("canvas");
Canvas.width = 50;
Canvas.height = 50;
var Context = Canvas.getContext("2d");
var TheImage = localStorage.getItem('ImgStorage');
Context.drawImage(TheImage, 0, 0);
Canvas.toDataURL("image/png");
$('body').css({ 'background-image': "url(" + Canvas.toDataURL("image/png") + ")" });
我在网上浏览过,但所有的例子都谈到了在存储中获取图像以在<img>
标记中渲染。
有人为css背景解决了这个问题吗
顺便说一句,就性能而言,如果你对图像进行base64编码,你可以在HTML页面的正文中发送它们,而不需要任何额外的请求。因此,例如,如果您需要为UI加载20个图像,那么请求就会减少20个。而且,如果将每个映像存储在本地存储器中,则只需要加载一次即可。不适用于旧浏览器,所以它只适用于80%的浏览器,但仍然。。。。一些需要考虑的事情,因为就浏览器的发展而言,时间是站在你这边的。
好吧,这是给那些在浏览后来到这个页面的人的:我成功了!!!!
使用选项1),您只需编写以下内容:
var TheImage = localStorage.getItem('ImgStorage');
$('body').css({ 'background-image': "url(" + TheImage + ")" });
换句话说,你不需要像我在选项2)中尝试的那样浪费时间重新创建画布,只需直接操作即可。
相关文章:
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 在字符串中查找所有图像 src URL 并存储在数组中
- 在ListView中添加JSON数组中存储的图像-ReactNative
- 以HTML文件中的编码形式脱机存储图像
- Codeigniter:通过Ajax上传图像并存储在数据库中
- 存储和检索图像数据URL
- 将图像文件存储在猫鼬模式中的二进制数据中,并以html形式显示图像
- 将图像标题存储在selenium IDE中
- Pinterest 扩展如何存储(临时)网页中的图像,然后在 iframe 中访问它们
- 在 Windows 现代(地铁)UI 应用中存储图像文件和音频文件的方法是什么?
- 有没有一种存储图像变量的短方法
- 如何正确存储图像的描述信息
- 如何使用Backand和Ionic存储图像
- 有可能阻止Cordova's相机插件,用于在设备上存储图像
- 在网络应用程序上存储图像的最佳方式是什么
- 存储图像点击并回显链接
- 在没有JQuery的数据库中存储图像
- Pdf.js查看器不正确地存储图像数据
- 使用node.js存储图像会产生错误
- 如何在HBASE中插入图片?我需要在hbase中存储图像(hbase是我项目中的DB)