当前位置 : 主页 > 网页制作 > JQuery >

jQuery Datatables插件没有保存状态cookie?

来源:互联网 收集:自由互联 发布时间:2021-06-15
我有一个使用jQuery Datatables插件的网站,这个插件大部分工作得很好. 但是,由于某种原因,它的状态保存代码没有被触发.初始化时设置的其他选项正在被正确选取,但由于某种原因,状态保存
我有一个使用jQuery Datatables插件的网站,这个插件大部分工作得很好.

但是,由于某种原因,它的状态保存代码没有被触发.初始化时设置的其他选项正在被正确选取,但由于某种原因,状态保存代码不是;使用直接初始化参数或专门定义fnStateSave和fnStateLoad参数(在http://datatables.net/blog/localStorage_for_state_saving处复制示例中的代码),没有效果,cookie等设置的证据.为了不测试其他参数集的目的,它完全是标准的,从DOM开始的数据.

我应该知道一个非显而易见的设置或限制吗?

要完成这项工作,您需要DataTables 1.8或更高版本……

bStateSave:是的

Enable or disable state saving. When enabled a cookie will be used to save table display information such as pagination information, display length, filtering and sorting. As such when the end user reloads the page the display display will match what thy had previously set up.

取自DataTables Documentation

一个完整的工作示例可以在here找到(在Chrome中调试此示例显示fnStateSave和fnStateLoad都被调用.)

执行以下操作:

$(document).ready(function () {
    $('#example').dataTable({
        "bStateSave": true,
        "fnStateSave": function (oSettings, oData) {
            localStorage.setItem('DataTables_' + window.location.pathname, JSON.stringify(oData));
        },
        "fnStateLoad": function (oSettings) {
            var data = localStorage.getItem('DataTables_' + window.location.pathname);
            return JSON.parse(data);
        }
    });
});

仅使用以下脚本:

<script type="text/javascript" language="javascript" src="jquery.js"></script>
<script type="text/javascript" language="javascript" src="jquery.dataTables.js"></script>
网友评论