清理bStateSave cookie

时间:2012-07-17 08:56:51

标签: datatables

bStateSave选项可用于在Cookie中保存DataTable的状态。

我想在退出时清理这个cookie。

目前,我在浏览器中检查了cookie的名称,并在注销时使用PHP setcookie()更改了其过期日期,并在硬编码时对其进行了编码。 它有效,但它有点难看,因为我不知道如何从API中检索cookie名称。

有没有正确的方法呢?

由于

3 个答案:

答案 0 :(得分:6)

我不知道你是否已经得到答案, 但这就是我用过的东西。

有一个属性可以初始化名为:iCookieDuration的DataTables。 你应该做的是设置一个以“cookie持续时间”

的秒数表示的时间

然后你有:

     $('.datatable').dataTable({           
        "iCookieDuration": 60*60*24,// 1 day (in seconds)
     });

然后你设定一个你认为最佳的时间。 希望能帮到你!!

答案 1 :(得分:1)

DataTables中的状态保存是通过将JSON字符串保存到cookie来完成的,允许它尽可能多地保持浏览器兼容性,同时保持客户端的状态存储。有时,能够修改表格保存的参数非常有用。

如果您想在注销时清除数据表状态,那么我建议您只需清除存储空间。

存储接口的bad-whitespace方法在传递密钥名称时,将从存储中删除该密钥。

removeItem()

OR

只需在loggin-out操作中使用javascript编写。

function populateStorage() {
  localStorage.setItem('bgcolor', 'red');
  localStorage.setItem('font', 'Helvetica');
  localStorage.setItem('image', 'myCat.png');

  localStorage.removeItem('image');
}

echo '<script type="text/javascript">localStorage.clear();</script>';

答案 2 :(得分:0)

我唯一能想到的是:

来自http://datatables.net/ref

fnCookieCallback

您可以回拨cookie设置过期时间并保存。 我不知道这是否有帮助,但希望你能找到答案:)