繁体   English   中英

将localStorage元素打印到html页面上

[英]Printing localStorage elements onto html page

基本上,我想捕获用户的购物篮,然后在单独的页面上打印此信息。 用户将能够在购物篮页面上单击一个按钮,将其带到新页面(这将具有类似结构的发票,显示其物品,成本等)。 目前,我在购物篮页面上运行了以下脚本。

jQuery( document ).ready(function($) {
    var itemName = document.getElementById('itemName');

    if(typeof(Storage)!=="undefined")
    {
        var me = {name: itemName.textContent};
        localStorage.setItem("user",JSON.stringify(me));
    }
    else
    {
        // Sorry! No Web Storage support..
    }    
});

哪个正在访问购物车页面上的以下html

<!--START: itemnamelink--><a id="itemName" href="product.asp?itemid=[ITEM_CATALOGID]">[ITEM_NAME]</a><!--END: itemnamelink--> 

在新页面上,我正在创建要在发票上显示信息的位置,例如时尚,我具有以下代码。

<script>
jQuery( document ).ready(function($) {

    console.log(localStorage.getItem("user"));

    var items = JSON.parse(localStorage.getItem("user"));

    for(var key in items){
    if(items.hasOwnProperty(key)){

   document.getElementById("add").innerHTML +=  "name:" + "<br>" + items[key];
    }
}

});
</script>



<div id="add">

</div>

但是我正在打印以下内容,这并不理想。 我最终希望再打印一些元素。 我认为我的问题是我正在打印整个本地存储,所以在我脑海中,它只是将它们全部转储在一行上,因此我需要遍历存储并分别打印每个元素。

  name:
  red chair black chair
function writeToLocalStorage(obj) {

        return localStorage.setItem("data", JSON.stringify(obj));
}

 function getFromLocalStorage() {

        return JSON.parse(localStorage.getItem("data"));
}
writeToLocalStorage({ id: "2", cart: "item" });
var data = getFromLocalStorage();
console.log(data.id);

然后使用data.name访问

您需要对从存储中获取的对象使用JSON.parse()

 var json = '{"name":"black chair red chair"}'; obj = JSON.parse(json); document.getElementById('element').innerHTML = obj.name; 
 <div id='element'></div> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM