HOWTO: 如何维护跨具有 VBScript 的页的状态

文章翻译 文章翻译
文章编号: 157906 - 查看本文应用于的产品
1.00 1.10 2.00 WINDOWS kbprg kbhowto
展开全部 | 关闭全部

本文内容

概要

本文说明了在三种方法,您可以在 Web 页使用 Visual Basic 脚本版之间维护状态的。

以下是三种方法:
  • 将 cookie 分配给一个备用 HREF。
  • 使用 cookie,并更改页的内容。
  • 使用框架和最高级别框架中存储的值。

更多信息

下面的更详细地描述了三种方法。若要访问一个示例,演示这三种方法创建的每个节中描述的 HTML 文件。您可以使用记事本或任何其他文本编辑器创建的文件。

方法 1-将一个 Cookie 分配到一个备用 HREF

若要用于方法 1,您需要从 HTTP 服务器读取您的文件。
   ******** Begin Page1-1.htm **********
   <HTML>

    <SCRIPT LANGUAGE="VBSCRIPT">
      Sub SetCookie
        document.cookie = "MyVar='101'; path='page1-2.htm'"
      End Sub
    </SCRIPT>
    <BODY>
      <H2>Page 1 - Method 1</H2><HR>
      <INPUT TYPE=BUTTON VALUE="Set Cookie" onClick="SetCookie">
      <A HREF="page1-2.htm">Go to Page 2</A>
    </BODY>

   </HTML>
   ******** End Page1-1.htm **********

   ******** Begin Page1-2.htm **********
   <HTML>

    <SCRIPT LANGUAGE="VBSCRIPT">
      Sub GetCookie
        MsgBox document.cookie
      End Sub
    </SCRIPT>
    <BODY>
      <H2>Page 2 - Method 1</H2><HR>
      <INPUT TYPE=BUTTON VALUE="Get Cookie" onClick="GetCookie">
    </BODY>

   </HTML>
   ******** End Page1-2.htm   **********
				
第一页-1.htm:
  • 按钮的 onClick 事件调用 SetCookie 子例程定义的页面的顶部。
  • 该子例程设置 cookie 的值,该 cookie 的 PATH。 在 PATH 是值设置为页的名称。
  • "转到第 2 页"定位到第 2 页,锁定标记,请使用标准的 HTML 语法。
第一页-2.htm:

  • 按钮的 onClick 事件调用 GetCookie 子例程定义的页面的顶部。
  • 该子例程中读取该 cookie 来演示该变量已设置的值。

方法 2-使用一个 Cookie 和更改页的内容

若要使用方法 2 您需要从 HTTP 服务器读取您的文件。
   ******** Begin Page2-1.htm **********
   <HTML>

    <SCRIPT LANGUAGE="VBSCRIPT">
      Sub SetCookie
        document.cookie = "MyVar=101"
      End Sub

      Sub GotoNextPage
        location.href = "page2-2.htm"
      End Sub
    </SCRIPT>
    <BODY>
      <H2>Page 1 - Method 2</H2><HR>
      <INPUT TYPE=BUTTON VALUE="Set Cookie" onClick="SetCookie">
      <A HREF="" onClick="GotoNextPage">Go to Page 2</A>
    </BODY>

   </HTML>
   ******** End Page2-1.htm **********

   ******** Begin Page2-2.htm **********
   <HTML>

    <SCRIPT LANGUAGE="VBSCRIPT">
      Sub GetCookie
        MsgBox document.cookie
      End Sub
    </SCRIPT>
    <BODY>
      <H2>Page 2 - Method 2</H2><HR>
      <INPUT TYPE=BUTTON VALUE="Get Cookie" onClick="GetCookie">
    </BODY>

   </HTML>
   ******** End Page2-2.htm **********
				
Page2-1.htm:

  • 按钮的 onClick 事件调用 SetCookie 子例程的定义文件的顶部。
  • 该子例程将设置为当前页 cookie 的值。
  • 定位点"转到第 2 页"调用 GotoNextPage 子例程定义的页面的顶部。
  • GotoNextPage 子例程将定位到第 2 页,通过设置该 HREF 位置对象的属性。这将更改内容当前页指向而无须重新设置该 cookie。
Page2-2.htm:

  • 按钮的 onClick 事件调用 GetCookie 子例程定义的页面的顶部。
  • 该子例程中读取该 cookie 来演示该变量已设置的值。

方法 3-使用框架和存储在热门级别框架中的值

   ******** Begin Page3-1.htm **********
   <HTML>

    <SCRIPT LANGUAGE="VBSCRIPT">
      Dim MyVar
    </SCRIPT>

    <FRAMESET COLS="50%,50%">
      <FRAME SRC="page3-2.htm">
      <FRAME SRC="page3-3.htm">
    </FRAMESET>

   </HTML>
   ******** End Page3-1.htm **********

   ******** Begin Page3-2.htm **********
   <HTML>

    <SCRIPT LANGUAGE="VBSCRIPT">
      Sub SetVariable
        top.MyVar = 101
      End Sub
    </SCRIPT>
    <BODY>
      <H2>Page 1 - Method 3</H2><HR>
      <INPUT TYPE=BUTTON VALUE="Set Variable" onClick="SetVariable">
    </BODY>
   </HTML>
   ******** End PAGE3-2.HTM **********

   ******** Begin Page3-3.htm **********
   <HTML>

    <SCRIPT LANGUAGE="VBSCRIPT">
      Sub GetVariable
        MsgBox top.MyVar
      End Sub
    </SCRIPT>
    <BODY>
      <H2>Page 2 - Method 3</H2><HR>
      <INPUT TYPE=BUTTON VALUE="Get Variable" onClick="GetVariable">
    </BODY>

   </HTML>
   ******** End Page3-3.htm **********
				
Page3-1.htm:

  • 定义一个变量。由于定义变量以外的任何子例程,因此,可以访问所有的子框架。
Page3-2.htm:

  • 按钮的 onClick 事件调用 SetVariable 子例程的定义文件的顶部。
  • 该子例程最顶层的框架中设置该变量的值。它执行此使用变量 TOP,它是指在顶层的框架。
Page3-3.htm:

  • 按钮的 onClick 事件调用 GetVariable 子例程定义的页面的顶部。
  • 该子例程中读取最顶层的框架中变量的值。

参考

有关为 Microsoft Internet Explorer 中开发的基于 Web 的解决方案的详细信息请访问以下 Microsoft 网站:
http://msdn.microsoft.com/ie/

http://support.microsoft.com/iep

属性

文章编号: 157906 - 最后修改: 2006年5月11日 - 修订: 3.0
这篇文章中的信息适用于:
  • Visual Basic,Scripting Edition 2.0
  • Microsoft Visual Basic, Scripting Edition 1.1
关键字:?
kbmt kbfaq kbhowto kbscript KB157906 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 157906
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。
不再更新的 KB 内容免责声明
本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com