本地存储和保存会话状态

时间:2012-12-08 15:05:03

标签: javascript local-storage mobiscroll

我正在制作一个webapp,它使用mobiscroll作为数字计数器。数字通过它下面的提交按钮保存。我遇到的问题是每当用户按下主页按钮时,重新加载webapp时,它会重置数字列表。我认为将值保存到localstorage是个好主意,并在重新打开应用程序时调用它。现在,这就是我被困住的地方。

按钮按下功能正常:

<script type="text/javascript">
    function save_it() {
        //Save the scroll value for later
        var scrollsave = $('#i').scroller('getValue');
        localStorage.setItem("scrollsave", scrollsave);
        localStorage.saveServer
    }
</script>

我有一个功能进一步提升,这给我带来了麻烦,并且拒绝正常工作,我尝试了以下方法:

我第一次尝试分配

<script type="text/javascript">
    $(function () {
        var scrollstate = localStorage["scrollsave"];
        if (scrollstate != null) {
            $('#i').scroller('setValue', scrollstate);
        }

    });
</script>

我得到一个错误,对象x,x,x,x没有方法'join'。

第二次尝试转换为数组并返回,但没有运气。

var oldscroll = localStorage.getItem["scrollsave"];
var finalsaved = SON.parse(oldscroll);
if (finalsaved != null) {
    $('#i').scroller('setValue', finalsaved);

关于mobiscroll的文件在这里http://docs.mobiscroll.com/22/mobiscroll-core。它说,“数据参数的滚动值作为数组传递”。

我的密钥,scrollsave存储的值为1,2,1,1。这似乎符合正确的格式以投入mobiscroll部分。

我有一种感觉,我忽略了一些微不足道的东西,但我无法弄清楚是什么。

1 个答案:

答案 0 :(得分:2)

var oldscroll = localStorage.getItem["scrollsave"];应为var oldscroll = localStorage.getItem("scrollsave");