当前位置:首页 » 网站技术 » ASP

向浏览器发送内容[2]

...

避免浏览器缓存页
  每一个浏览器版本都有它自己的规格来规定是否缓存页。要避免浏览器缓存 ASP页,可使用 Response.Expires设置到期标题:

  <% Response.Expires = 0 %>

  值为 0强迫缓存页到期。因为在任何页被发送之前,HTTP标题必须被送给浏览器,所以可通过将 Response.Expires属性放在 HTML标记之前或使用 Response.Buffer缓存该页。

创建动态通道
  Internet Explorer 4.0有一个新的特性,Web规划人员可以使用该属性将带有公用主题的 Web页并入一个通道。在浏览器中,通道被显示在通道标题栏上;用户通过单击图标访问通道。通道在后台自动更新;用户不必访问站点就可以在自己的浏览器上下载最新的页。通道为用户提供了一条浏览一组相关的 Web页的快速而直接的通路,并且这些 Web页是自动更新的。

  使用 ASP,可以编写脚本来收集用户的首选项,然后动态地创建通道。通道定义文件 (.cdf)建立了通道内容的组织和顺序。在 .cdf文件中的命令使用与 HTML标记相同的语法,以便于掌握和从脚本中生成。在编写 ASP脚本来创建通道定义文件时,脚本用 .cdx扩展名。当 ASP读取一个以 .cdx为扩展名的文件时,将自动发送 application/x-cdf内容类型,它告诉浏览器用通道定义来解释字节。如果不使用 .cdx作扩展名,则脚本必须用 Response.ContentType手工将内容类型设置为 application/x-cdf。

  下面是一个有关如何使用通道的示例。下面的 HTML表格要求用户选择通道。提交时,该表格调用 .cdx文件的脚本去创建通道的定义。

  <P> Choose the channels you want. </P>

  <FORM METHOD="POST" ACTION="chan.cdx">

  <P><INPUT TYPE=CHECKBOX NAME=Movies> Movies

  <P><INPUT TYPE=CHECKBOX NAME=Sports> Sports

  <P><INPUT TYPE="SUBMIT" VALUE="SUBMIT">

  </FORM>

  Chan.cdx中的脚本根据与请求一起提交的表格的值创建通道定义。

  <% If Request.Form("Movies") <> "" Then %>

  <CHANNEL>

  channel definition statements for the movie pages

  </CHANNEL>

  <% End If %>

  <% If Request.Form("Sports") <> "" Then %>

  <CHANNEL>

  channel definition statements for the sports pages

  </CHANNEL>

  <% End If %>

  有关通道和通道定义文件的信息,请参阅 Exploration Air范例站点。

向服务器发送文件
  浏览器可以使用 Posting Acceptor应用程序将文件发送给 Web服务器。当 Posting Acceptor上载文件时,将发送列出每一个收到的文件名称和位置的 URL-encoded表格字段。可以将邮递处理的 URL添加到脚本中,此脚本上载文件去调用 ASP脚本来处理这些字段名。例如,可以编写一个脚本,自动地通过文件的名称和位置发送 e-mail给系统管理员。有关 Posting Acceptor的详细信息,包括 ASP脚本示例,请参阅 Posting Acceptor。


向浏览器传送脚本
  尽管 ASP主要用来创建和处理服务器端脚本,还是可以使用它生成由客户浏览器处理的客户端脚本来扩展其效用。通过组合传送到浏览器的脚本命令可以编写服务器端脚本。

  通过组合由 HTML注释括起来的客户端脚本和由定界符括起来的服务器端脚本可以做到这一点:

  <SCRIPT LANGUAGE="VBScript">

  <!--

  client script

  <% server script %>

  client script

  <% server script %>

  client script

  ->

  </SCRIPT>

  使用脚本语言的这个功能,您能够创建令人兴奋的应用程序。举例来说,下面的脚本将生成在用户的 Web浏览器上运行的客户脚本的子程序。

  <%

  ServerTime = Time

  ServerDate = Date

  For i = 1 to 4

  Randomize

  GreetCondition = int(rnd * 3)

  %>

  <SCRIPT LANGUAGE="VBScript">

  <!--

  Sub ServeInfo<%= i %>()

  Select Case <%= GreetCondition%>

  Case 0

  Msg = "Hello, the time is <%= ServerTime %>."

  Case 1

  Msg = "Welcome! Today's date is <%= ServerDate %>."

  Case 2

  Msg = "Hi, the time is <%= ServerTime %> and the date is <%= ServerDate %>.

  End Select

  Document.Write Msg

  End Sub

  ServeInfo<%= i %>()

  //-->

  </SCRIPT>

  <br>

  <%

  Next

  %>

  在以上的脚本中,ASP在服务器上检索时间和日期信息,然后通过几次循环生成在用户的 Web服务器上运行的子程序。每个客户端子程序提出随机选择的问候,显示时间和日期信息。

  这种脚本可扩展,例如,将配置信息检索并提交到指定的客户端脚本或组件,如 ActiveX控件。灵活地使用这种脚本的编写技巧,同样可以加快 Web服务器处理和返回用户信息请求的速度。


继续阅读
包含文件
访问数据库 [1]
访问数据库 [2]
访问数据库 [3]
调试 ASP 脚本 [1]
调试 ASP 脚本 [2]
维护 ASP 应用程序的安全 [1]
维护 ASP 应用程序的安全 [2]
ASP.NET 简介
发表评论

昵称:
最新评论
暂时没有评论!