jstree - переопределить файлы cookie в зависимости от текущего URL-адреса

Я использую jstree с html UL, где каждый узел является href для навигации, который включается через php на каждой html-странице.

Код Jstree:

$(function(){
$("#treeview").jstree({
    "themes" : {
        "theme" : "default",
        "dots" : false,
        "icons" : false
    },
    "ui" : {
            "selected_parent_close" : "false",
            "select_multiple_modifier" : "false",
    },
    "core": { 
                "animation": 500
            },
    "plugins" : [ "themes", "html_data", "ui", "cookies" ]

});
$("#treeview").bind("reselect.jstree", function () {
    $("#treeview").bind("select_node.jstree", function (e, data) {
        document.location = data.rslt.obj.children("a").attr("href");
    });

}); 
});

Файлы cookie работают нормально, но проблема заключается в том, как переопределить выбранный узел cookie, когда (и только когда) URL-адрес навигации является одним из корневых узлов? Если это корневой узел, я хочу, чтобы он был открыт. Это происходит при переходе на страницу дерева из внешнего источника или на другую страницу сайта без дерева, поэтому настройка файла cookie неверна.

Использую jquery 1.7.2, jstree 1.0. Все идентификаторы li совпадают с именем страницы, то есть для href «page1» соответствующий идентификатор li — «page1».


person Rowland    schedule 27.06.2012    source источник


Ответы (1)


Ответ (или, скорее, «ответ») заключается в следующем: 1) изменить функциональность файлов cookie, установив «save_selected»: false в плагине пользовательского интерфейса; 2) установить initial_select на id страницы; 3) вручную установить выбранный узел в качестве последнего шага, используя: $('#tree').jstree("select_node", $('body').attr('id'));

person Rowland    schedule 28.06.2012