5

在 javascript 中使用 localstorage 时遇到问题。我有两个 javascript 文件和一个多页 html 文件。我正在设置一个变量的值以存储在 home.js 类的本地存储中,然后我想在我的 editCase.js 类中获取相同变量的值。这可能吗?这里的目标是在 html 文件中的多个位置使用该变量。

主页.js:

var _NSCaseId;
var nsId;
$("#listOfCases li").click(function(){
            nsId = $(this).attr('id');
            LocalStorage.save(_NSCaseId, nsId);
            alert(nsId);
        });

如您所见,该值是列表视图项的 id。这工作正常,警报每次都显示正确的值。

然后我想在 editCase.js 文件中使用相同的变量:

var id = LocalStorage.get(_NSCaseId);
    alert(id);

但是我在 logcat 中收到一个错误,说 _NSCaseId 在 editCase.js 中未定义

有什么建议么?

4

1 回答 1

25

这根本不应该工作。它localStorage(JS 非常区分大小写),并且要保存一个项目,您可以使用setItem,将您的语法更改为:

//You would not define var _NSCaseId and save the var, you save a string key
localStorage.setItem('_NSCaseId', nsId); //set

并得到

localStorage.getItem('_NSCaseId');

请参阅 DOM 存储:https ://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage

于 2013-11-08T14:24:35.760 回答