X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-web.git/blobdiff_plain/5f4f2a93ebd266141eb97a3068af272bdb5ed5e5..0dad430c014913f47e900590cae35bf238a625e5:/code/static/ajaxterm/ajaxterm.js diff --git a/code/static/ajaxterm/ajaxterm.js b/code/static/ajaxterm/ajaxterm.js index 07eca3b..9089a96 100644 --- a/code/static/ajaxterm/ajaxterm.js +++ b/code/static/ajaxterm/ajaxterm.js @@ -1,10 +1,10 @@ ajaxterm={}; -ajaxterm.Terminal_ctor=function(id,width,height) { +ajaxterm.Terminal_ctor=function(id,machine_id) { 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; @@ -12,6 +12,7 @@ ajaxterm.Terminal_ctor=function(id,width,height) { var keybuf=[]; var sending=0; var rmax=1; + var force=true; 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; + if (force) { + query=query+"&force=1"; + force=false; + } 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 { - r.open("POST","u",true); + r.open("POST",base_path,true); } 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; + force=true; 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); }