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 相关文章推荐
IE下js调试工具Companion.JS
Oct 15 Javascript
juqery 学习之三 选择器 简单 内容
Nov 25 Javascript
js判断客户端是iOS还是Android等移动终端的方法
Dec 11 Javascript
Javascript selection的兼容性写法介绍
Dec 20 Javascript
jquery.form.js实现将form提交转为ajax方式提交的方法
Apr 07 Javascript
javascript禁止访客复制网页内容的实现代码
Aug 05 Javascript
AngularJs动态加载模块和依赖注入详解
Jan 11 Javascript
Vue CLI3 开启gzip压缩文件的方式
Sep 30 Javascript
Koa从零搭建到Api实现项目的搭建方法
Jul 30 Javascript
vue + elementUI实现省市县三级联动的方法示例
Oct 29 Javascript
JavaScript实现猜数字游戏
May 20 Javascript
Js数组扁平化实现方法代码总汇
Nov 11 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
追忆往昔!浅谈收音机的百年发展历史
2021/03/01 无线电
php5 pdo新改动加载注意事项
2008/09/11 PHP
PHP实现HTTP断点续传的方法
2015/06/17 PHP
PHP常用技巧汇总
2016/03/04 PHP
php array_values 返回数组的值实例详解
2016/11/17 PHP
PHP实现的统计数据功能详解
2016/12/06 PHP
jQuery cdn使用介绍
2013/05/08 Javascript
javascript检测页面是否缩放的小例子
2013/05/16 Javascript
jquery动态增加删除表格行的小例子
2013/11/14 Javascript
超炫的jquery仿flash导航栏特效
2014/11/11 Javascript
极力推荐10个短小实用的JavaScript代码段
2016/08/03 Javascript
深入探讨Vue.js组件和组件通信
2016/09/12 Javascript
JavaScript 闭包详细介绍
2016/09/28 Javascript
基于EasyUI的基础之上实现树形功能菜单
2017/06/28 Javascript
JS实现快速比较两个字符串中包含有相同数字的方法
2017/09/11 Javascript
vue里面父组件修改子组件样式的方法
2018/02/03 Javascript
JavaScript求一组数的最小公倍数和最大公约数常用算法详解【面向对象,回归迭代和循环】
2018/05/07 Javascript
微信小程序表单验证form提交错误提示效果
2020/06/19 Javascript
react.js组件实现拖拽复制和可排序的示例代码
2018/08/20 Javascript
微信小程序结合mock.js实现后台模拟及调试
2019/03/28 Javascript
浅谈vue权限管理实现及流程
2020/04/23 Javascript
[01:09:19]DOTA2-DPC中国联赛 正赛 VG vs Aster BO3 第二场 2月28日
2021/03/11 DOTA
python使用win32com在百度空间插入html元素示例
2014/02/20 Python
python实现中文分词FMM算法实例
2015/07/10 Python
Python安装pycurl失败的解决方法
2018/10/15 Python
使用Python正则表达式操作文本数据的方法
2019/05/14 Python
调用其他python脚本文件里面的类和方法过程解析
2019/11/15 Python
Python如何使用函数做字典的值
2019/11/30 Python
Python实现中值滤波去噪方式
2019/12/18 Python
关于多元线性回归分析——Python&amp;SPSS
2020/02/24 Python
师范生自荐信范文
2013/10/06 职场文书
好的自荐信包括什么内容
2013/11/07 职场文书
小学教师年度个人总结
2015/02/05 职场文书
公司保洁员岗位职责
2015/02/13 职场文书
2015年大学班长个人工作总结
2015/04/24 职场文书
Golang MatrixOne使用介绍和汇编语法
2022/04/19 Golang