/[meteor]/googlecode.com/svn/trunk/public_html/poll.html
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /googlecode.com/svn/trunk/public_html/poll.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 32 by andrew.betts, Thu Dec 20 21:24:24 2007 UTC revision 62 by andrew.betts, Thu Nov 27 00:33:21 2008 UTC
# Line 14  var isaborted = 0; Line 14  var isaborted = 0;
14  parent.Meteor.register(this);  parent.Meteor.register(this);
15    
16  function newXmlHttp() {  function newXmlHttp() {
17          try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}          var xhr = null;
18          try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}      try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {
19          try { return new XMLHttpRequest(); } catch(e) {}                  try { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {
20          return null;                          try { xhr = new XMLHttpRequest(); } catch(e) { return false }
21                    }
22            }
23            return xhr;
24    }
25    
26    function setHeaders(xhr) {
27    
28            function safeSet(k, v) {
29                    try {
30                            xhr.setRequestHeader(k, v);
31                    } catch(e) {}
32            }
33    
34            safeSet("User-Agent", null);
35            safeSet("Accept", null);
36            safeSet("Accept-Language", null);
37            safeSet("Content-Type", "M");
38            safeSet("Connection", "keep-alive");
39            safeSet("Keep-Alive", null);
40  }  }
41    
42  function poll() {  function poll() {
# Line 28  function poll() { Line 47  function poll() {
47          } catch (e) {}          } catch (e) {}
48          var byteoffset = 0;          var byteoffset = 0;
49          var newdata;          var newdata;
50          document.domain = topdomain;          try {
51          var url = parent.Meteor.getSubsUrl();                  var url = parent.Meteor.getSubsUrl();
52            } catch(e) {
53                    return false;
54            }
55          if (typeof(url)!="undefined") {          if (typeof(url)!="undefined") {
                 try {  
                         document.domain = thisdomain;  
                 } catch (e) {}  
56                  pollreq = newXmlHttp();                  pollreq = newXmlHttp();
57                  pollreq.onreadystatechange = handleresponse;                  pollreq.onreadystatechange = handleresponse;
58                  pollreq.open("GET", url, true);                  pollreq.open("GET", url, true);
# Line 41  function poll() { Line 60  function poll() {
60                  var t = now.getTime();                  var t = now.getTime();
61                  lastrequesttime = t;                  lastrequesttime = t;
62                  if (parent.Meteor.polltimeout) polltimer = setTimeout(ptimeout, parent.Meteor.polltimeout);                  if (parent.Meteor.polltimeout) polltimer = setTimeout(ptimeout, parent.Meteor.polltimeout);
63                    setHeaders(pollreq);
64                  pollreq.send(null);                  pollreq.send(null);
65          }          }
         document.domain=topdomain;  
66  }  }
67    
68  function handleresponse() {  function handleresponse() {
# Line 51  function handleresponse() { Line 70  function handleresponse() {
70                  try {                  try {
71                          clearTimeout(polltimer);                          clearTimeout(polltimer);
72                  } catch (e) {}                  } catch (e) {}
73                  if (typeof(topdomain) == "undefined") return false;                  try {
74                  document.domain=topdomain;                          var y = parent.Meteor.getSubsUrl();
75                    } catch (e) { return false };
76                  newdata = pollreq.responseText;                  newdata = pollreq.responseText;
77                  while (1) {                  while (1) {
78                          var x = newdata.indexOf("<s"+"cript>p(");                          var x = newdata.indexOf("<s"+"cript>");
79                          if (x != -1) {                          if (x != -1) {
80                                  y = newdata.indexOf("</"+"script>", x);                                  y = newdata.indexOf("</"+"script>", x);
81                                  if (y != -1) {                                  if (y != -1) {
# Line 68  function handleresponse() { Line 88  function handleresponse() {
88                                  break;                                  break;
89                          }                          }
90                  }                  }
91                  var now = new Date();                  if (parent.Meteor.status) {
92                  var t = now.getTime();                          var now = new Date();
93                  var x = parent.Meteor.pollfreq - (t-lastrequesttime);                          var t = now.getTime();
94                  if (x < 10) x = 10;                          var x = parent.Meteor.pollfreq - (t-lastrequesttime);
95                  pollreq = null;                          if (x < 10) x = 10;
96                  setTimeout(poll, x);                          pollreq = null;
97                            setTimeout(poll, x);
98                    }
99          }          }
100  }  }
101    
# Line 89  function ptimeout() { Line 111  function ptimeout() {
111          setTimeout(poll, x);          setTimeout(poll, x);
112  }  }
113    
 function guard() {  
         var url = parent.Meteor.getSubsUrl();  
         if (typeof(url)=="undefined") {  
                 pollreq.abort();  
                 pollreq = null;  
                 clearTimeout(polltimer);  
         }  
         setTimeout('guard()', 1000);  
 }  
   
114  poll();  poll();
 guard();  
115    
116    
117  </script>  </script>

Legend:
Removed from v.32  
changed lines
  Added in v.62

  ViewVC Help
Powered by ViewVC 1.1.26