Здравствуйте.
Возможно кто-нибудь сталкивался с подобным и подскажет.
Установил FancyTree, все работает. Состояние при перезагрузке страницы сохраняется. Переход по ссылкам происходит.
<script type="text/javascript">
$(function(){
$("#tree").fancytree({
activeVisible: true,
aria: true,
autoActivate: true, // Automatically activate a node when it is focused using keyboard
autoCollapse: true, // Automatically collapse all siblings, when a node is expanded
autoScroll: true,
clickFolderMode: 3, // 1:activate, 2:expand, 3:activate and expand, 4:activate (dblclick expands)
checkbox: false,
debugLevel: 4,
disabled: false,
focusOnSelect: false,
escapeTitles: false,
generateIds: false, // Generate id attributes like <span id='fancytree-id-KEY'>
idPrefix: "ft_", // Used to generate node id´s like <span id='fancytree-id-<key>'>
icon: true,
keyboard: true,
keyPathSeparator: "/",
tree.loadKeyPath()
minExpandLevel: 1,
quicksearch: false,
rtl: false,
selectMode: 1,
tabindex: "0",
titlesTabbable: false,
tooltip: false,
extensions: ["glyph", "filter", "persist"],
persist: {
cookiePrefix: 'fancytree-1-',
expandLazy: true,
overrideSource: true, attributes.
store: "auto"
},
source: {
url: "/menu.json",
cache: true
},
lazyLoad: function(event, data) {
var node = data.node;
data.result = {
url: "/menu.json",
data: {mode: "children", parent: node.key},
cache: false
}
},
postinit: function(isReloading, isError) {
this.reactivate();
},
focus: function(event, data) {
data.node.scheduleAction("activate", 2000);
},
click: function(event, data) {
var node = data.node;
var helped = node.isExpanded();
if (node.folder) {
if( data.targetType === "title" ){
if( node.data.href ){
window.open(node.data.href, "_self");
}
}else { return };
}
if( node.data.href ){
window.open(node.data.href, "_self");
}
}
});
Однако во время поиска по сайту и загрузки найденной страницы,
дерево восстанавливает сохраненный вид, а не раскрывает пункт
меню с адресом соответствующим загруженной странице.