Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 要使用哪种库来显示图形对象和右键单击上下文菜单_Javascript_Jquery_User Interface_Dojo_Contextmenu - Fatal编程技术网

Javascript 要使用哪种库来显示图形对象和右键单击上下文菜单

Javascript 要使用哪种库来显示图形对象和右键单击上下文菜单,javascript,jquery,user-interface,dojo,contextmenu,Javascript,Jquery,User Interface,Dojo,Contextmenu,目标:开发基于web的NMS界面,显示网络拓扑(例如交换机、路由器、链路、终端主机)。每个节点都应该是“可移动的”(可以手动拖动到适当的位置或通过算法计算出其最佳位置)。我应该能够放大网络图(比如说,如果有许多节点集群,我想集中在一个特定的节点集群上)。我应该能够右键单击任何节点或链接并获得上下文菜单(例如,“显示路由表”、“显示接口”、“显示带宽利用率图”等) 此网络拓扑的数据将通过调用基于apache的web服务器获取,python中的后端脚本将获取适当的数据,并通过JSON将其发送到web

目标:开发基于web的NMS界面,显示网络拓扑(例如交换机、路由器、链路、终端主机)。每个节点都应该是“可移动的”(可以手动拖动到适当的位置或通过算法计算出其最佳位置)。我应该能够放大网络图(比如说,如果有许多节点集群,我想集中在一个特定的节点集群上)。我应该能够右键单击任何节点或链接并获得上下文菜单(例如,“显示路由表”、“显示接口”、“显示带宽利用率图”等)

此网络拓扑的数据将通过调用基于apache的web服务器获取,python中的后端脚本将获取适当的数据,并通过JSON将其发送到web客户端


问:我假设某种javascript库/框架最适合于此-jQuery、Dojo、Moo等[我以前从未使用过任何一种]。对于这类事情,哪一个最值得推荐。哪一个最容易学(比如说在一个月内)

考虑到你所问问题的复杂性,我推荐Silverlight或Flash

如果你知道C#,那么Silverlight是最简单的选择


jQuery非常棒,但是在C#/Silverlight中操作2D图形和执行复杂的布局算法会容易得多。

鉴于您所问问题的复杂性,我建议使用Silverlight或Flash

如果你知道C#,那么Silverlight是最简单的选择


jQuery非常棒,但是在C#/Silverlight中操作2D图形和执行复杂的布局算法会容易得多。

jQuery可以帮助您进行拖放操作。使用jQuery,快速创建应用程序也非常容易。 但您必须对大量节点(交换机、路由器、链路、终端主机)进行测试,以确定浏览器应用程序是否能够在复杂性方面管理您的目标

这里有一个简单图形表单的拖放示例:


现在,在您的应用程序中,您只需将每个表单与其他表单链接。如果移动节点,请保留链接

jQuery可以帮助您进行拖放操作。使用jQuery,快速创建应用程序也非常容易。 但您必须对大量节点(交换机、路由器、链路、终端主机)进行测试,以确定浏览器应用程序是否能够在复杂性方面管理您的目标

这里有一个简单图形表单的拖放示例:

现在,在您的应用程序中,您只需将每个表单与其他表单链接。如果移动节点,请保留链接

在使用javascript和HTML画布的多种数据表示方面,该公司的员工做了一些非常出色的工作。他们有交互界面,通过网络连接节点,你可以放大缩小并获取更多信息

我相信你可以调整它以得到你想要的结果

静态JSON树结构被用作动画的输入,这也是您所需要的。

的人员使用javascript和HTML画布在多个数据表示中做了一些非常出色的工作。他们有交互界面,通过网络连接节点,你可以放大缩小并获取更多信息

我相信你可以调整它以得到你想要的结果


静态JSON树结构用作动画的输入,这也是您想要的。

HT.rider。。谢谢你的回答。我们希望尽可能保持it平台的独立性。我认为我们的客户可能会对以MS为中心的技术,如C#/Silverlight,表示不满。当然,java小程序可能是另一种方式,但客户机希望在服务器和客户机之间进行某种基于Ajax/JSON的通信。因此,我正在探索一些javascript库的可能性。闪光可能是最终的出路。当然,C#/Silverlight并不排除使用RESTfulWeb服务进行基于JSON的通信,事实上它使通信变得简单。但我理解客户的愿望。也许值得在jQuery和Silverlight中模拟一个快速的三框拖拽和缩放原型,这样您就可以向他们展示这将提供最丰富的图形环境、最简单的编程模型和最干净的代码与设计分离。出于好奇,为什么您认为使用C#/Silverlight开发布局算法比使用Javascript/jQuery更容易?您是否想到了任何有帮助的库?有Microsoft Automatic Graph layout、Graph#和Quickgraph all for.NET。如果您想要具有弹簧和重力类型效果的图形布局,还可以使用.NET物理库。我还使用模拟退火构建了一个图形布局算法,在C#中实现它对我来说肯定比Javascript.HT.rider更容易。。谢谢你的回答。我们希望尽可能保持it平台的独立性。我认为我们的客户可能会对以MS为中心的技术,如C#/Silverlight,表示不满。当然,java小程序可能是另一种方式,但客户机希望在服务器和客户机之间进行某种基于Ajax/JSON的通信。因此,我正在探索一些javascript库的可能性。闪光可能是最终的出路。当然,C#/Silverlight并不排除使用RESTfulWeb服务进行基于JSON的通信,事实上它使通信变得简单。但我理解客户的愿望。也许值得在jQuery和Silverlight中模拟一个快速的三框拖拽和缩放原型,这样您就可以向他们展示这将提供最丰富的图形环境、最简单的编程模型和最干净的代码与设计分离。出于好奇,为什么您认为使用C#/Silverlight开发布局算法比使用Javascript/jQuery更容易