我希望能够创建JavaScript注释对象,并使用navbar窗格动态删除它们。

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()
}

本地存储是一条路吗?我知道sessionStorage只存储一个会话。

最佳答案

这里有一个从localStorage.getItem()调用中生成一些元素的快速方法,也许还可以帮助您找到Nelson的答案。单击fiddle中的按钮,您将看到代码获取localStorage对象并使用它们创建一些简单的<li>'s
小提琴:
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 - 在本地存储中保存JavaScript数据的最佳方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51992769/

10-12 13:04