Extjs 3.4 和 web SSH(Ajaxterm)-howge-ChinaUnix博客

Extjs 3.4 和 web SSH(Ajaxterm)-howge-ChinaUnix博客

  Extjs 3.4 和 web SSH(Ajaxterm) 2013-04-07 15:20:17

分类: 系统运维

今天在整理服务器列表的时候,想着可以不可以快速连接到服务器,之前也见过webssh ,google一番后发现了Ajaxterm,是用python开发的,下载下来试用一下还不错,速度还可以,Ajaxterm我大致看了下,没看的很明白,以后清楚了再补上,先看下图片
Extjs 3.4 和 web SSH(Ajaxterm)-howge-ChinaUnix博客

连接Ajaxterm
Extjs 3.4 和 web SSH(Ajaxterm)-howge-ChinaUnix博客
代码(前端js),先装一个插件

点击(此处)折叠或打开

  1. Ext.ns('Ext.ux.grid');
  2. Ext.ux.grid.RightMenu = function(options) {
  3. var currRecord = false;
  4. var currRowIndex = false;
  5. var currGrid = false;
  6. var menuItems = Ext.each(options.items, function() {
  7. var item = this;
  8. this.handler = function() {
  9. item.recHandler && item.recHandler(currRecord, currRowIndex, currGrid);
  10. };
  11. });
  12. var menu = new Ext.menu.Menu({
  13. items:options.items
  14. });
  15. this.init = function(grid) {
  16. grid.addListener('rowcontextmenu', function(client, rowIndex, e) {
  17. e.preventDefault();
  18. if (rowIndex < 0) {
  19. return;
  20. }
  21. currRowIndex = rowIndex;
  22. currRecord = grid.getStore().getAt(rowIndex);
  23. currGrid = grid;
  24. menu.showAt(e.getXY());
  25. });
  26. };
  27. };

具体参考http://www.oschina.net/code/snippet_122683_12333

配置右键menu插件

点击(此处)折叠或打开

  1. var rightMenu = new Ext.ux.grid.RightMenu({
  2. items:[{
  3. text : '连接主机',
  4. recHandler:function(record, rowIndex, grid) {
  5. // var ip = record.get('ip'); //取得选择行ip地址
  6. window.open("http://192.168.78.140:8080"); //这儿是ajaxterm主机的url,
  7. //..传入参数为右键单击的record,行索引及所属的grid对象
  8. }
  9. }, {
  10. text : '查看主机',
  11. recHandler:function(record, rowIndex, grid) {
  12. window.open("http://www.baidu.com&"+"zbxid="+record.get('zbxid'));
  13. }
  14. }]
  15. })

最后配置grid中plugins,增加rightMenu

总结:虽然达到了预期的效果,但是没有具体测试并发连接很多的情况,还有ajaxterm 是无时无刻都会产生post连接请求,我看了下源代码发现是个死循环sleep极短的时间,我猜测是为了保持跟主机的连接,确保主机是alive

上一篇:android基础之SurfaceView视图中对画布的3种刷新方法


下一篇:javascript闭包实例