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 相关文章推荐
jquery ui dialog ie8出现滚动条的解决方法
Dec 06 Javascript
中国地区三级联动下拉菜单效果分析
Nov 15 Javascript
jquery ajax中使用jsonp的限制解决方法
Nov 22 Javascript
JavaScript作用域链示例分享
May 27 Javascript
基于jquery实现的可编辑下拉框实现代码
Aug 02 Javascript
js实现的类似于asp数据字典的数据类型代码实例
Sep 03 Javascript
jQuery实现字符串按指定长度加入特定内容的方法
Mar 11 Javascript
详解JavaScript中getFullYear()方法的使用
Jun 10 Javascript
Bootstrap实现登录校验表单(带验证码)
Jun 23 Javascript
jquery 仿锚点跳转到页面指定位置的实例
Feb 14 Javascript
详解vuex状态管理模式
Nov 01 Javascript
vue 内联样式style中的background用法说明
Aug 05 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远程连接MYSQL数据库非常慢的解决方法
2008/07/05 PHP
php之curl设置超时实例
2014/11/03 PHP
一些易混淆且不常用的属性,希望有用
2007/01/29 Javascript
function, new function, new Function之间的区别
2007/03/08 Javascript
获取dom元素那些讨厌的位置封装代码
2010/06/23 Javascript
HTML5附件拖拽上传drop &amp; google.gears实现代码
2011/04/28 Javascript
form表单action提交的js部分与html部分
2014/01/07 Javascript
Javascript仿PHP $_GET获取URL中的参数
2014/05/12 Javascript
javascript实现五星评价代码(源码下载)
2015/08/11 Javascript
基于JavaScript实现动态添加删除表格的行
2016/02/01 Javascript
jQuery+formdata实现上传进度特效遇到的问题
2016/02/24 Javascript
JQuery实现简单的服务器轮询效果实例
2016/03/31 Javascript
JS实现兼容各种浏览器的高级拖动方法完整实例【测试可用】
2016/06/21 Javascript
微信JS接口大全
2016/08/25 Javascript
解析JavaScript数组方法reduce
2016/12/12 Javascript
微信小程序 地图map实例详解
2017/06/07 Javascript
JavaScript正则表达式的贪婪匹配和非贪婪匹配
2017/09/05 Javascript
vue2.0模拟锚点的实例
2018/03/14 Javascript
vue引用外部JS的两种种方法
2020/01/28 Javascript
详解Python之unittest单元测试代码
2018/01/24 Python
python SVM 线性分类模型的实现
2019/07/19 Python
opencv3/C++实现视频读取、视频写入
2019/12/11 Python
最新PyCharm从安装到PyCharm永久激活再到PyCharm官方中文汉化详细教程
2020/11/17 Python
HTML5视频播放插件 video.js介绍
2018/09/29 HTML / CSS
美国定制钻石订婚戒指:Ritani
2017/12/08 全球购物
英国知名小木屋定制网站:Tiger Sheds
2020/03/06 全球购物
毕业求职自荐信格式是什么
2013/11/19 职场文书
校庆标语集锦
2014/06/25 职场文书
法院干警四风问题自我剖析材料
2014/09/29 职场文书
党员“一帮一”活动总结
2015/05/07 职场文书
乡镇团委工作总结2015
2015/05/26 职场文书
python实现简单倒计时功能
2021/04/21 Python
MySQL中VARCHAR与CHAR格式数据的区别
2021/05/26 MySQL
Python Pandas常用函数方法总结
2021/06/15 Python
Python实现批量将文件复制到新的目录中再修改名称
2022/04/12 Python
pytest实现多进程与多线程运行超好用的插件
2022/07/15 Python