javascript - 在 localstorage 中保存 javascript 数据的最佳方法

标签 javascript html css local-storage

我希望能够创建 JavaScript 笔记对象并使用导航栏 Pane 动态删除它们。

var sel = window.getSelection();
var range = sel.getRangeAt(0);
var editor = { "startContainer": range.startContainer, "startOffset": range.startOffset, "endContainer": range.endContainer, "endOffset": range.endOffset };

然后使用一条消息,我会将位置和消息传递到一个函数中以添加注释:

Notes(editor, message);
function Notes(location, note) {
  this.location = location;
  this.note = note;
}

我正在努力思考如何在本地实际保存数据。

function addNote() {
  // if(tyepof(Storage) !== "undefined"){
  //   if(localStorage.notes){
  //     localStorage.notes
  //   } else {
  //     localStorage.notes = 
  //   }

  localStorage.setItem()
}

localStorage 是正确的选择吗?我知道 sessionStorage 只存储一个 session 。

最佳答案

这是从 localStorage.getItem() 生成一些元素的快速方法打电话,也许还可以帮助您解决 Nelson 的问题。单击 fiddle 中的按钮,您将看到代码获取 localStorage 对象并使用它们创建一些简单的 <li>'s。 .

fiddle : http://jsfiddle.net/kfrvdnux/

示例代码:

HTML

<button id='save'>Click the save button...</button>
<div id='content'></div>

JS

var content = document.getElementById('content'),
    save    = document.getElementById('save'),
    output  = '<ul>',
    animals = [{
      name: 'bob',
      type: 'dog'
    }, {
      name: 'fred',
      type: 'lizard'
    }];

// set on load for testing
localStorage.setItem('animals', JSON.stringify(animals));

// grab localStorage data on click and create a list
save.addEventListener('click', function() {
    var ls = JSON.parse(localStorage.getItem('animals'));  
    for (var i = 0; i < ls.length; i++) {
      output += '<li>' + ls[i].name + ', ' + ls[i].type + '</li>';
    }

  output += '</ul>';
  content.innerHTML = output;
});

关于javascript - 在 localstorage 中保存 javascript 数据的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51992769/

相关文章:

javascript - .load() 完成时的 jQuery Action

javascript - 开 Jest moduleNameMapper 查找文件 : "resolver": undefined

html - 将 div 对齐到另一个 div 的底部

javascript - jquery 中的清除队列不适用于悬停时延迟显示隐藏

javascript - value() 或 constant() 可以在 AngularJS 中相互使用吗?

javascript - 将 HTML 元素插入到 div 元素中?

iphone - 如何在通过 GPRS 在 iPhone 浏览器上播放的 HTML 页面上嵌入音频/视频

html - 如何拉伸(stretch)每个 TD 以适应表格宽度

javascript - Cordova - iOS 嵌套元素禁用反弹但保持速度滚动

internet-explorer - IE 中的内阴影