【问题标题】:Saving the content of the src attribute in the localstorage将src属性的内容保存在localstorage中
【发布时间】:2011-10-15 01:42:33
【问题描述】:

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

【问题讨论】:

    标签: javascript jquery html local-storage


    【解决方案1】:

    您只是想保存源网址吗?还是图片内容?

    您可以通过以下方式保存源 URL:

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

    如果你想保存图像的内容,那么你必须对画布进行一些摆弄,使用 canvas.toDataURL()。有关如何执行此操作的更多信息,请参阅this post

    【讨论】:

    【解决方案2】:

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

    localStorage.setItem('my', {a: 1});
    
    console.log(localStorage['my']); // you will get a string value: '[object Object]'
    

    【讨论】:

    • 其实你可以通过 JSON 编码来保存对象。一些浏览器支持JSON.stringifyJSON.parse。我相信这是 IE8、Opera 10.50、Firefox 3.5、Safari 4.0.3 和 Chrome 原生的。如果浏览器不是本机的,那么还有各种库可以提供此功能。另见json.org
    • 我的意思是你设置到localstorage的所有东西都会被转换成字符串格式。当然,如果您愿意,您可以将对象字符串化为字符串格式。
    【解决方案3】:

    图标是用户提供的还是您自己的?无论哪种情况,都将您的应用程序图标转换为 base64。然后将其粘贴到 localStorage 中。当然,您必须对要存储的数据进行字符串化。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-20
      • 1970-01-01
      • 2011-12-07
      • 1970-01-01
      • 2019-11-14
      • 2013-03-08
      • 1970-01-01
      相关资源
      最近更新 更多