projects
/
invirt/packages/invirt-web.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Allow reconnecting to the same terminal session
[invirt/packages/invirt-web.git]
/
code
/
static
/
ajaxterm
/
ajaxterm.js
diff --git
a/code/static/ajaxterm/ajaxterm.js
b/code/static/ajaxterm/ajaxterm.js
index
07eca3b
..
9089a96
100644
(file)
--- a/
code/static/ajaxterm/ajaxterm.js
+++ b/
code/static/ajaxterm/ajaxterm.js
@@
-1,10
+1,10
@@
ajaxterm={};
ajaxterm={};
-ajaxterm.Terminal_ctor=function(id,width,height) {
+ajaxterm.Terminal_ctor=function(id,machine_id) {
var ie=0;
if(window.ActiveXObject)
ie=1;
var ie=0;
if(window.ActiveXObject)
ie=1;
- var sid=""+Math.round(Math.random()*1000000000);
- var query0="s="+sid+"&w="+width+"&h="+height;
+ var base_path="machine/"+machine_id+"/at";
+ var query0="";
var query1=query0+"&c=1&k=";
var buf="";
var timeout;
var query1=query0+"&c=1&k=";
var buf="";
var timeout;
@@
-12,6
+12,7
@@
ajaxterm.Terminal_ctor=function(id,width,height) {
var keybuf=[];
var sending=0;
var rmax=1;
var keybuf=[];
var sending=0;
var rmax=1;
+ var force=true;
var div=document.getElementById(id);
var dstat=document.createElement('pre');
var div=document.getElementById(id);
var dstat=document.createElement('pre');
@@
-102,13
+103,17
@@
ajaxterm.Terminal_ctor=function(id,width,height) {
send+=keybuf.pop();
}
var query=query1+send;
send+=keybuf.pop();
}
var query=query1+send;
+ if (force) {
+ query=query+"&force=1";
+ force=false;
+ }
if(opt_get.className=='on') {
if(opt_get.className=='on') {
- r.open("GET","u?"+query,true);
+ r.open("GET",base_path+"?"+query,true);
if(ie) {
r.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
}
} else {
if(ie) {
r.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
}
} else {
- r.open("POST","u",true);
+ r.open("POST",base_path,true);
}
r.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
r.onreadystatechange = function () {
}
r.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
r.onreadystatechange = function () {
@@
-269,11
+274,12
@@
ajaxterm.Terminal_ctor=function(id,width,height) {
}
document.onkeypress=keypress;
document.onkeydown=keydown;
}
document.onkeypress=keypress;
document.onkeydown=keydown;
+ force=true;
timeout=window.setTimeout(update,100);
}
init();
}
timeout=window.setTimeout(update,100);
}
init();
}
-ajaxterm.Terminal=function(id,width,height) {
- return new this.Terminal_ctor(id,width,height);
+ajaxterm.Terminal=function(id,machine_id) {
+ return new this.Terminal_ctor(id,machine_id);
}
}