JavaScript浏览器对象模型BOM(BrowserObjectModel)实例详解


Posted in Javascript onNovember 29, 2016

本文实例讲述了JavaScript浏览器对象模型BOM。分享给大家供大家参考,具体如下:

window对象位于BOM层次结构的最顶层。它包含了一些非常重要的子对象,包括location,navigator,document,screen,history。location对象包含当前页面的URL信息。有些信息是只读的,有些信息是可以读写的比如href属性。我们不仅可以通过href属性来获取当前页面的URL信息,还可以通过修改href属性,来跳转到新的页面。

<html>
  <body>
    <script type='text/javaScript'>
      window.location.replace("http://www.baidu.com");
      window.location.href="http://www.sina.com";
    </script>
  </body>
</html>

history对象保存了用户自打开浏览器以来所访问页面的历史记录。但是某些页面不会被记录下来,比如使用location对象的replace()方法加载的页面将不会记录在history对象中。
navigator对象表示浏览器自身,它包含了浏览器一些非常有用的信息,比如版本号,浏览器类型以及用户所使用的操作系统。
screen对象包含了客服端显示能力的相关信息。

<html>
  <body>
    <script type='text/javascript'>
      switch(window.screen.colorDepth){
        case 1:
        case 4:
          document.bgColor = "white";
          break;
        case 8:
        case 15:
        case 16:
          document.bgColor = "blue";
          break;
        case 24:
        case 32:
          document.bgColor = "skyblue";
          break;
        default:
          document.bgColor = "white";
      }
      document.write("Your screen supports "+window.screen.colorDepth + " bit color");
    </script>
  </body>
</html>

document是最重要的对象之一。document对象包含了三个数组属性links[],images[],forms[]。这三个数组分别代表了页面中所有由<A>、<img>、<form>所创建对象的集合。

<html>
  <body>
    <img name=img1 src="images/1.jpg" border=0 width=200 height=150>
    <script type='text/javaScript'>
      var myImages = new Array("images/1.jpg","images/2.jpg","images/3.jpg","images/4.jpg");
      var imgIndex = prompt("Enter a number from 0 to 3","");
      document.images['img1'].src = myImages[imgIndex];
    </script>
  </body>
</html>
<html>
  <head>
    <script type='text/javascript'>
      var imagesArray=new Array("images/1.jpg","images/2.jpg","images/3.jpg","images/4.jpg");
      function changeImg(imageNumber){
        var newImage = imagesArray[Math.round(Math.random()*3)];
        alert(document.images[imageNumber].src);
        while(document.images[imageNumber].src.indexOf(newImage)!=-1){
          newImage = imagesArray[Math.round(Math.random()*3)];
        }
        document.images[imageNumber].src = newImage;
        return false;
      }
    </script>
  </head>
  <body>
    <img name='img1' src="images/1.jpg" width=150 height=200 onclick="return changeImg(0)">
    <img name='img2' src="images/2.jpg" width=150 height=200 onclick="return changeImg(1)">
  </body>
</html>
<html>
  <head>
    <script type='text/javascript'>
      function linkPage(){
        alert('You Clicked?');
        return false;
      }
    </script>
  </head>
  <body>
    <A href='http://www.baidu.com' name='link' onclick="return linkPage()">
      Click Me
    </A>
  </body>
  <script type='text/javaScript'>
    window.document.links['link'].href="http://www.google.com";
  </script>
<html>

通过这三个数组就能访问到为标记所创建的相应对象,可以通过修改img对象的属性来修改页面的图片,通过修改超链接对象的属性来改变超链接的URL。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
Javascript面向对象之四 继承
Feb 08 Javascript
使用Chart.js图表库制作漂亮的响应式表单
Oct 28 Javascript
轻松使用jQuery双向select控件Bootstrap Dual Listbox
Dec 13 Javascript
jquery实现可旋转可拖拽的文字效果代码
Jan 27 Javascript
酷! 不同风格页面布局幻灯片特效js实现
Feb 19 Javascript
jQuery实现右键菜单、遮罩等效果代码
Sep 27 Javascript
vue中如何引入jQuery和Bootstrap
Apr 10 jQuery
jQuery完成表单验证的实例代码(纯代码)
Sep 30 jQuery
JS异步执行结果获取的3种解决方式
Feb 19 Javascript
微信小程序 腾讯地图SDK 获取当前地址实现解析
Aug 12 Javascript
vue 封装 Adminlte3组件的实现
Mar 18 Javascript
Vue props中Object和Array设置默认值操作
Jul 30 Javascript
JS判断是否为JSON对象及是否存在某字段的方法(推荐)
Nov 29 #Javascript
JS 拦截全局ajax请求实例解析
Nov 29 #Javascript
JS正则替换掉小括号及内容的方法
Nov 29 #Javascript
详解堆的javascript实现方法
Nov 29 #Javascript
Bootstrap Table使用心得总结
Nov 29 #Javascript
jQuery将表单序列化成一个Object对象的实例
Nov 29 #Javascript
利用CSS、JavaScript及Ajax实现图片预加载的方法
Nov 29 #Javascript
You might like
PHP常用数组函数介绍
2014/07/28 PHP
php使用MySQL保存session会话的方法
2015/06/26 PHP
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
2016/02/15 PHP
jQuery的实现原理的模拟代码 -1 核心部分
2010/08/01 Javascript
JS清除选择内容的方法
2015/01/29 Javascript
JavaScript 消息框效果【实现代码】
2016/04/27 Javascript
浅析jquery unbind()方法移除元素绑定的事件
2016/05/24 Javascript
Bootstrap列表组学习使用
2017/02/09 Javascript
Nodejs搭建wss服务器教程
2017/05/24 NodeJs
Vue2.0权限树组件实现代码
2017/08/29 Javascript
慕课网题目之js实现抽奖系统功能
2017/09/19 Javascript
JavaScript canvas实现围绕旋转动画
2017/11/18 Javascript
深入解析Vue源码实例挂载与编译流程实现思路详解
2019/05/05 Javascript
JavaScript实现轮播图片完整代码
2020/03/07 Javascript
如何将Node.js中的回调转换为Promise
2020/11/10 Javascript
[01:50]WODOTA制作 DOTA2中文宣传片《HERO》
2013/04/28 DOTA
[56:46]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 VP vs Effect
2018/04/01 DOTA
Python中属性和描述符的正确使用
2016/08/23 Python
python cx_Oracle模块的安装和使用详细介绍
2017/02/13 Python
Python实现的文本编辑器功能示例
2017/06/30 Python
浅谈Python peewee 使用经验
2017/10/20 Python
用Python进行简单图像识别(验证码)
2018/01/19 Python
Python即时网络爬虫项目启动说明详解
2018/02/23 Python
python 平衡二叉树实现代码示例
2018/07/07 Python
Python 数据库操作 SQLAlchemy的示例代码
2019/02/18 Python
pandas修改DataFrame列名的实现方法
2019/02/22 Python
Python配置虚拟环境图文步骤
2019/05/20 Python
Python爬虫获取页面所有URL链接过程详解
2020/06/04 Python
利用python+ffmpeg合并B站视频及格式转换的实例代码
2020/11/24 Python
中科方德软件测试面试题
2016/04/21 面试题
人事专员的职责
2014/02/26 职场文书
初中班主任评语大全
2014/04/24 职场文书
高一军训的心得体会
2014/09/01 职场文书
储备店长岗位职责
2015/04/14 职场文书
送给火锅店的创意营销方案!
2019/07/08 职场文书
Win10防火墙白名单怎么设置?Win10添加防火墙白名单方法
2022/04/06 数码科技