this.ifra = this.transfdoc.getElementById("iframe");
this.ifra.contentWindow.location.href = page;
+ this.stopped = false;
}
transport_htmlfile.prototype = {
doc: null,
xynt_streaming: null,
+ stopped: true,
ifra: null,
tradoc: null,
this.ifra.contentWindow.script_clean = step;
},
- postproc: function () {
+ postproc: function () { /* public */
+ if (this.stopped && !this.xstr_is_ready()) {
+ this.xynt_streaming.reload();
+ }
}
}
this.ifra.style.visibility = "hidden";
doc.body.appendChild(this.ifra);
this.ifra.contentWindow.location.href = page;
+ this.stopped = false;
}
transport_iframe.prototype = {
doc: null,
xynt_streaming: null,
+ stopped: true,
ifra: null,
destroy: function () { /* public */
try {
if (this.ifra != null) {
- // FIXME: on Opera on Windows this remove child crash js so is commented
- // on IE on Windows without it stream abort fails
- // so we need to decide how can run it
+ // NOTE: on Opera this remove child crash js if called from
+ // inside of the iframe, on IE on Windows without
+ // it stream abort fails.
+ // the problem is fixed setting into the iframe's onload
+ // function the stopped attribute to true and delegate
+ // postproc() fired by xynt_streaming watchdog()
this.doc.body.removeChild(this.ifra);
delete this.ifra;
this.ifra = null;
this.ifra.contentWindow.script_clean = step;
},
- postproc: function () {
+ postproc: function () { /* public */
+ if (this.stopped && !this.xstr_is_ready()) {
+ this.xynt_streaming.reload();
+ }
}
}