JSONで生成されたjsTreeを使用してディレクトリ構造をナビゲートしようとしています。現在、select_nodeイベントをバインドして、選択したノードのパスを文字列として取得し、そのパスにlocation.hash
を設定しています。この部分は実際にうまく動作します。私の問題は、select_nodeイベントが完了した直後に、ブラウザの履歴を明らかに破棄し、ユーザーを「インデックス」ページに戻すように、URLからハッシュを完全に削除することです。ここに私の現在のコードがあります。これを防ぐ方法を教えてください。jsTreeはURLからハッシュを削除します
var path = '/' + $(this).jstree('get_path', data.rslt.obj, false).join('/')
おそらく、ハッシュが残っていることを確認するために
var path = '/' + $(this).jstree('get_path', data.rslt.obj, false).join('/') + location.hash
を使用することができます。
$('#projects').jstree({
core: {
animation: 0
},
plugins: ["themes", "json_data", "ui"],
themes: {
theme: "gm",
dots: false
},
json_data: {
ajax: {
url: '/json/projects',
},
progressive_render: true
}
}).bind('select_node.jstree', function(e, data){
var path = '#/' + $(this).jstree('get_path', data.rslt.obj, false).join('/')
window.location.hash = path
})
私はこれも知りたいです。私は明日の仕事で同じ問題を抱えています:) –