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 相关文章推荐
解析DHTML,JavaScript,DOM,BOM以及WEB标准的描述
Jun 19 Javascript
JavaScript省市联动实现代码
Feb 15 Javascript
深入理解javascript严格模式(Strict Mode)
Nov 28 Javascript
BootStrap智能表单实战系列(三)分块表单配置详解
Jun 13 Javascript
Angular.JS实现无限级的联动菜单(使用demo)
Feb 08 Javascript
关于ES6的六个小特性(二)
Feb 20 Javascript
原生js编写2048小游戏
Mar 17 Javascript
微信小程序 MinUI组件库系列之badge徽章组件示例
Aug 20 Javascript
JS 实现获取验证码 倒计时功能
Oct 29 Javascript
浅谈JavaScript闭包
Apr 09 Javascript
Vue项目中使用flow做类型检测的方法
Mar 18 Javascript
如何构建 vue-ssr 项目的方法步骤
Aug 04 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
Mysql的常用命令
2006/10/09 PHP
php5.3不能连接mssql数据库的解决方法
2014/12/27 PHP
php中解析带中文字符的url函数分享
2015/01/20 PHP
php删除数组中重复元素的方法
2015/12/22 PHP
PHP实现简单实用的分页类代码
2016/04/08 PHP
详解PHP中cookie和session的区别及cookie和session用法小结
2016/06/12 PHP
php微信公众平台开发之微信群发信息
2016/09/13 PHP
利用Homestead快速运行一个Laravel项目的方法详解
2017/11/14 PHP
input按钮的事件处理大全
2010/12/10 Javascript
JavaScript事件委托的技术原理探讨示例
2014/04/17 Javascript
JavaScript实现的encode64加密算法实例分析
2015/04/15 Javascript
jQuery检查事件是否触发的方法
2015/06/26 Javascript
jQuery检测返回值的数据类型
2015/07/13 Javascript
javascript顺序加载图片的方法
2015/07/18 Javascript
jQuery EasyUI 入门必看
2016/06/03 Javascript
jQuery+CSS3文字跑马灯特效的简单实现
2016/06/25 Javascript
JS填写银行卡号每隔4位数字加一个空格
2016/12/19 Javascript
web 屏蔽BackSpace键实例代码
2016/12/24 Javascript
浅谈vue中数据双向绑定的实现原理
2017/09/14 Javascript
Vue调试神器vue-devtools安装方法
2017/12/12 Javascript
js 将canvas生成图片保存,或直接保存一张图片的实现方法
2018/01/02 Javascript
vue.js实现只弹一次弹框
2018/01/29 Javascript
vue单页面实现当前页面刷新或跳转时提示保存
2018/11/02 Javascript
js replace替换字符串同时替换多个方法
2018/11/27 Javascript
JS实现随机抽选获奖者
2019/11/07 Javascript
Vue+Vuex实现自动登录的知识点详解
2020/03/04 Javascript
详解关于Vue单元测试的几个坑
2020/04/26 Javascript
python uuid模块使用实例
2015/04/08 Python
用pycharm开发django项目示例代码
2019/06/13 Python
python爬取百度贴吧前1000页内容(requests库面向对象思想实现)
2019/08/10 Python
python统计指定目录内文件的代码行数
2019/09/19 Python
使用HTML5 Canvas绘制直线或折线等线条的方法讲解
2016/03/14 HTML / CSS
英国男士时尚购物网站:Stuarts London
2017/10/22 全球购物
kfc实习自我鉴定
2013/12/14 职场文书
出纳工作岗位责任制
2014/02/02 职场文书
财务出纳岗位职责
2014/02/03 职场文书