用vbscript实现在消息框中显示一个超链接

问:
嗨,Scripting Guy!可以在消息框中包含指向某个 Web 页面的超链接吗?
-- CB
答:
嗨,CB。听起来您好像想要向用户显示一个消息框,并且希望在消息框中包含一个超链接,以便用户可以点击这个链接,从而获得更多信息。例如,假设某个用户试图访问一些资源,但被拒绝了。这种情况下,您可以弹出一个消息框,告诉用户访问被拒绝,然后向他们提供一个链接,这个链接指向的页面会告诉用户访问所需的权限。一般说来,这种办法会比简单地说“访问被拒绝”好得多。
那么,是否可以用脚本编写语言实现这个目的呢?好吧,据我们所知,目前还不能。消息框中含有超链接当然会很酷,但使用脚本编写语言则仅限于简单的消息框。
不过,先等等,别忙着离开!您并没有问我们:“是否存在某种变通办法可以实现相同目的,但不必在消息框中嵌入超链接?”如果您这么问,我们就会告诉您:“总会有变通办法的。”您所寻求的就是从消息框中实现对 Web 页面的一键式访问。一个方法就是在消息框中嵌入超链接,但不幸的是,我们上面说过,使用 VBScript 无法实现上述目的。因此,我们试着使用其他办法看看:为什么不弹出一个消息框,询问用户:“您是否想要申请访问此资源?”呢?如果用户点击否,那么脚本就会中止。如果用户点击是,脚本就会自动将用户带到合适的 Web 页面。一个消息框,一键式访问网站。它和使用超链接并不十分相同,但结果却是一样的。
如您所见,这只需要以下几行代码就可以实现:


代码如下:

Set objShell = CreateObject("Wscript.Shell") 
intMessage = Msgbox("Would you like to apply for access to this resource?", _ 
    vbYesNo, "Access Denied") 
If intMessage = vbYes Then 
    objShell.Run("http://www.microsoft.com") 
Else 
    Wscript.Quit 
End If

我们首先创建一个 WSH Shell 对象实例;我们需要创建这个实例,以便弹出 Web 浏览器和链接到网站。然后,我们显示消息框(标题为访问被拒绝),并询问用户:“您是否想要申请访问此资源?”这个消息框具有一个是按钮和一个否按钮,这就是 VBScript 常量 vbYesNo 的用途。
注意:有些人可能在想:“等等,我想您应该在 VBScript 中明确定义这些常量。”在大多数情况下,这是正确的。如果我们处理的是 FileSystemObject(打个比方),那么我们就需要使用类似如下代码定义常量:
Const ForReading = 1
但是,VBScript 有一些内部常量。vbYesNo 恰好就是其中之一。它用于在消息框中显示“是”按钮或“否”按钮。vbCrLf 则是另一个内部常量,它的作用是在字符串末尾添加回车换行。这些内部常量——它们是 VBScript 语言的一部分——不必定义;在您输入 vbYesNo 时,VBScript 会知道您的意思。
我们刚才说到哪了?哦,对了,我们弹出一个消息框,并向用户提供是按钮和否按钮。如果用户点击是,我们就将他们带到指定的网站。那么,如何知道用户点击的是否为是呢?很简单:当我们创建消息框时,我们就将用户响应存储在变量 intMessage 中。因此,若要判断用户点了哪个按钮,我们只要检查 intMessage 的值就可以了。如果这个值等于 vbYesNo(另一个内部常量,等于 6),那么用户点击的便为是,于是我们就使用 Shell 对象的 Run 方法打开网站 http://www.microsoft.com。(注意,我们需要做的就是指定 URL;然后操作系统就会使用默认浏览器导航到该站点。)
那如果用户点击的为否呢?这种情况下,我们就会退出 (Wscript.Quit)。
恰如我们所说的,这个方法和我们想象中的不完全一样,但它可以实现这个目的。
顺便说一下,如果您想了解有关 VBScript 的 Msgbox 函数以及配置这个函数的不同方式的更多信息,请访问MSDN 上的 “VBScript 语言参考”。
那如果您需要制作精美一点的消息框呢?这种情况下,您可以自己动手制作一个 HTML 页面,然后使用这个页面模拟真实的 Windows 消息框。不过这个问题我们将在其他时间讨论。

(0)

