【发布时间】:2011-10-15 01:42:33
【问题描述】:
我正在开发一个在线操作系统 我想将应用程序图标保存在 localstorage 中,但我不知道应该如何将 src 属性的内容保存在 localstorage 中并在应用程序页面上再次读取。我当前的代码导致空白页。
【问题讨论】:
标签: javascript jquery html local-storage
我正在开发一个在线操作系统 我想将应用程序图标保存在 localstorage 中,但我不知道应该如何将 src 属性的内容保存在 localstorage 中并在应用程序页面上再次读取。我当前的代码导致空白页。
【问题讨论】:
标签: javascript jquery html local-storage
您只是想保存源网址吗?还是图片内容?
您可以通过以下方式保存源 URL:
var theImage = document.getElementById('my-special-image');
if (window.localStorage) {
window.localStorage['theImage_src'] = theImage.src;
}
如果你想保存图像的内容,那么你必须对画布进行一些摆弄,使用
canvas.toDataURL()。有关如何执行此操作的更多信息,请参阅this post。
【讨论】:
据我所知,没有办法做到这一点。您可以保存到本地存储的所有内容都必须由变量引用。并且在调用localStorage.setItem方法时会将值转换为字符串格式。
localStorage.setItem('my', {a: 1});
console.log(localStorage['my']); // you will get a string value: '[object Object]'
【讨论】:
JSON.stringify 和JSON.parse。我相信这是 IE8、Opera 10.50、Firefox 3.5、Safari 4.0.3 和 Chrome 原生的。如果浏览器不是本机的,那么还有各种库可以提供此功能。另见json.org
图标是用户提供的还是您自己的?无论哪种情况,都将您的应用程序图标转换为 base64。然后将其粘贴到 localStorage 中。当然,您必须对要存储的数据进行字符串化。
var base64 = localStorage.getItem('icon_name');
$('#imgid').attr('src', base64);
【讨论】: