/[meteor]/googlecode.com/svn/trunk/public_html/stream.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

Annotation of /googlecode.com/svn/trunk/public_html/stream.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3 - (hide annotations)
Mon Nov 20 17:59:30 2006 UTC (17 years, 5 months ago) by andrew.betts
File MIME type: text/html
File size: 2274 byte(s)
Initial import
1 andrew.betts 3 <html>
2     <body>
3     <script type="text/javascript">
4     window.onError = null;
5     var domainparts = document.domain.split(".");
6     document.domain = domainparts[domainparts.length-2]+"."+domainparts[domainparts.length-1];
7     parent.Meteor.register(this);
8    
9     Function.prototype.bind = function(obj) {
10     var method = this,
11     temp = function() {
12     return method.apply(obj, arguments);
13     };
14     return temp;
15     }
16    
17     function abort() {
18     streamreq.abort();
19     }
20    
21     function newXmlHttp() {
22     var xmlhttp;
23     /*@cc_on @*/
24     /*@if (@_jscript_version >= 5)
25     try {
26     xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
27     } catch (e) {
28     try {
29     xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
30     } catch (E) {
31     xmlhttp = false;
32     }
33     }
34     @end @*/
35     if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
36     xmlhttp = new XMLHttpRequest();
37     }
38     return xmlhttp;
39     }
40    
41     var streamreq = newXmlHttp();
42     var byteoffset = 0;
43     var buffer;
44     var newdata;
45     var url = "http://"+location.hostname+"/push?channel="+get("channel")+"&id="+get("MHostId")+"&template=2";
46     if (get("lastmsgreceived") >= 0) {
47     url += "&restartfrom="+(get("lastmsgreceived")+1);
48     } else if (get("backtrack") > 0) {
49     url += "&backtrack="+get("backtrack");
50     } else if (typeof(get("backtrack")) != "number") {
51     url += "&restartfrom=";
52     }
53     var now = new Date();
54     var t = now.getTime();
55     url += "&nocache="+t;
56     streamreq.open("GET", url, true);
57     streamreq.onreadystatechange = handleresponse.bind(streamreq);
58    
59     function handleresponse() {
60     if (this.readyState == 3) {
61     buffer = this.responseText;
62     newdata = buffer.substring(byteoffset);
63     byteoffset = buffer.length;
64     var x = newdata.indexOf("parent.Meteor.setServerTime(");
65     if (x != -1) {
66     y = newdata.indexOf(");", x);
67     if (y != -1) eval(newdata.substring(x,y+2));
68     }
69     while (1) {
70     var x = newdata.indexOf("<s"+"cript>p(");
71     if (x != -1) {
72     y = newdata.indexOf("</"+"script>", x);
73     if (y != -1) {
74     eval(newdata.substring((x+8),y));
75     newdata = newdata.substring(y+9);
76     } else {
77    
78     // Last message is corrupt or incomplete. Ignore it and it will be fetched again
79     break;
80     }
81     } else {
82    
83     // No more messages
84     break;
85     }
86     }
87     byteoffset = buffer.length-newdata.length;
88     } else if (this.readyState == 4) {
89     if (typeof(r)== "function") r();
90     }
91     }
92     streamreq.send(null);
93    
94    
95     </script>
96     </body>
97     </html>

  ViewVC Help
Powered by ViewVC 1.1.26