私はjavascriptメニューを開発しています(jQueryを使用)。
例として、以下は、メニューを作成するカスタム関数に渡すitemsオブジェクトの構造です。
var items = {
0: {
name: 'file',
submenu: {
0: {
name: 'open',
hasSubitems: true,
subitems: {
0: {
name: 'file',
hasSubitems: false,
callback: function() { alert('you opened a file!'); }
},
1: {
name: 'project'
hasSubitems: false,
callback: function() { alert('you opened a project!'); }
}
}
},
1: {
name: 'exit',
hasSubitems: false,
callback: function() { alert('you logged out!'); }
}
}
},
1: {
name: 'edit',
submenu: {
...
}
}
}
将来のコールバックを含め、上記をデータベースに保存できるようにしたいと思います。メニューなどを動的に構築するためのインターフェースを作成するつもりです。
JSON文字列を作成してそのように保存できることに気付きましたが、コールバック関数についてはどうでしょうか。私はevalを何度も使用しないように勧められていますが、後で呼び出すことができるように、他にどのような方法でこの情報をデータベースに安全に保存できるでしょうか。