Well, just in case this helps anyone, I managed to get it working on most of
the current browsers.

My first problem was a missing import statement (definite "DOH!" moment
there), but once that was resolved Firefox steadfastly refused to
co-operate.

The fix was to use a boundary indicator then specify the content type for
every subsequent chunk of data, something along these lines:

# during initial converstation
     status    = '200 OK'
     response_headers  = [('Content-type','multipart/x-mixed-replace')]
     if string.find(environ['HTTP_USER_AGENT'],'Firefox') != -1:
         response_headers  =
[('Content-type','multipart/x-mixed-replace;boundary=x0x0x0x')]
     writer = start_response(status, response_headers)

# during subsequent conversations
    if string.find(environ['HTTP_USER_AGENT'],'Firefox') != -1:
        writer('Content-type: text/html\r\n\r\n'+text+'\r\n\r\n--x0x0x0x')
    else:
        writer(text)

Now, in Firefox the behavior is that it completely replaces the previous
chunk, while in IE8, Chrome, Safari it simply adds to the existing content.
It doesn't work in Opera yet (with either method), I haven't been able to
determine why but I'll continue to work on it.

Sorry for the hassle everyone!
_______________________________________________
Web-SIG mailing list
Web-SIG@python.org
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe: 
http://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com

Reply via email to