2011-08-03 31 views
0

我正在开发一个在线操作系统 而我想将应用程序图标保存在本地存储中,但我不知道如何将src属性的内容保存在本地存储中并在应用程序页面上再次阅读。我目前的代码导致一个空白页面。在本地存储中保存src属性的内容

回答

0

你只是试图保存源URL吗?或图像内容?

您可以通过保存的东西源URL类似如下:

var theImage = document.getElementById('my-special-image'); 
if (window.localStorage) { 
    window.localStorage['theImage_src'] = theImage.src; 
} 

如果你想保存图像的内容,那么你必须做一些用帆布摆弄周围,使用 canvas.toDataURL()。有关如何做到这一点的更多信息,请参阅this post

+0

感谢luke h和yesit是源网址。 –

+0

此外,你可能想看看你的问题的声音CSS sprites。 http://www.alistapart.com/articles/sprites –

0

据我所知,没有办法做到这一点。您可以保存到本地存储的所有内容都必须由变量引用。当调用localStorage.setItem方法时,该值将被转换为字符串格式。

localStorage.setItem('my', {a: 1}); 

console.log(localStorage['my']); // you will get a string value: '[object Object]' 
+0

其实你可以通过JSON编码保存对象。几个浏览器支持'JSON.stringify'和'JSON.parse'。我相信这是IE8,Opera 10.50,Firefox 3.5,Safari 4.0.3和Chrome原生的。如果浏览器不是本地的,还有各种各样的库可以提供此功能。另请参阅[json.org](http://www.json.org/js.html) –

+0

我的意思是,您设置为localstorage的所有内容都将转换为字符串格式。当然,如果你愿意,你可以将一个对象串化为字符串格式。 – jz1108

0

图标是用户提供的还是您自己的?在任何一种情况下,将您的应用程序图标转换为base64。然后将其粘贴到localStorage中。当然,你必须将要存储的数据串联起来。

var base64 = localStorage.getItem('icon_name'); 
$('#imgid').attr('src', base64);