我正在开发一个 Web 应用程序,并且正在将 jqTree 插件用于树形菜单。我在创建树时使用了 saveState 参数。它在 FireFox 12 中运行良好,即它在刷新时记住树的状态(使用 localStorage),但在 Internet Explorer 11 中,它不会将数据保存到 localStorage 或作为 cookie(我已根据jqTree作者的说明,我可以很好地读写cookie)。
无奈之下,我将打开的节点列表作为字符串保存到 localStorage 中,然后尝试循环遍历列表并使用 jqTree 的 openNode 函数打开节点。这也不起作用。谁能建议任何解决方法/修复?非常感谢。:)
PS 它在 IE11 中崩溃,并在 tree.jquery.js 的第 1839 行出现错误消息“'JSON' is undefined”。
更新:上述错误已通过将 js_json2.js 添加到配置中并将 tree.jquery.js 的第 1839 行更改为
state = JSON.stringify(this.getState(),undefined); //added undefined as second argument
但是现在折叠的节点正确显示展开/折叠图标,但应该不可见的子节点仍然显示如下:
▼node1ajax
孩子1 孩子2
▼节点2
孩子3
►child4
子2
在这种情况下, sub2 不应该是可见的,而是可见的。