Chinaunix首页 | 论坛 | 博客
  • 博客访问: 346798
  • 博文数量: 26
  • 博客积分: 495
  • 博客等级: 下士
  • 技术积分: 562
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-26 13:50
文章分类

全部博文(26)

文章存档

2015年(9)

2014年(6)

2013年(7)

2012年(2)

2011年(2)

分类: 系统运维

2013-04-07 15:20:17

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


连接Ajaxterm

代码(前端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. };
具体参考

配置右键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(""); //这儿是ajaxterm主机的url,
  7.                         //..传入参数为右键单击的record,行索引及所属的grid对象
  8.                         }
  9.                 }, {
  10.                         text : '查看主机',
  11.                         recHandler:function(record, rowIndex, grid) {
  12.                                 window.open(""+"zbxid="+record.get('zbxid'));
  13.                 }
  14.                 }]
  15.         })
最后配置grid中plugins,增加rightMenu

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


阅读(6800) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

lucash2013-08-30 11:02:00

web ssh 看起来不错的样子。