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 自动转到命名锚记
Jan 10 Javascript
event.X和event.clientX的区别分析
Oct 06 Javascript
JS命名空间的另一种实现
Aug 09 Javascript
js获取日期:昨天今天和明天、后天
Jun 11 Javascript
Jquery通过JSON字符串创建JSON对象
Aug 24 Javascript
Javascript MVC框架Backbone.js详解
Sep 18 Javascript
js创建jsonArray传输至后台及后台全面解析
Apr 11 Javascript
全面解析JS字符串和正则表达式中的match、replace、exec等函数
Jul 01 Javascript
Jquery给当前页或者跳转后页面的导航栏添加选中后样式的实例
Dec 08 Javascript
vue 循环加载数据并获取第一条记录的方法
Sep 26 Javascript
vue 解决遍历对象显示的顺序不对问题
Nov 07 Javascript
vue data有值,但是页面{{}} 取不到值的解决
Nov 09 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模拟HTTP认证
2006/10/09 PHP
PHP函数按引用传递参数及函数可选参数用法示例
2018/06/04 PHP
javascript 读取图片文件的大小
2009/06/25 Javascript
JS中处理与当前时间间隔的函数代码
2012/05/23 Javascript
JS对文本框值的判断示例
2014/03/10 Javascript
基于jquery实现的文字向上跑动类似跑马灯的效果
2014/06/17 Javascript
JavaScript生成福利彩票双色球号码
2015/05/15 Javascript
JS实现可拖曳、可关闭的弹窗效果
2015/09/26 Javascript
jQuery实现的简单提示信息插件
2015/12/08 Javascript
学习Angular中作用域需要注意的坑
2016/08/17 Javascript
AngularJS入门教程之迭代器过滤详解
2016/08/18 Javascript
JQ选择器_选择同类元素的第N个子元素的实现方法
2016/09/08 Javascript
js通过指定下标或指定元素进行删除数组的实例
2017/01/12 Javascript
node操作mysql数据库实例详解
2017/03/17 Javascript
vue 下列表侧滑操作实例代码详解
2018/07/24 Javascript
JS document内容及样式操作完整示例
2020/01/14 Javascript
nodejs使用socket5进行代理请求的实现
2020/02/21 NodeJs
[05:29]2014DOTA2国际邀请赛 赛后专访:LGDNewbee顺利过关
2014/07/13 DOTA
[02:06]2018完美世界全国高校联赛秋季赛开始报名(附彩蛋)
2018/09/03 DOTA
Python bsddb模块操作Berkeley DB数据库介绍
2015/04/08 Python
Python字符串拼接六种方法介绍
2017/12/18 Python
Python中常用的8种字符串操作方法
2019/05/06 Python
python画图——实现在图上标注上具体数值的方法
2019/07/08 Python
解决Python logging模块无法正常输出日志的问题
2020/02/21 Python
python 按钮点击关闭窗口的实现
2020/03/04 Python
Python生成器next方法和send方法区别详解
2020/05/30 Python
HTML5 图片预加载的示例代码
2020/03/25 HTML / CSS
大学生村官工作感言
2014/01/10 职场文书
四查四看剖析材料
2014/02/14 职场文书
40岁生日感言
2014/02/15 职场文书
党支部换届选举方案
2014/05/08 职场文书
国庆节演讲稿
2014/05/27 职场文书
个人作风建设剖析材料
2014/10/11 职场文书
高中运动会广播稿
2015/08/19 职场文书
创业计划书之香辣虾火锅
2019/09/23 职场文书
Python IO文件管理的具体使用
2022/03/20 Python