X-Git-Url: https://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2FObj%2Ftransports.phh;h=0f0e4a7c8b05d88059420dc6b7c8dc03b5202733;hb=eb511faf85cb656489e24943b0c709ebf62322b3;hp=b426043ab8e93f365b03a3f68f7453ea12cdb0d9;hpb=4a2bbbc1fee0ffb152eba1ef5587f07cee4250a1;p=brisk.git diff --git a/web/Obj/transports.phh b/web/Obj/transports.phh index b426043..0f0e4a7 100644 --- a/web/Obj/transports.phh +++ b/web/Obj/transports.phh @@ -22,6 +22,37 @@ * */ +/* + * test: SO x Browser + * Values: Y: works, N: not works, @: continuous download, + * D: continuous download after first reload + * + * Stream IFRAME: + * + * Iframe| IW | FF | Ch | Op | Ko | IE + * ------+----+----+----+----+----+---- + * Lnx | D | | @ | | @ | x + * Win | x | D | @ | @ | | D + * Mac | x | | | | | + * + * + * XHR | IW | FF | Ch | Op | Ko | IE + * ------+----+----+----+----+----+---- + * Lnx | Y | | ^D | | Y | x + * Win | x | Y | Y | | | N + * Mac | x | | | | | + * + * + * HtmlFl| IW | FF | Ch | Op | Ko | IE + * ------+----+----+----+----+----+---- + * Lnx | N | | | | N | + * Win | x | N | N | | | Y* (* seems delay between click and load of a new page) + * Mac | x | | | | | + * + * + */ + + class Transport_template { function Transport_template() { @@ -31,7 +62,7 @@ class Transport_template { { } - static function fini($init_string, $blockerr) + static function fini($init_string, $base, $blockerr) { } @@ -47,14 +78,24 @@ class Transport_xhr { function init($enc, &$header_out, $init_string, $base, $step) { + $ret = sprintf("@BEGIN@ /* %s */ @END@", $init_string); + if ($enc != 'plain') + $header_out['Content-Encoding'] = $enc; + $header_out['Cache-Control'] = 'no-cache, must-revalidate'; // HTTP/1.1 + $header_out['Expires'] = 'Mon, 26 Jul 1997 05:00:00 GMT'; // Date in the past + $header_out['Content-type'] = 'application/xml; charset="utf-8"'; + + return ($ret); } - static function fini($init_string, $blockerr) + static function fini($init_string, $base, $blockerr) { + return (""); } function chunk($step, $cont) { + return ("@BEGIN@".$cont."@END@"); } } @@ -82,7 +123,7 @@ var xynt_streaming = \"ready\";", $base, $base); if ($step > 0) $ret .= sprintf("last_clean = %d;\n", ($step-1)); $ret .= sprintf(" -window.onload = function () { if (xynt_streaming != \"ready\") { xynt_streaming.reload(); } }; +window.onload = function () { if (xynt_streaming != \"ready\") { xynt_streaming.transp.stopped = true; } }; "); @@ -91,7 +132,7 @@ window.onload = function () { if (xynt_streaming != \"ready\") { xynt_streaming. return ($ret); } - static function fini($init_string, $blockerr) + static function fini($init_string, $base, $blockerr) { $ret = ""; $ret .= sprintf(" @@ -99,7 +140,7 @@ window.onload = function () { if (xynt_streaming != \"ready\") { xynt_streaming. @@ -125,4 +166,26 @@ push(\"%s\");\n// -->\n", $step, escpush($cont) ); } } } + +class Transport_htmlfile extends Transport_iframe { +} + +class Transport { + function Transport() + { + } + + static function create($transp) + { + if ($transp == 'xhr') { + return new Transport_xhr(); + } + else if ($transp == 'htmlfile') { + return new Transport_htmlfile(); + } + else { + return new Transport_iframe(); + } + } +} ?> \ No newline at end of file