1. 概述
Window 对象表示浏览器中打开的窗口。
如果文档包含框架(frame 或 iframe 标签),浏览器会为 HTML 文档创建一个 Window 对象,并为每个框架创建一个额外的 Window 对象。
Window对象表示一个浏览器窗口或一个框架。在客户端 JavaScript 中,Window 对象是全局对象,所有的表达式都在当前的环境中计算。
可以通过 Window 来引用 Window 对象,通常情况下可以直接使用 Winodw下的方法。如可以只写 document,而不必写 window.document。
同样,可以把当前窗口对象的方法当作函数来使用,如只写 alert(),而不必写 window.alert()。
2. 常用属性
属性 | 说明 |
---|---|
closed | 返回窗口是否已被关闭 |
document | 对 Document 对象只读引用 |
innerheight | 返回窗口文档显示区高度 |
innerwidth | 返回窗口文档显示区宽度 |
location | 用于窗口或框架的 Location 对象 |
name | 设置或返回窗口名称 |
parent | 返回父窗口 |
top | 返回最顶层的先辈窗口 |
3. 常用方法
方法 | 说明 |
---|---|
alert() | 显示带有一段消息和一个确认按钮的警告框 |
setTimeout() | 在指定的毫秒数后调用函数或计算表达式 |
clearTimeout() | 取消由 setTimeout() 方法设置的 timeout |
setInterval() | 按照指定的周期(以毫秒计)来调用函数或计算表达式 |
clearInterval() | 取消由 setInterval() 设置的 timeout |
close() | 关闭浏览器窗口 |
confirm() | 显示带有一段消息以及确认按钮和取消按钮的对话框 |
open() | 打开一个新的浏览器窗口或查找一个已命名的窗口 |
print() | 打印当前窗口的内容 |
prompt() | 显示可提示用户输入的对话框 |
scrollBy() | 按照指定的像素值来滚动内容 |
scrollTo() | 把内容滚动到指定的坐标 |
4. 示例
4.1 close() 方法
方法 close() 将关闭有 window 指定的顶层浏览器窗口。某个窗口可以通过调用 self.close() 或只调用 close() 来关闭其自身。
4.2 alert()方法
显示带有一段消息和一个确认按钮的警告框,通常用来调试,如:
alert("I am an alert box!!");
弹出框效果如下:
4.3 confirm() 方法
confirm() 方法用于显示一个带有指定消息和 OK 及取消按钮的对话框。
如果用户点击确定按钮,则 confirm() 返回 true。如果点击取消按钮,则 confirm() 返回 false。
如:
< script type = "text/javascript" > function show_confirm() {
var r = confirm("Press a button!");
if (r == true) {
alert("You pressed OK!");
} else {
alert("You pressed Cancel!");
}
} < /script>
效果如下:
4.4 promt() 方法
prompt(text,defaultText)方法用于显示可提示用户进行输入的对话框。如果用户单击提示框的取消按钮,则返回 null。如果用户单击确认按钮,则返回输入字段当前显示的文本。
如:
< script type = "text/javascript" > function disp_prompt() {
var name = prompt("请输入您的名字", "FR") if (name != null && name != "") {
document.write("你好," + name + "!")
}
} < /script>
效果如下:
4.5 open() 方法
window.open(URL,name,features,replace)打开一个新的浏览器窗口或查找一个已命名的窗口。参数如下:
参数 | 说明 |
---|---|
URL | 一个可选的字符串,声明了要在新窗口中显示的文档的 URL。如果省略了这个参数,或者它的值是空字符串,那么新窗口就不会显示任何文档。 |
name | 一个可选的字符串,该字符串是一个由逗号分隔的特征列表,其中包括数字、字母和下划线,该字符声明了新窗口的名称。这个名称可以用作标记 'a' 和 'form' 的属性 target 的值。如果该参数指定了一个已经存在的窗口,那么 open() 方法就不再创建一个新窗口,而只是返回对指定窗口的引用。在这种情况下,features 将被忽略。 |
features | 一个可选的字符串,声明了新窗口要显示的标准浏览器的特征。如果省略该参数,新窗口将具有所有标准特征。 |
replace | 一个可选的布尔值。规定了装载到窗口的 URL 是在窗口的浏览历史中创建一个新条目,还是替换浏览历史中的当前条目。支持下面的值: true - URL 替换浏览历史中的当前条目。 false - URL 在浏览历史中创建新的条目。 |
如:
window.open("https://help.fanruan.com/finereport/");
打开 FineReport 帮助文档。
4.6 print() 方法
print() 方法用于打印当前窗口的内容。调用 print() 方法所引发的行为就像用户单击浏览器的打印按钮。通常,这会产生一个对话框,让用户可以取消或定制打印请求。
如:
window.print();
效果如下:
4.7 setInterval()方法
setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。直到 clearInterval() 被调用或窗口被关闭。
通过 setInterval(code,millisec)进行调用。参数说明如下:
参数 | 说明 |
---|---|
code | 必填,要调用的函数或要执行的代码串 |
millisec | 周期性执行或调用 code 之间的时间间隔,以毫秒计 |
如实现每 10 s 刷新一次页面,代码如下:
setInterval("self.location.reload();",10000); //10000ms 即每 10s 刷新一次页面。
详细示例可查看:决策报表定时刷新
4.8 setTimeout() 方法
setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式,使用 clearTimeout() 方法可阻止函数的执行。
一般如 setTimeout(function, milliseconds, param1, param2, ...)使用,参数说明如下:
参数 | 说明 |
---|---|
function | 必需,要调用一个代码串,也可以是一个函数 |
milliseconds | 必须,周期性执行或调用 code/function 之间的时间间隔,以毫秒计 |
param1, param2, ... | 可选, 传给执行函数的其他参数(IE9 及其更早版本不支持该参数) |
报表中使用时,通常用于延迟执行,如 设置 button0 按钮不可用,延迟 0.5s 执行。
setTimeout(function(){
_g().getWidgetByName("button0").setEnable(false);
}, 500);