二、Window对象
上一节讲过,window对象是客户端javascript程序的
全局对象。这里介绍一些window对象的属性和方法。
1. 计时器setTimeout()/clearTimeout(), setInterval()/clearInterval()
setTimeout()和setInterval()可以用来注册在指定的事件之后单次或重复调用的函数。
setTimeout()方法用来实现一个函数在指定的毫秒数之后运行,setTimeout返回一个值,这个值可以传递给clearTimeout()用于取消这个函数的执行。
setInterval()会在指定的毫秒数的间隔里重复调用:
setInterval(updateClock, 600000); //每60秒调用一次updateClock()
setInterval也返回一个值,这个值可以传递给clearInterval()用于取消后续函数的调用。
2. 浏览器定位和导航 location
Window对象的location属性引用的是Location对象,它表示该窗口中当前显示的文档的url,并定义了方法来使窗口载入新的文档。Document对象的location属性页引用到Location对象。
window.location === document.location; // 总是返回true
2.1 解析url
Location对象的
href属性时一个字符串,包含url的完整文本。Location对象的toString()方法返回href的值,因此在会隐式调用toString()的情况下,可以用location属性代替location.href。
Location对象的其他属性,
protocal,host,hostname,port,pathname和search分别表示url的各个部分,他们称为“url分解”属性(这些属性是可写的,也就是可以运算重新赋值)。Location对象的search属性返回的是问号之后的url。
示例:
2.2 载入新的文档 assign(), replace(), reload(), location
Location对象的assign()方法可以使窗口载入并显示指定url中的文档;
replace()也类似,但它在载入新文档之前会从浏览历史中把当前文档删除。如果不删除,“后退”按钮会把浏览器带回到原始文档;
reload()方法可以让浏览器重新载入当前文档。
跳转到新的页面更传统的方法是把新url赋给location属性,会
立即跳转到新页面。
上面讲到的这些方法都可以使用相对路径。
3. 浏览器历史 history, back(), forward(), go()
Window对象的history属性引用的是该窗口的History对象。History对象时用来把窗口的浏览历史用文档和文档状态列表的形式表示。出于安全考虑,脚本不能访问已保存的url(如果允许,则任意脚本都可以窥探你的浏览历史)。
History对象的back()和forward()方法与浏览器的后退和前进按钮一样。
Go()接受一个整数参数,在历史列表中向前(正整数)或向后(负整数)跳过任意多个页。
4. 对话框 alert(), confirm(), prompt()和showModelDialog()
Window对象提供了3个方法来向用户显示简单的对话框。
alert()向用户显示一条消息并等待用户关闭对话框。
confirm()也显示一条信息,要求用户点击“确定”或“取消”按钮,并返回一个布尔值。
prompt()也显示一条消息,等待用户输入字符串,并返回那个字符串。
注意:这些对话框显示的都是纯文本,不是html格式的文本。只能使用空格,换行符和各种标点符号来格式化。而且,confirm和prompt都会阻塞,alert也会阻塞,但不总是这样。
还有个更复杂的方法showModelDialog(),显示一个包含html格式的模态对话框(阻塞的对话框),可以给他传入参数,以及从对话框返回值。
5. 错误处理 onerror
Window对象的onerror属性时一个事件处理程序,当未捕获的异常传播到调用栈上时就会调用它,并把错误消息输出到浏览器的javascript控制台上。如果给这个属性赋一个函数,那么只要这个窗口发生了javascript错误就会调用该函数,即它成了窗口的错误处理程序。
Onerror处理程序是早期javascript的遗物,那时语言核心不包含try/catch异常处理语句,现代代码很少使用它。
6
. 作为window对象属性的文档元素
如果在html文档中用
id属性来为元素命名,并且如果window对象本身没有这个名字的属性,
window对象就会以id属性的值来增加一个全局属性,这个属性指向表示文档元素的htmlElement对象。比如,文档包含一个<button id=”okay” />元素,window对象没有名为okay的属性,则新增一个okay属性,通过okay可以引用此button元素。
但是,有一个重要警告:如果window对象有此名字的属性,就不能通过id来应用这个元素了,同样,如果html文档里包含一个id为“x”的元素,并且还在javascript代码中声明并赋值给全局变量x,那么显示声明的变量会隐藏隐式的元素变量。
Id元素在文档中必须是唯一的,两个元素不能有相同的id,但是name属性可以相同。
- 大小: 105.7 KB
分享到:
相关推荐
4. 响应式设计:根据窗口大小调整`<div>`的布局,可以使用`window.innerWidth`和`window.innerHeight`检测屏幕尺寸,并根据需要调整样式。 至于文件名列表中的jd_*.gif,它们可能是用于网页中的图形元素,例如按钮...
1,01.zip<br>MFC Extension Library<br>MFC扩展界面库, 使用Visual C++ 6.0(15KB)<END><br>2,02.zip<br>Visual Studio style UI<br>Visual Studio风格的界面效果(15KB)<END><br>3,03.zip<br>Internet Explorer 4 ...
引言 1<br>1.1 什么是设计模式 2<br>1.2 Smalltalk MVC中的设计模式 3<br>1.3 描述设计模式 4<br>1.4 设计模式的编目 5<br>1.5 组织编目 7<br>1.6 设计模式怎样解决设计问题 8<br>1.6.1 寻找合适的对象 8<br>1.6.2 ...
1,01.zip<br>Displaying a 256 color bitmap<br>在程序中显示256色的位图(6KB)<END><br>2,02.zip<br>Creating a bitmap object from a BMP file<br>从位图文件中创建位图对象(6KB)<END><br>3,03.zip<br>An auto-...
引言 1<br>1.1 什么是设计模式 2<br>1.2 Smalltalk MVC中的设计模式 3<br>1.3 描述设计模式 4<br>1.4 设计模式的编目 5<br>1.5 组织编目 7<br>1.6 设计模式怎样解决设计问题 8<br>1.6.1 寻找合适的对象 8<br>1.6.2 ...
设计模式中文版这个有10m很大我分2次传<br>目 录<br>序言<br>前言<br>读者指南<br>第1章 引言 1<br>1.1 什么是设计模式 2<br>1.2 Smalltalk MVC中的设计模式 3<br>1.3 描述设计模式 4<br>1.4 设计模式的编目 5<br>...
引言 1<br>1.1 什么是设计模式 2<br>1.2 Smalltalk MVC中的设计模式 3<br>1.3 描述设计模式 4<br>1.4 设计模式的编目 5<br>1.5 组织编目 7<br>1.6 设计模式怎样解决设计问题 8<br>1.6.1 寻找合适的对象 8<br>1.6.2 ...
13<br>适配器Adapters 13<br>核心Core 13<br>Javascript中的作用域(scope) 13<br>事前准备 13<br>定义 13<br>正式开始 14<br>window对象 14<br>理解作用域 15<br>变量的可见度 15<br>EXT程序规划入门 16<br>事前...
常见的驱动程序设计问题<br><br>第1部分 图形驱动程序<br>第2部分 显示器及视频微端口驱动程序<br>第3部分 打印机驱动程序及假脱机打印部件<br><br>第五卷 网络驱动程序设计指南 1<br>第一部分 网络驱动程序 2<br>第...
目 录<br>译者序<br>前言<br>第1章 Linux操作系统 1<br>1.1 Linux的简要历史介绍 1<br>1.2 Linux核心 2<br>1.2.1 Linux的开发特点 2<br>1.2.2 Linux分发包 3<br>1.2.3 为什么要为商业Linux<br> 版本付费 3<br>1.3 ...
13<br>适配器Adapters 13<br>核心Core 13<br>Javascript中的作用域(scope) 13<br>事前准备 13<br>定义 13<br>正式开始 14<br>window对象 14<br>理解作用域 15<br>变量的可见度 15<br>EXT程序规划入门 16<br>事前...
1.JavaScript的数值处理对象学习 .txt<br>2.JavaScript的系统函数学习 .txt<br>3.js中用于对象的语句——with和for...in语句学习专题.txt<br>4.smallSoftkey小软键盘,大键盘<br>5.window.open参数详解 .txt<br>6....
display1.zip<br>控制显示方式的控件(71KB)<br>56,pwindow.zip<br>paint window控件(12KB)<br>57,actresiz.zip<br>改变form的大小的时候,原来form里的其他对象也会跟着放大放缩,简单但是有用!(30KB)<br>58,sclcon...
<br> }<br> </script><br></head><br><body><br> <form id="dataform" method="post" action="target.aspx"><br> <textarea id="content"></textarea><br> </form><br></body><br></html><br><br>说明:<br><br>...
<br>}<br></script><br></head><br><body><br><form id="dataform" method="post" action="target.aspx"><br><textarea id="content"></textarea><br></form><br></body><br></html><br><br>说明:<br><br><script ...
display1.zip<br>控制显示方式的控件(71KB)<br>56,pwindow.zip<br>paint window控件(12KB)<br>57,actresiz.zip<br>改变form的大小的时候,原来form里的其他对象也会跟着放大放缩,简单但是有用!(30KB)<br>58,sclcon...
<artifactId>mslinks</artifactId> <version>1.0.2</version> </dependency> ``` 2. 使用`ShellLink`类创建快捷方式对象。以下代码展示了如何创建一个名为`name`的快捷方式,并将其保存到`filePath`: ```java...
可以使用 window.alert() 方法弹出警告框,例如:<script>window.alert(9 + 6);</script> 2、document.write(): 可以使用 document.write() 方法将内容写到 HTML 文档中,例如:<script>document.write(Date());</...