📄 14-2.cfm.htm
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>利用缓存输出</title>
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
</head>
<body>
<font SIZE="5"><b>
<p ALIGN="JUSTIFY">利用缓存输出</p>
</b></font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY"></font><font SIZE="3">通常</font><font FACE="宋体" SIZE="3">,Active
Server Page</font><font SIZE="3">在服务端执行,每一句执行的结果都会立即发送到浏览器上显示出来。例如下面这个例子:</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY"><html></p>
<p ALIGN="JUSTIFY"><head><title>buffer example</title></head></p>
<p ALIGN="JUSTIFY"><body></p>
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">for i=1 to 500</p>
<p ALIGN="JUSTIFY">response.write(i&</font><font SIZE="3">”</font><font
FACE="宋体" SIZE="3"><BR></font><font SIZE="3">”</font><font FACE="宋体"
SIZE="3">)</p>
<p ALIGN="JUSTIFY">next</p>
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY"></body></p>
<p ALIGN="JUSTIFY"></html></p>
</font><font SIZE="3">
<p ALIGN="JUSTIFY">这个脚本在屏幕上显示从</font><font FACE="宋体" SIZE="3">1</font><font
SIZE="3">到</font><font FACE="宋体" SIZE="3">500</font><font SIZE="3">,每一句命令执行后结果都立即显示,你可以实时的看到执行结果。</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY"></font><font SIZE="3">在某些场合下,你也可以利用缓冲区来延缓执行过程,当你利用缓冲区时,直到整个</font><font
FACE="宋体" SIZE="3">Active Server Page</font><font SIZE="3">执行结束才会将结果输出到浏览器上。下面是利用</font><font
FACE="宋体" SIZE="3">buffer</font><font SIZE="3">修改后的例子:</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY"><% Response.Buffer=True %></p>
<p ALIGN="JUSTIFY"><HTML></p>
<p ALIGN="JUSTIFY"><HEAD><TITLE>buffer Example</TITLE></HEAD></p>
<p ALIGN="JUSTIFY"><body></p>
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">For i=1 to 500</p>
<p ALIGN="JUSTIFY">Response.write(i&</font><font SIZE="3">”</font><font
FACE="宋体" SIZE="3"><br></font><font SIZE="3">”</font><font FACE="宋体"
SIZE="3">)</p>
<p ALIGN="JUSTIFY">NEXT</p>
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY"></body></p>
<p ALIGN="JUSTIFY"></html></p>
<p ALIGN="JUSTIFY"></font><font SIZE="3">这个脚本和前面的那个仅有一个区别,在脚本第一行,将</font><font
FACE="宋体" SIZE="3">Response</font><font SIZE="3">对象的</font><font FACE="宋体"
SIZE="3">Buffer</font><font SIZE="3">属性设置为</font><font FACE="宋体" SIZE="3">True</font><font
SIZE="3">。那么这页执行的时候,这个主页的所有内容会同时显示在浏览器上,这个主页会存在缓存区中直到脚本执行结束。</p>
<b>
<p ALIGN="JUSTIFY">注意</p>
</b></font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY"></font><font SIZE="3">你可以利用</font><font FACE="宋体"
SIZE="3">Internet Service Manage</font><font SIZE="3">来将</font><font FACE="宋体"
SIZE="3">Buffer</font><font SIZE="3">的默认值设为</font><font FACE="宋体" SIZE="3">True</font><font
SIZE="3">。在</font><font FACE="宋体" SIZE="3">Application Configuation</font><font
SIZE="3">对话框的</font><font FACE="宋体" SIZE="3">App Options</font><font SIZE="3">页中选择</font><font
FACE="宋体" SIZE="3">Enable Buffering.</p>
<p ALIGN="JUSTIFY"></font><font SIZE="3">任何对</font><font FACE="宋体" SIZE="3">Buffer</font><font
SIZE="3">属性的修改的语句都必须在主页和</font><font FACE="宋体" SIZE="3">Active
Server Page</font><font SIZE="3">脚本输出前面,如果你试图在</font><font
FACE="宋体" SIZE="3">HTML</font><font SIZE="3">或者脚本输出后面修改</font><font
FACE="宋体" SIZE="3">Buffer</font><font SIZE="3">属性,那么你的程序就会出错。</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY"></font><font SIZE="3">利用缓存程序,你就可以根据某种条件来显示不同的主页,下面是随机显示的一个例子。</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY"><% Response.Buffer=True %></p>
<p ALIGN="JUSTIFY"><HTML></p>
<p ALIGN="JUSTIFY"><HEAD><Title></font><font SIZE="3">第一页</font><font
FACE="宋体" SIZE="3"></title></head></p>
<p ALIGN="JUSTIFY"><Body></p>
</font><font SIZE="3">
<p ALIGN="JUSTIFY">这是第一页。</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY"></body></p>
<p ALIGN="JUSTIFY"></html></p>
<p ALIGN="JUSTIFY"><% </p>
<p ALIGN="JUSTIFY">Randomize</p>
<p ALIGN="JUSTIFY">If Int(2*rnd)=1 then Response.End</p>
<p ALIGN="JUSTIFY">Response.Clear</p>
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY"><HTML></p>
<p ALIGN="JUSTIFY"><HEAD><TITLE></font><font SIZE="3">第二页</font><font
FACE="宋体" SIZE="3"></title></head></p>
<p ALIGN="JUSTIFY"><body></p>
</font><font SIZE="3">
<p ALIGN="JUSTIFY">这是第二页。</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY"></body></p>
<p ALIGN="JUSTIFY"></html></p>
<p ALIGN="JUSTIFY"></font><font SIZE="3">在这个例子中,使用了</font><font
FACE="宋体" SIZE="3">Response</font><font SIZE="3">对象的两个新的方法:</font><font
FACE="宋体" SIZE="3">End</font><font SIZE="3">方法和</font><font FACE="宋体"
SIZE="3">Clear</font><font SIZE="3">方法。</font><font FACE="宋体" SIZE="3">End</font><font
SIZE="3">方法会立即停止</font><font FACE="宋体" SIZE="3">Active Server Pages</font><font
SIZE="3">的执行和相应结果。你在执行</font><font FACE="宋体" SIZE="3">End</font><font
SIZE="3">方法时不需要考虑是否进行了缓存输出。在这个例子中,</font><font
FACE="宋体" SIZE="3">End</font><font SIZE="3">方法被用来防止在显示第一页时、第二页也显示出来。</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY">Clear</font><font SIZE="3">方法是用来在不将缓存中的内容输出的前提下清空当前页的</font><font
FACE="宋体" SIZE="3">buffer</font><font SIZE="3">,仅仅是使用了缓存输出的时候你才可以利用</font><font
FACE="宋体" SIZE="3">clear</font><font SIZE="3">方法,在这里面,</font><font
FACE="宋体" SIZE="3">clear</font><font SIZE="3">方法是用来防止显示第二个页面时,第一个页面也显示出来。它把第一个页面从</font><font
FACE="宋体" SIZE="3">buffer</font><font SIZE="3">中清空了。</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY">Response</font><font SIZE="3">对象中在缓存输出中还用到了另一个方法是</font><font
FACE="宋体" SIZE="3">flush</font><font SIZE="3">,将缓存中的东西立即显示出来,和</font><font
FACE="宋体" SIZE="3">clear</font><font SIZE="3">方法一样的是,该方法在脚本前面没有将</font><font
FACE="宋体" SIZE="3">buffer</font><font SIZE="3">属性设置为</font><font
FACE="宋体" SIZE="3">true</font><font SIZE="3">时会出错,和</font><font
FACE="宋体" SIZE="3">end</font><font SIZE="3">方法不同的是,该方法调用后,该</font><font
FACE="宋体" SIZE="3">Active Server Page</font><font SIZE="3">继续执行。</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY"></font><font SIZE="3">一般,你并不需要缓存输出一个</font><font
FACE="宋体" SIZE="3">Active Server Page,</font><font SIZE="3">这通常是个坏主意,在大的</font><font
FACE="宋体" SIZE="3">HTML</font><font SIZE="3">主页或者运行较长的脚本中,利用缓存显示结果通常会使得用户感到迷惑。</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY"></font><font SIZE="3">如果你希望根据条件显示不同主页内容,你完全可以只是简单的利用</font><font
FACE="宋体" SIZE="3">VB</font><font SIZE="3">脚本来做判断,例如,下面这个例子实现的上面例子的同样功能而没有使用缓存。</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY"><%</p>
<p ALIGN="JUSTIFY">Randomize</p>
<p ALIGN="JUSTIFY">if INT(2*RND)=1 then</p>
<p ALIGN="JUSTIFY">%></p>
<p ALIGN="JUSTIFY"><HTML></p>
<p ALIGN="JUSTIFY"><HEAD><TITLE></font><font SIZE="3">第一页</font><font
FACE="宋体" SIZE="3"></TITLE></HEAD></p>
<p ALIGN="JUSTIFY"><BODY></p>
</font><font SIZE="3">
<p ALIGN="JUSTIFY">这是第一页</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY"></BODY></p>
<p ALIGN="JUSTIFY"></HTML></p>
<p ALIGN="JUSTIFY"><% ELSE %></p>
<p ALIGN="JUSTIFY"><HTML></p>
<p ALIGN="JUSTIFY"><HEAD><TITLE></font><font SIZE="3">第二页</font><font
FACE="宋体" SIZE="3"></TITLE></HEAD></p>
<p ALIGN="JUSTIFY"><BODY></p>
</font><font SIZE="3">
<p ALIGN="JUSTIFY">这是第二页</p>
</font><font FACE="宋体" SIZE="3">
<p ALIGN="JUSTIFY"></body></p>
<p ALIGN="JUSTIFY"></html></p>
<p ALIGN="JUSTIFY"><% END IF %></p>
<p ALIGN="JUSTIFY"></font><font SIZE="3">只有一种场合下</font><font FACE="宋体"
SIZE="3">buffer</font><font SIZE="3">是必须的,那就是在主页内容已经确定后你却需要改变主页的</font><font
FACE="宋体" SIZE="3">header</font><font SIZE="3">。这是你除了将</font><font
FACE="宋体" SIZE="3">buffer</font><font SIZE="3">属性设为</font><font FACE="宋体"
SIZE="3">True</font><font SIZE="3">外别无选择。那么,下面有关部分会有更加详细的介绍。</p>
</font>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -