--- googlecode.com/svn/trunk/public_html/poll.html 2007/10/10 22:25:57 31
+++ googlecode.com/svn/trunk/public_html/poll.html 2007/12/20 21:24:24 32
@@ -7,61 +7,40 @@
var topdomain = domainparts[domainparts.length-2]+"."+domainparts[domainparts.length-1];
document.domain = topdomain;
var lastrequesttime = 0;
-var pollreq = false;
+var pollreq = null;
var polltimer = false;
var i=0;
var isaborted = 0;
parent.Meteor.register(this);
-Function.prototype.bind = function(obj) {
- var method = this,
- temp = function() {
- return method.apply(obj, arguments);
- };
- return temp;
-}
-
function newXmlHttp() {
- var xmlhttp;
- /*@cc_on @*/
- /*@if (@_jscript_version >= 5)
- try {
- xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
- } catch (e) {
- try {
- xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
- } catch (E) {
- xmlhttp = false;
- }
- }
- @end @*/
- if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
- xmlhttp = new XMLHttpRequest();
- }
- return xmlhttp;
+ try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
+ try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
+ try { return new XMLHttpRequest(); } catch(e) {}
+ return null;
}
function poll() {
isaborted = 0;
+ pollreq = null;
try {
clearTimeout(polltimer);
} catch (e) {}
var byteoffset = 0;
var newdata;
document.domain = topdomain;
- var url = get("subsurl");
+ var url = parent.Meteor.getSubsUrl();
if (typeof(url)!="undefined") {
- var now = new Date();
- var t = now.getTime();
- url += "&template=2&nocache="+t;
try {
document.domain = thisdomain;
} catch (e) {}
pollreq = newXmlHttp();
pollreq.onreadystatechange = handleresponse;
pollreq.open("GET", url, true);
+ var now = new Date();
+ var t = now.getTime();
lastrequesttime = t;
- if (get("polltimeout")) polltimer = setTimeout(ptimeout, get("polltimeout"));
+ if (parent.Meteor.polltimeout) polltimer = setTimeout(ptimeout, parent.Meteor.polltimeout);
pollreq.send(null);
}
document.domain=topdomain;
@@ -75,11 +54,6 @@
if (typeof(topdomain) == "undefined") return false;
document.domain=topdomain;
newdata = pollreq.responseText;
- var x = newdata.indexOf("parent.Meteor.setServerTime(");
- if (x != -1) {
- y = newdata.indexOf(");", x);
- if (y != -1) eval(newdata.substring(x,y+2));
- }
while (1) {
var x = newdata.indexOf("p(");
if (x != -1) {
@@ -96,8 +70,9 @@
}
var now = new Date();
var t = now.getTime();
- var x = get("pollfreq") - (t-lastrequesttime);
+ var x = parent.Meteor.pollfreq - (t-lastrequesttime);
if (x < 10) x = 10;
+ pollreq = null;
setTimeout(poll, x);
}
}
@@ -105,20 +80,20 @@
function ptimeout() {
isaborted = 1;
pollreq.abort();
- delete pollreq;
+ pollreq = null;
clearTimeout(polltimer);
var now = new Date();
var t = now.getTime();
- var x = get("pollfreq") - (t-lastrequesttime);
+ var x = parent.Meteor.pollfreq - (t-lastrequesttime);
if (x < 10) x = 10;
setTimeout(poll, x);
}
function guard() {
- var url = get("subsurl");
+ var url = parent.Meteor.getSubsUrl();
if (typeof(url)=="undefined") {
pollreq.abort();
- delete pollreq;
+ pollreq = null;
clearTimeout(polltimer);
}
setTimeout('guard()', 1000);