两种类型的VBScript?

时间:2017-04-10 18:59:44

标签: vbscript asp-classic

最近,我有一位朋友教我一些VBScript。这是以下代码。

help = MsgBox("Click on 'Yes'",vbYesNoCancel, "Orders")
WScript.Echo help

该文件名为File.vbs,据我所知.vbs代表Visual Basic脚本文件。但最近,我一直在网上搜索,发现VBS是另一回事。它看起来像htmlxml。这样的事情。

<% Option Explicit
 %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
     "http://www.w3.org/TR/html4/loose.dtd">
 <html>
    <head>
        <title>VBScript Example</title>
    </head>
    <body>
        <div><% 
        ' Grab current time from Now() function.
                ' An '=' sign occurring after a context switch (<%) is shorthand 
                ' for a call to the Write() method of the Response object.
        Dim timeValue = Now %>
        The time, in 24-hour format, is 
                <%=Hour(timeValue)%>:<%=Minute(timeValue)%>:<%=Second(timeValue)%>.
        </div>
    </body>
 </html>

有人可以解释我是否正在查看正确的语言或其他内容? 提前谢谢!

1 个答案:

答案 0 :(得分:3)

VBScript没有两种类型,区别仅在于如何使用它。

VBScript Scripting Language不能独立运行:它依赖于Scripting Host,它可以采取各种形式,具体取决于其执行的上下文。

对于客户端方案,有几种方法可以使用:

  1. 通过可以执行.vbs.wsf扩展文件Windows Scripting Host(有关WSF的详情,请参阅Windows Script File。< / p>

  2. 通过Internet Explorer (从Microsoft Edge开始不推荐使其与现代标准浏览器保持一致)通过<script> HTML标记。

  3. 通过类似于Internet Explorer的HTA但限制性较小,旨在用于访问本地资源(否则将被视为不安全)的受控环境中。它通常用于设计在企业中使用的基于Web的界面(mshta.exe包含在大多数Windows版本中)

  4. 对于服务器端方案,选项更简单:

    • Classic ASP是一个服务器端脚本引擎,它将VBScript作为其默认脚本语言。经典ASP作为IIS内的ISAPI扩展运行,可以配置为处理任何Active Scripting Language (迄今为止包括VBScript和JScript,但也有一个Perl的自定义实现,称为{{ 3}}将在非基于IIS的服务器上运行)

      在第二个示例中,VBScript <%%>周围的奇怪括号是Classic ASP脚本引擎的一部分。它们被称为“内联代码块”:它们帮助Classic ASP Interpreter识别在Web服务器返回最终HTML之前需要处理的代码。调用Classic ASP VBScript是错误的,因为它有自己的对象模型,它完全独立于VBScript - 它包含了RequestResponseServer之类的对象,它们只能是在Classic ASP的上下文中使用。

    有用的链接