十年专注于品牌网站建设 十年专注于品牌网站建设,低调、有情怀的网络应用服务商!
南昌百恒网络微信公众号 扫一扫关注
小程序
tel-icon全国服务热线:400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络微信小程序

百恒网络

南昌百恒网络

ECMAScript中alert()、confirm()和prompt()使用方法介绍

百恒网络 2013-05-14 2829

浏览器通过alert()、confirm()和prompt()方法可以调用系统对话框向用户显示消息。系统对话框与在浏览器中显示的网页没有关系,也不包含HTML。它们的外观由操作系统及(或)浏览器设置决定,而不是由CSS决定。此外,通过这几个方法打开的对话框都是同步和模态的。也就是说,显示这些对话框的时候代码会停止执行,而关掉这些对话框后代码又会恢复执行。

南昌网站建设公司工程师前几年经常会用到alert()方法,这个方法接受一个字符串并将其显示给用户。具体来说,调用alert()方法的结果就是向用户显示一个系统对话框,其中包含指定的文本和一个OK(“确定”) 按钮。例如,alert(”Hello world!”)会在Windows XP系统的IE中生对话框。

通常使用alert()生成的“警告”对话框向用户显示一些他们无法控制的消息,例如错误消息。而用户只能在看完消息后关闭对话框。

第二种对话框是调用confirm()方法生成的。从向用户显示消息的方面来看,这种“确认”对话

框很像是一个“警告”对话框。但二者的主要区别在于“确认”对话框除了显示OK按钮外,还会显示一个Cancel(“取消”)按钮,两个按钮可以让用户决定是否执行给定的操作。例如,confirm( "Are you sure?”)会显示确认对话框。

为了确定用户是单击了OK还是Cancel,可以检查confirm()方法返回的布尔值:true表示单击了OK,false表示单击了Cancel或单击了右上角的X按钮.确认对话框的典型用法如下:

if (confirm(nAre you sure?”)) {

alert(”i'm so glad you' re surel ");

} else{

alert("i'm sorry to hear you' re not sure.”);

}

在这个例子中,第一行代码(if条件语句)会向用户显示一个确认对话框。如果用户单击了OK,则通过一个警告框向用户显示消息I'm so glad you're sure!。如果用户单击的是Cancel按钮,则通过警告框显示I'm sorry to hear you're not sure.。这种模式经常在用户想要执行删除操作的时候使用,例如删除电子邮件。

最后一种对话框是通过调用prompt()方法生成的,这是一个“提示”框,用于提示用户输入一些文本。提示框中除了显示OK和Cancel按钮之外,还会显示一个文本输入域,以供用户在其中输入内容。prompt()方法接受两个参数:要显示给用户的文本提示和文本输入域的默认值(可以是一个空字符串)。调用prompt(”What's your name?”,”Michael ")会得到对话框。

如果用户单击了OK按钮,则prompt0返回文本输入域的值;如果用户单击了Cancel或没有单击OK而是通过其他方式关闭了对话框,则该方法返回null。下面是一个例子:

var result=prompt( "What is your name?“, …);

if(result!==null) {

alert( "Welcome. " +result);

}

综上所述,这些系统对话框很适合向用户显示消息并请用户作出决定。由于不涉及HTML、CSS或JavaScript,因此它们是增强Web应用程序的一种便捷方式。

除了上述三种对话框之外,Google Chrome浏览器还引入了一种新特性。如果当前脚本在执行过程中会打开两个或多个对话框,那么从第二个对话框开始,每个对话框中都会显示一个复选框,以便用户阻止后续的对话框显示——除非用户刷新页面。

如果用户勾选了其中的复选框,并且关闭了对话框,那么除非用户刷新页面,所有后续的系统对话框(包括警告框、确认框和提示框)都会被屏蔽。Chrome 0.2没有就对话框是否显示向开发人员提供任何信息。由于浏览器会在空闲时重置对话框计数器,因此如果两次独立的用户操作分别打开两个警告框,那么这个两警告框中都不会显示复选框。而如果是同一次用户操作会生成两个警告框,那么第二个警告框中就会显示复选框。我们希望Chrome l.0发布时这一特性能够得到改进,即向开发人员提供对话框是否成功打开的信息。

南昌网站设计公司工程师认为,alert()对于开发来者是非常实用的检查系统运行命令,在程序开过程中要直观地看到相关的参数,我们可以使用该命令输入出.但在用户交互过程中,使用alert命令给用户的体验是很不好的,南昌网络公司工程师建设尽量使用异步通信技术来实现比较人性化的提示.

还有两个可以通过JavaScript打开的对话框,即“查找”和“打印”。这两个对话框都是异步显示的,能够将控制权立即交还给脚本。这两个对话框与用户通过浏览器菜单的“查找”和“打印”命令打开的对话框相同。而在JavaScript中则可以像下面这样通过window对象的find()和print()方法

打开它们:

//显示“打印”对话框

window.print();

//显示“查找”对话框

window. find();

这两个方法同样不会就用户在对话框中的操作给出任何信息,因此它们的用处有限。另外,既然这两个对话框是异步显示的,那么Chrome的对话框计数器就不会将它们计算在内,所以它们也不会受用户禁用后续对话框显示的影响。

本文仅限内部技术人员学习交流,不得作于其他商业用途.文章出自:南昌网站制作公司-百恒网络 http://www.jxbh.cn 如转载请注明出处!


400-680-9298,0791-88117053
扫一扫关注百恒网络微信公众号
扫一扫打开百恒网络小程序

欢迎您的光顾,我们将竭诚为您服务×

售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售前咨询 售前咨询
 
售后服务 售后服务
 
售后服务 售后服务
 
备案专线 备案专线
 
×