《十》Javascript中的BOM

BOM:是 browser object model 的缩写,简称浏览器对象模型,BOM 提供了独立于内容而与浏览器窗口进行交互的对象,用来访问和操作浏览器窗口。

window 对象:

window 对象表示浏览器中打开的窗口。是 JS 里面最大的最外围的对象,所有 javascript 全局对象、函数、一级变量均自动成为 window 对象的成员。

属性:
  1. name:窗口名称。
  2. document:浏览器中加载页面的文档对象。
  3. location、history、screen、navigator 等。

在应用有 frameset 或者 iframe 的页面,window.self 是对当前窗口自身的引用,window.top 返回顶层窗口,window.parent 返回父窗口。

方法:

window 对象对应着 Web 浏览器的窗口,使用它可以直接对浏览器窗口进行操作。window 对象提供的主要功能分为以下几类:

  1. 系统对话框:

    • alert(str):消息对话框,显示str字符串的内容。
    • confirm(str):确认对话框,显示str字符串内容,按确定按钮返回 true,其他操作返回 false。
    • prompt(str, value):输入对话框,采用文本框输入信息。str 为提示信息,value 为初始值。
  2. 打开、关闭新窗口:

    • window.open(url, name, config):打开窗口。

      url:要打开的新页面的链接。
      name:窗口的名称。 name可以是自定义的名称,或者:_blank:在新窗口显示;_self:在当前窗口显示;_parent:在父窗口显示;_top:在顶层窗口显示。
      config:窗口的配置参数 。

      //page.html 将在新窗口 newWindow 中打开,宽为100,高为400,距屏顶0象素,屏左0象素,无工具条,无菜单条,无滚动条,不可调整大小,无地址栏,无状态栏。
      window.open ('page.html','newWindow','height=100,width=400,top=0,left=0,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no') 
      
    • window.close():关闭窗口。

      window.close()在 Firefox 不能使用,是因为 Firefox 默认不能关闭用户打开的网页。
      解决方案:

      1. 利用 js 中的 window.open(),火狐必须是 js 打开的页面,才能用 window.close()关 闭。所以可以 window.open(“页面地址”)跳转到当前页面。
      2. 利用 a 标签,在火狐中,在父窗口打开的页面用 window.close() 不能关闭。所以利用 a 标签跳转到这个页面需要target=”_blank”。
  3. 调整窗口的大小和位置等:

    • focus()blur():窗口获得焦点、失去焦点。
    • moveBy()moveTo():移动窗口。
    • resizeBy()resizeTo():调整窗口大小。
    • scrollBy()scrollTo():滚动窗口中网页的内容。
  4. 定时操作:多用于网页动态时钟,制作倒计时,跑马灯效果等。

    • setInterval(exp,time):周期性触发代码,以一定的时间间隔重复执行代码,循环往复。exp:执行语句。 time:时间周期,单位为毫秒。
      setInterval(alert(‘hello’),3000);
      
    • clearInterval(tID):停止启动的定时器。
      var timer=setInterval(alert("Hello"), 3000);
      
      clearInterval(timer);
      
    • setTimeout(exp,time):一次性触发代码exp,在一个设定的时间间隔之后执行代码。
    • clearTimeout(tID):停止启动的计时器。

location 对象:

location 对象是管理地址栏的内置对象,包含了浏览器当前的 URL 信息。常用于获取和改变当前浏览的网址。

属性:
http://127.0.0.1:8020/program/index.html?articleId=848403
  1. location.href:获取或设置整个url。http://127.0.0.1:8020/program/index.html?articleId=848403

  2. location.protocol:获取或设置url的协议。http

  3. location.host:获取或设置url的主机名。127.0.0.1:8020

  4. location.port:获取或设置url的端口号。8020

  5. location.pathname:获取或设置文件的路径./program/index.html

  6. location.hash:获取或设置url的#号及#号后面的参数(页面的标签值)。

    # 代表页面中的一个位置,其右边的字符,就是该位置的标识符。浏览器读取 url 后,会自动将这个位置滚动至可视区域。
    单单改变 # 后面的内容,浏览器只会滚动到相应位置,不会重新加载网页。
    每一次改变 # 后面的内容,都会在浏览器的访问历史中增加一个记录,使用后退按钮,就可以回到上一个位置。
    # 是用来指导浏览器动作的,对服务器完全无用,所以 HTTP 请求中并不包含 #。只有将 # 转码为 %23,浏览器才会将其作为实义字符处理。

  7. location.search:获取或设置url的?号及?号后面的参数。?articleId=848403

方法:
  1. replace(url):转向到url网页地址。
  2. relode():重新载入当前网址,同时按下刷新按钮。

JS 刷新当前页面:

  1. location.reload();
  2. <head>中加入<meta http-equiv="refresh" content="5">,每隔5秒自动刷新一次页面

history 对象:

history 对象包含了浏览器访问的网页的历史信息。

属性:
  1. length:浏览器历史记录的总数。
方法:
  1. back():等同于单击后退按钮。因为是从浏览器缓存中拿到的页面,所以不会进行页面刷新。
  2. forward():等同于单击前进按钮。
  3. go(num):num 为正,等同于单击几次前进按钮;num 为负,等同于单击几次按钮。

navigator 对象:

navigator 对象包含了浏览器本身的信息。常用于获取客户端浏览器和操作系统信息。

属性:
  1. appName:浏览器名称。
  2. appCodeName:浏览器代码名称。
  3. appVersion:浏览器运行平台和版本。

screen 对象:

screen 对象包含了客户端屏幕及渲染能力的信息。

属性:
  1. width、height
  2. availWidth、availHeight:窗口可以使用的宽度和高度。
  3. colorDepth:屏幕的色彩深度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值