window对象是Bom的核心对象,常常担任两种角色: 1.代表游览器的一个实例 2.ECMAScript规定的global对象,可访问网页定义的所有方法,变量和对象。
window.top // 顶层窗口对象
window.parent // 父级窗口对象
// 窗口位置
window.screenLeft/screenX
window.screenTop/screenY
window.moveTo 移动到指定位置
window.moveBy 移动到相对位置
// 窗口大小
window.innerWidth
window.innerHeight
window.resizeTo 变化到指定大小
windwo.resizeBy 变化相对大小
- window窗口操作: open方法会返回打开的窗口 一个窗口可以在他的opener中被关闭(简单的窗口交互)
// 打开窗口
let openWindow = window.open(url, name) 返回打开的窗口对象 可以通过该对象控制窗口
openWindow.close() 关闭打开的窗口
window.opener 可获得窗口的打开者,但是不能通过close关闭, 可以互相操作变化位置和大小(作为独立窗口时)。
// 打开独立窗口
window.open(url, name, true)
- alert,confirm和prompt对话框 alert比较常用,用于输出一段文字, 无返回值。 confirm()常用于需要用户确认的操作,确认返回true,取消或者关闭对话框都会返回false。 prompt(tip, defaultValue), 用于需要用户输入文本的操作,返回输入的值,或者null。
alert('123') // undefined
confirm('Are you sure!') // true/false
prompt('Your name?', '法外狂徒张三') // 最终输入值/null
- location对象 window.location = document.location
let {
hash, // hash值
host, // ip/域名: port
hostname, // ip/域名
href, // 完整地址
pathname, // 目录文件地址
port, // 端口
protocol, // 协议类型
search, // query参数
origin, // 协议+主机名
} = location
href = protocol + '//' + host + pathname + hash + search
常用的方法,location.href赋值,相当于location.assign(), 或者location直接赋值 location.reload将按最优方式重载页面,强制服务器重载则加参数true,location.reload(true)