Javascript高级编程学习笔记(28)—— BOM(2)window对象2

时间:2021-03-04 05:15:57

今天讲一下window对象和浏览器导航,弹窗等有关的内容

导航和打开窗口

window.open() 用于导航到某个特定 url

该方法接收四个参数

1、url

2、窗口目标(当页面中有多个框架frame,用于指定哪个窗口打开第一个参数的url)

3、特性字符串(用于规定新窗口的相关特性)

4、新页面是否取代浏览器历史记录中当前页面

这个特性字符串有以下可选值

1、fullscreen 是否全屏(IE有效)

2、height 数值

3、left 数值

4、location 是否显示地址栏(该特性可能会被浏览器禁用)

5、menubar 是否显示菜单栏

6、resizable 是否可以拖动改变窗口大小

7、scrollbars 是否允许滚动条

8、status  是否显示状态栏

9、toolbar 是否显示工具栏

10、top 数值

11、width 数值

这些特性由 , 隔开

该方法返回新窗口的引用,通过该引用可以使用close、moveTo、moveBy、resizeTo、resizeBy来进一步操控

可以通过该返回值的opener属性访问调用window.open 方法的窗口

若将该属性设为null那么新打开的窗口和原来的窗口之间将无法进行通讯,且无法恢复

安全设置

由于该方法常被用于伪装成系统弹窗打广告,所以现代浏览器添加了许多安全测试

在刚才的特性中许多特性都被浏览器限制了,不能修改

比如显示地址栏等

所以这个方法现在并不常用

大家不用在意

定时器

setTimout、setInterval

大家都知道JS是一个单线程语言,那么这种延时调用是怎么实现的呢?

这就涉及到了事件循环等概念

后边介绍事件的时候再详细解释

系统对话框

浏览器有三种类型的对话框

可以通过三个方法来调用

1、alert 显示信息只有确定按钮

2、confirm 显示信息有确定、取消按钮 该方法有返回值即确定为true,取消为false

3、promt 让用户在该弹框中输入值,返回值为用户的输入,该方法两个参数(1、提示信息 2、弹窗中的文本输入框的提示信息placeholder)

PS、关于弹框还有一个关于谷歌的特性,如果JS执行时会打开多个弹窗,那么从第二个弹窗开始会有个复选框

让用户选择是否跳过后续的弹窗

以上就是关于JS中window对象的内容