快速业务通道

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

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

SetobjShell=CreateObject("Wscript.Shell")
intMessage=Msgbox("Wouldyouliketoapplyforaccesstothisresource?",_
vbYesNo,"AccessDenied")
IfintMessage=vbYesThen
objShell.Run("http://www.microsoft.com")
Else
Wscript.Quit
EndIf
我们首先创建一个WSHShell对象实例;我们需要创建这个实例,以便弹出Web浏览器和链接到网站。然后,我们显示消息框(标题为访问被拒绝),并询问用户:“您是否想要申请访问此资源?”这个消息框具有一个是按钮和一个否按钮,这就是VBScript常量vbYesNo的用途。
注意:有些人可能在想:“等等,我想您应该在VBScript中明确定义这些常量。”在大多数情况下,这是正确的。如果我们处理的是FileSystemObject(打个比方),那么我们就需要使用类似如下代码定义常量:
ConstForReading=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消息框。不过这个问题我们将在其他时间讨论。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号