平时工作中,无论是调试 javascript 代码还是进行页面提示,我们都会经常使用 javascript 的对话框。除了创建明确不使用状态栏的浏览器窗口,每个浏览器窗口的底部都有一个状态栏,用来向用户显示一些特定的消息。
今天为大家简单介绍一下 JavaScript 对话框和状态栏。
javascript 与 对话框:
- 三种对话框图示:
在客户端浏览器中,三种常见的Window方法用来弹出简单对话框,它们分别是 alert(),confirm()和prompt()。alert()用于向用户显示消息。confirm()要求用户点击确认或取消。prompt()要求用户输入一个字符串。下面的三幅图分别为alert(),confirm()和prompt()。
alert()对话框提示
confirm()对话框提示
prompt()对话框提示
- 三种对话框简介:
alert()方法弹出的对话框只是显示提示信息,对用户起提醒作用。
confirm()方法用于询问用户是否确认,展示两个按钮——确认和取消。相当于if/else结构,如果点击确认按钮,则继续执行下面的程序,如果点击取消按钮,则返回false。
prompt()方法带有一个输入框,其返回的内容就是用户在输入框中输入的内容。目的就是获取用户的输入。
- 对话框阻塞进程简介:
无论是confirm()和prompt()都会产生阻塞,也就是说,在用户关掉它们所显示的对话框之前,它们不会返回。同时也就意味着在弹出一个对话框时,代码会停止运行。如果当前正在装载文档,也会停止装载,直到用户用要求的输入进行了响应为止。没有方法可以防止这些方法产生阻塞,因为它们的返回值是用户的输入,所以在返回之前它们必须等待用户进行输入。
在大多数浏览器中,alert()也会产生阻塞,并等待用户关闭对话框。但是在某些浏览器中(尤其是UNIX平台上的Netscape3和4),alert()方法并不产生阻塞。不过小小子在fedora11上面做测试,也是会产生阻塞的,当然我没有用netscape试验,我用的是Firefox浏览器测试,同样阻塞。不过犀牛的作者说: 在实践中,这点小小的不兼容性很少引起问题。 alert(),confirm()和prompt()的用法: alert('这是一个alert提示,你滴明白?'); confirm('这是一个confirm提示,你是愿意看啊,还是愿意看啊?'); prompt('来,帅哥,告诉哥你的名字吧');
javascript 与 状态栏: 当用户将鼠标放在一个超链接上面的时候,浏览器会在状态栏上面显示出这个超链接所指向的url地址。但是有的时候你会发现当你的鼠标放在超链接或者图片上面的时候,状态栏的上面显示的是一些文本而不是链接地址。 在 javascript 中,浏览器的状态栏上面的内容由 Window 对象的两个属性控制,即 status 和 defaultStatus。所以通过 javascript 可以改变状态栏的默认行为,显示我们所希望显示给用户的信息。 属性status 主要用于存放瞬时消息,即当有触发事件发生的时候才会改变状态栏的信息。而defaultStatus属性指定了显示在状态栏中默认的文本。只有当触发事件发生的时候,状态栏上面的文本才会被指定的status替换,否则将一直显示defaultStatus属性指定的内容。 复制代码 代码如下: <!-- 当鼠标放在上面代码的时候,状态栏会显示:鼠标放在这个链接上面,状态栏显示的内容。 --> <a href='//www.jb51.net' target='_blank' onmouseover="window.status='鼠标放在这个链接上面,状态栏显示的内容。';return true;">脚本之家</a> 上例中的事件处理程序必须得return true;这就通知了浏览器当事件发生的时候不应该执行自己的默认的动作,也就是说不应该在状态栏中显示链接的URL,如果忘记了return true;那么浏览器就会用它自己的URL覆盖处理程序在状态栏中显示的所有信息。
再来看一个defaultStatus的例子吧,将页面状态栏的默认值设定为:欢迎来到本站,小小子感谢您的到来。
defaultStatus = '欢迎来到本站,小小子感谢您的到来'; window.defaultStatus = defaultStatus; 代码演示及说明:
也许有的时候,各位无法看到状态栏上面显示的信息,下面给出方法,希望可以帮助大家:
in Firefox:
1. Go to Tools > Options 2. Click the Content tab 3. Ensure that the JavaScript option is checked 4. Click Advanced (next to the Enable JavaScript option) 5. Check the Change status bar text option 6. Click OK to save this screen 7. Click OK again
In Internet Explorer:
1. Go to Tools > Internet Options 2. Click the Security tab 3. Ensure that the Internet option is selected/highlighted 4. Click Custom Level… (this launches the security settings for the Internet zone) 5. Scroll down until you see Allow status bar updates via script (under the Scripting option). Click Enable 6. Click OK to save this screen 7. Click OK again
|