何年も前に、プログレッシブ レンダリングに依存する以前の仕事で CGI プログラムを作成しました。これらの CGI プログラムは実行に長時間 (数分) かかり、約 1 秒ごとに 1 行の出力が生成される可能性があるためです。今日、最も単純な例でもプログレッシブ レンダリングを実行できないことがわかりました。
CSS やスクリプトなどを配置する場所について、このトピックに関する多くの提案を見てきました。ただし、以下の簡単な例にはそれがありません。
ブラウザーがプログレッシブ レンダリングに影響を与えるオプションを持っている場所はどこにもありません。いくつかのブラウザ(chrome、firefox、opera)を備えたいくつかのシステム/デバイスでこれを試しましたが、すべて同じ結果でした。
以下は、2 秒ごとに何らかの出力を生成することを期待している簡単な例ですが、代わりに、ドキュメント全体が完了するとレンダリングされます。明らかな何かが欠けていますか?
#!/usr/bin/env perl
select(STDOUT); $| = 1; # don't buffer stdout
print "Content-Type: text/html\; charset=ISO-8859-1\n\n" ;
print "<html> <head> <title> Testing </title> </head> <body>\n" ;
my $message = "<code>" .
"Why doesn't this render immediately? <br>\n" x 5 .
"</code>\n" ;
for ( my $i=0 ; $i < 5 ; $i++ ) {
print "$message\n" ;
sleep(2) ;
}
print "</body></html>\n" ;