window对象

来源:互联网 发布:淘宝买家好评 编辑:程序博客网 时间:2024/06/11 15:15

计时器

  • window对象的setTimeout()方法用来实现一个函数在特定的毫秒数之后执行。setTimeout()会返回一个值,这个值可以传递给clearTimeout()用于取消这个函数的执行。
  • window对象的setInterval()方法用来实现一个函数在指定的毫秒数的间隔里重复运用。

方法示例

/* 函数如果接收到两个参数就执行setTimeout,否则执行setInterval,并在end时刻结束setInterval。 */function invoke(f ,start ,interval ,end){    if(!start)  start = 0;    if(arguments.length <= 2){        setTimeout(f, start);    }else{        setTimeout(repeat, start);        function repeat(){            var h = setInterval(f, interval);            if(end) setTimeout(function(){                clearInterval(h);            },end);        }    }}

浏览器定位和导航

解析URL

window对象的location属性引用的是location对象,表示该窗口中当前显示文档的URL,location对象的href属性是一个字符串,后面包含URL的完整文本,使用window.location.toString()将会返回href属性的值。

location对象的其他属性,protocol、host、hostname、port、pathname、search——表示URL 的各个部分。

属性 解释 hash URL的锚部分,包括开头的哈希(#)符号,文档URL这个部分指定文档中某个锚的名字。 host URL的主机名和端口部分 hostname URL的主机名 href URL的完整文本 pathname URL的路径名部分 port 端口部分 protocol 协议部分 search URL的查询部分,包括开头的问号

载入新的文档

  • location.assign()方法可以载入新的文档,并且历史记录不会被删除,也就是说能够通过返回原始文档;
  • location.replace()方法也可以载入新文档,更形象的来说应该是覆盖原始文档,因为在浏览历史会被删除
  • location.reload()方法可以是浏览器重新载入当前文档
  • location对象的URL分解属性是可写的,并且也可以导致再入一个新的文档(如果改变的是hash值,则在当前文档中进行跳转),历史部会被删除

浏览历史

  • history的length属性表示浏览历史列表中的元素数量。
  • back()方法表示后退,forward()方法表示前进
  • go()方法接收一个整数参数,表示向前或者向后跳过任意多个页history.go(-1)相当于history.back();history.go(1)相当于history.forward()
  • 如果窗口包含多个子窗口,那么子窗口的浏览历史也会穿插在主窗口的历史中。

浏览器和屏幕信息

这里写图片描述

这里写图片描述

Screen对象

  • 提供窗口显示的大小和可用的颜色数量的信息,属性width与height以像素为标准。

对话框

  • alert()显示消息等待用户关闭对话框
  • confirm()显示消息,要求用户点击确定或者取消,并返回布尔值;
  • prompt()显示消息,等待用户输入字符串
  • 对话框弹出的时候会产生阻塞,也就是说这个时候代码停止运行。

方法示例

do{    var name = prompt("What is your name?");    var corrent = confirm("You entered '" + name + "'.\n");}while(!corrent)alert("hello," + name + "!");

多窗口和窗体

打开和关闭窗口

  • window.open()可以打开新的浏览器窗口
open()参数序号 解释 1 新窗口中显示的文档的URL 2 新窗口的名字,如果指定的是一个已存在的窗口名字,就直接跳转,否则打开新的窗口 3 可选参数,是一个以逗号分隔的列表,包含大小和各种属性
  • window.close()关闭窗口

窗体之间的关系

  • 窗体可以用parent属性引用包含他的窗口的窗体window对象:parent.history.back()
  • 如果一个窗口是顶级窗口或者标签,而不是窗体,那么parent属性引用的是这个窗口本身 parent==self;只有顶级窗口才会返回true
  • 可以使用parent.parent向上查找
  • top属性表示包含窗口的顶级窗口
  • 每个window都有自己的frames属性,它引用自身包含的窗口或者窗体的子窗体。该属性是类数组对象,除了使用数字进行索引之外,还可以使用名字或者id’进行索引

交互窗口中的JavaScript

  • 在A的脚本中var i = 1;在B脚本中引用:parent.A.i;
  • 在B中创建函数f,在A中调用需要使用parent.B.f()
  • 要时刻注意作用域
原创粉丝点击