几年前,我在以前的工作中编写了依赖渐进式渲染的 CGI 程序,因为这些 CGI 程序可能需要很长时间(几分钟)才能运行,大约每秒产生一行输出。我发现今天,即使使用最简单的示例,我也无法进行渐进式渲染。
我已经看到很多关于这个主题的建议,关于在哪里放置 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" ;