Mailinglisten-Archive |
Stefan Krister wrote:
> > http://osiris.ifi.unizh.ch/pushpull.html , Anschnitt "Server-Pull"
>
> wie macht das z.B. apollo7.de? Beim Netscape sehe ich die abgefragten
> Suchmaschinen, anschließend kommen die Treffer.
>
> Beim IE jedoch, kommen die Treffer _ohne_ vorherige Suchmaschinen.
vermutlich Fallunterscheidung je nach $HTTP_USER_AGENT
> > Microsoft ignoriert diesen einfachen und eleganten Mechanismus
> > allerdings hartnäckig
>
> So wie's aussieht, müssen sich die IE-User wohl damit begnügen, nichts
> zu sehen ...
>
> Hat jemand einen Code-Ausschnitt für mich, wo sowas gemacht wird? Ich
> meine jetzt die Ausgabe beginnend links oben im leeren Browserfenster.
die Dokumentation im pushpull.html (s.o.) enthält doch ein
Code-Beispiel,
oder ? (OK, 's ist ein Shell-Script, kein PHP, aber so riesig werden die
Unterschiede doch nicht sein ...)
wem das allerdings zu knapp ist, kann hier eine Langfassung in PHP
bewundern:
<?
$is_multipart = false;
// unterstützt unser Browser Server-Push mit multipart/replace ?
// naiv, aber für den Anfang reichts
function have_multipart()
{
global $HTTP_USER_AGENT;
if(strstr($HTTP_USER_AGENT,"ozilla"))
{
if(strstr($HTTP_USER_AGENT,"MSIE")) return false;
if(strstr($HTTP_USER_AGENT,"compatible")) return false;
return true;
}
return false;
}
// multipart-header ausgeben
function multipart_next($type="text/html")
{
global $is_multipart;
if($is_multipart!=true)
{
$is_multipart=true;
header("HTTP/1.0 200");
header("Content-type: multipart/x-mixed-replace;
boundary=MultipartDelimiter");
}
print "--MultipartDelimiter\n";
print "Content-type: ".$type."\n\n";
flush();
}
function multipart_start($type="text/html")
{
multipart_next($type);
}
function multipart_end()
{
global $is_multipart;
if($is_multipart)
{
print "\n\n--MultipartDelimiter--\n";
}
flush();
}
multipart_start();
echo "Hallo start\n";
multipart_next();
sleep(5);
for($i=1;$i<10;$i++) {
echo "Fortsetzung $i von 10\n";
multipart_next();
sleep(5);
}
echo "das wars\n";
multipart_end();
?>
--
Hartmut Holzgraefe hartmut_(at)_six.de http://www.six.de
php::bar PHP Wiki - Listenarchive