相关推荐

  • JQuery的Alert消息框插件使用介绍

    下载JS文件引用到page中,如下代码: 复制代码 代码如下: <!-- Dependencies --> <script src="/path/to/jquery.js" type="text/javascript"></script> <script src="/path/to/jquery.ui.draggable.js" type="text/javascript">&l

  • C#实现客户端弹出消息框封装类实例

    本文实例讲述了C#实现客户端弹出消息框封装类.分享给大家供大家参考.具体如下: asp.net在服务器端运行,是不能在服务器端弹出对话框的,但是C#可以通过在页面输出JS代码实现弹出消息框的效果,这个C#类封装了常用的消息框弹出JS代码,可以在服务器端调用,在客户端显示对话框.不但可以显示JS的警告框,还可以显示模式窗口,非常方便. using System; using System.Web; using System.Web.UI; using System.Web.UI.WebContro

  • Extjs4 消息框去掉关闭按钮(类似Ext.Msg.alert)

    效果如图,类似 Ext.Msg.alert(); 但没有关闭按钮  由于Extjs4消息框中的关闭按钮,没有执行回调函数,点击关闭按钮后,直接关闭窗口. 实现代码如下: 复制代码 代码如下: Ext.Msg.show({ title : '系统提示', msg : 'Extjs4 去掉提示框右上角关闭按钮', buttons: Ext.Msg.OK, fn: showResult, closable: false });

  • ASP.NET中弹出消息框的几种常见方法

    本文实例讲述了ASP.NET中弹出消息框的几种常见方法.分享给大家供大家参考.具体分析如下: 在ASP.NET网站开发中,经常需要使用到alert消息框,尤其是在提交网页的时候,往往需要在服务器端对数据进行检验,并给出提示或警告. 这里,仅介绍几种不同的实现方法. 1.众所周知的方法是采用如下代码来实现: 复制代码 代码如下: Response.Write("<script>alert('弹出的消息')</script>"); 不可否认,这种方法是最常用,也是最

  • 基于jQuery的message插件实现右下角弹出消息框

    1.$.messager.lays(width, height); 该方法主要用来定义弹出窗口的宽度和高度. 2.$.messager.anim(type,speed); 该方法主要定义窗口以什么样的方式和速度呈现. $.messager.anim("fade",1000); //以fadeIn的动画方式显示 $.messager.anim("show",1000); //以show的动画方式显示 3.$.messager.show(title,text,time)

  • .net 弹出消息框后导致页面样式变乱解决方法

    点击按钮,执行提交操作,弹出消息框后,页面的样式变乱,解决方法: 首先,确定使用的css样式正确,页面中的宽高值保持规范统一: 然后,弹出框避免使用Response.Write(),如下所示 复制代码 代码如下: Response.Write("<script language=javascript>"); Response.Write("window.alert('"); Response.Write("计划添加失败!"); Res

  • WPF自动隐藏的消息框的实例代码

    (鼠标放上去将一直显示,移开动画继续),提供normal和error两种边框. 介绍:传统的确定,取消,OK,CANCAL之类的对话框太繁琐了,由于项目需要而诞生的仿手机式提示对话框.当然传统的对话框项目中也有,这里就不做介绍了. 出场和退场动画做得很简单,就用Blend随便鼓捣了一番,将就用吧. 预览效果如下: 思路其实很简单:将窗体透明化->布局和样式设计->后台传值调用. 准备工作:Microsoft.Expression.Interactions.dll和System.Windows.

  • c++中的消息框messagebox()详细介绍及使用方法

    1.MessageBox("这是一个最简单的消息框!"); 2.MessageBox("这是一个有标题的消息框!","标题"); 3.MessageBox("这是一个确定 取消的消息框!","标题", MB_OKCANCEL ); 4.MessageBox("这是一个警告的消息框!","标题", MB_ICONEXCLAMATION ); 5.MessageBox(&

  • WPF弹出带蒙板的消息框

    先看看效果图 思路 拿到父级窗体的内容,放入一个容器里,再在容器里放入一个半透明层.将整个容器赋给父级窗体的内容. 关闭时反向操作. 代码 消息窗弹出时 /// <summary> /// 弹出消息框 /// </summary> /// <param name="message">消息</param> /// <param name="owner">父级窗体</param> public st

  • 基于.Net实现前端对话框和消息框

    关于前端对话框.消息框的优秀插件多不胜数.造轮子是为了更好的使用轮子,并不是说自己造的轮子肯定好.所以,这个博客系统基本上都是自己实现的,包括日志记录.响应式布局等等一些本可以使用插件的.好了,废话不多时.我们来实现自己的对话框和消息框. 对话框 要求:可拖动.点击按钮后可回调 画一个简单的模型框 <div class="hi-dialog-box clearfix"> <div class="hi-dialog-title">系统提示<

随机推荐