0

我正在研究一个在按下按钮时保存到本地存储的文本区域。当保存某些内容或访问文本区域时,它还会显示弹出警报。我还希望它显示上次更新或修改的日期。我怎么做?

这是代码:

<textarea id="box" style="margin-    bottom: 4px; width: 250px; height:     20px">
</textarea>
<br />
<button id="save">Save</button>



<script type="text/javascript">//  check if "user" is in localStorage

if (localStorage["box"])
{
var user = localStorage["box"] ;
document.getElementById("box").    value = user ;
alert("Welcome Back.")
}
else
{
document.getElementById("box").    placeholder = "Type here..." ;
    console.log("user not found in    localStorage") }

//save entered gmail address
document.   getElementById("save").  addEventListener("click", function ()
{
    var user = document.    getElementById("box").value ;
    //localStorage["box"] = user ;
    localStorage.setItem("box",    box) ;
    alert("The text has been saved.   ") ;
    console.log("The text has been    saved")
    } , false);</script>

我找到了如何使用时间戳显示上次修改日期。这里 :

            <script type="text/javascript">
               (function() {



try {

    (window.localStorage.getItem) /   / will throw in Firefox under some settings
} catch (e) {

    return; // quit because dom.   storage.enabled is false
    }



    var area = document.    querySelector('#ta');

  // place content from previous     edit
  if (!area.value) {

      area.value = window.  localStorage.getItem('value');

  }

  updateLog(false);



  // your content will be saved   locally
   document.querySelector('#ta').   addEventListener('keyup',   function() {

      window.localStorage.  setItem('value', area.value);

      window.localStorage.  setItem('timestamp', (new Date()).  getTime());

    updateLog(true);

  }, false);



  function updateLog(new_save) {

      var log = document.  querySelector("#ta-log");

      var delta = 0;

      if (window.localStorage.  getItem('value')) {

          delta = ((new Date()).  getTime() - (new Date()).  setTime(window.localStorage.getItem('timestamp'))) / 1000;

          if (new_save) {

              log.textContent = 'Saved.   ';

              setTimeout(function() {

                  log.textContent = '';

              }, 3000);

          } else {

              log.textContent = 'last   saved: ' + delta + 's ago';

          }

      }

   } })(); 

但我想显示实际的日期和时间,而不是分钟、秒和纳秒。

前任。将 5:30:20 转到 2013 年 9 月 22 日星期日下午 5:59。

有什么帮助吗?可以理解吗?

4

2 回答 2

0

尝试保存stringify objectlocalstorage.

var obj = { 'content': 'Textarea content is held here', 'time': Date.now() };

localStorage.setItem('box', JSON.stringify(obj));

为拿到它,为实现它:

var box = localStorage.getItem('box');

box = JSON.parse(box);

// to get content: box.content
// to get time: box.time
于 2013-09-22T22:45:22.753 回答
0

创建第二个本地存储变量来保存上次更新的日期/时间。

于 2013-09-22T22:46:22.790 回答