BOM即浏览器对象模型,它包括如下一些对象!

(一)screen对象,Screen 对象中存放着有关显示浏览器屏幕的信息。

常见的属性有:

availHeight:返回显示屏幕的高度

availWidth:返回显示屏幕的宽度

colorDepth:返回目标设备或缓冲器上的调色板的比特深度。

height:返回屏幕区域的实际高度

width:返回屏幕区域的实际宽度

(二)Window对象,Window 对象表示一个浏览器窗口或一个框架。

常见方法:

(1)窗口的打开与关闭:

window.open(URL,name,features,replace),四个都为可选参数

URL:新窗口中显示的文档的 URL

name:声明了新窗口的名称

features:声明了新窗口要显示的标准浏览器的特征

replace:布尔值,true - URL 替换浏览历史中的当前条目。 false - URL 在浏览历史中创建新的条目。

window.close()关闭当前窗口

(2)改变窗口的位置和大小:

moveTo(x,y) 方法可把窗口的左上角移动到一个指定的坐标。

moveBy(x,y) 方法可相对窗口的当前坐标把它移动指定的像素。

resizeTo(width,height) 方法用于把窗口大小调整为指定的宽度和高度。

resizeBy(x,y) 方法用于根据指定的像素来调整窗口的大小。

(3)状态栏,通过设置window对象的status属性和defaultStatus属性来改变状态栏显示的基本信息。

如: window.defaultStatus = "php点点通";

(4)定时设定,定时器可以在特定的时间内执行特定的函数

setTimeout(epress,time) 方法用于在指定的毫秒数后调用函数或计算表达式。

clearTimeout(timeID)停止已经启动的定时器

如下脚本:

<script>

  • function timer(){
  • var t = setTimeout("alert('5秒到了')",5000);
  • }
  • </script>
  • <input type="button" value="点击改变" onclick="timer()" />

setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。

clearInterval()停止使用setInterval() 方法

如下脚本:

<script>

  • var timer;
  • function start(){
  • var date = new Date().toLocaleString();
  • window.status = date;
  • }
  • </script>
  • <input type="button" value="显示时间" onclick="timer=setInterval('start()',1000)" />
  • <input type="button" value="停止时间" onclick="clearInterval(timer)" />

(5)Navigator对象,包含的属性描述了正在使用的浏览器

appName:返回浏览器的名称。

appVersion:返回浏览器的平台和版本信息。

platform:返回运行浏览器的操作系统平台。

appCodeName:返回浏览器的代码名。

(6)History对象,其实就是来保存浏览器历史记录信息。

其属性有:length,返回浏览器历史列表中的 URL 数量。

其方法有:

back()加载 history 列表中的前一个 URL。

forward()加载 history 列表中的下一个 URL。

go()加载 history 列表中的某个具体页面。

如常见的返回上一页:History.go(-1)和history.back()

(7)Location对象,Location 对象是 Window 对象的一个部分,可通过 window.location 属性来访问。

其方法:

hash:设置或返回从井号 (#) 开始的 URL(锚)。

host:设置或返回主机名和当前 URL 的端口号

hostname:设置或返回当前 URL 的主机名。

href:设置或返回完整的 URL。

pathname:设置或返回当前 URL 的路径部分

port:设置或返回当前 URL 的端口号

protocol:设置或返回当前 URL 的协议。

search:设置或返回从问号 (?) 开始的 URL(查询部分)。

其方法:

assign()加载新的文档。

reload()重新加载当前文档。

replace()用新的文档替换当前文档。

上面是我从网上摘抄的文档,基本上涵盖了我们所有我们学过的基础知识,还有部分的超出(如navigator对象).

计时器是个重点,合适的增加计时器和删除计时器是个难点,而且计时器的多次加入也会影响网页的性能,所以我们提倡少用计时器或者是不用计时器.

<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<head>
<script type="text/javascript">
var c=0
var t
function timedCount()
{
document.getElementById('txt').value=c
c=c+1
t=setTimeout("timedCount()",1000)
}
function stopCount()
{
clearTimeout(t)
}
</script>
</head>
<body>
<form>
<input type="button" value="开始计时!" onClick="timedCount()">
<input type="text" id="txt">
<input type="button" value="停止计时!" onClick="stopCount()">
</form>
<p>请点击上面的“开始计时”按钮来启动计时器。输入框会一直进行计时,从 0 开始。点击“停止计时”按钮可以终止计时。</p>
<p>timedCount(),1000ms自己调自己。</p>
</body>
</html>

上面是一段计时器代码,其实就是掌握几个对象,和相应的几个方法和区别.

JS BOM(浏览器对象)的更多相关文章

  1. BOM浏览器对象

    BOM 浏览器对象 一.浏览器本身就自己有一些对象,不用创建就可以使用 window(当前浏览器窗体) 属性: status opener closed parent top 方法: alert(); ...

  2. js中浏览器对象BOM

    参考  :  https://www.cnblogs.com/Peng2014/p/4725524.html 1. window对象   https://www.runoob.com/jsref/ob ...

  3. JS BOM DOM对象 select联动 计时器 时间 css操作 节点(标签 ) 查找标签 {前端基础之BOM和DOM}

    前端基础之BOM和DOM 前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我 ...

  4. BOM浏览器对象模型和API速查

    什么是BOMBOM是Browser Object Model的缩写,简称浏览器对象模型BOM提供了独立于内容而与浏览器窗口进行交互的对象由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是wi ...

  5. js BOM浏览器对象模型

    BOM即Browser Object Model,浏览器对象模型,表示浏览器窗口,所有js全局对象.函数以及变量均是window 对象的成员. 对于不同的浏览器,表示宽度和高度的方法不同: 对于IE9 ...

  6. JavaScirpt(JS)——BOM浏览器对象模型

    一.BOM概念 BOM(Browser Object Model)即浏览器对象模型.可以对浏览器窗口进行访问和操作.使用 BOM,开发者可以移动窗口.改变状态栏中的文本以及执行其他与页面内容不直接相关 ...

  7. js获取浏览器对象的信息

    js中有一个对象叫 navigator,navigator 对象包含有关浏览器的信息.所有的浏览器都支持该对象. 其中经常用到的是 navigator.userAgent 属性,通常,它是在 navi ...

  8. js··BOM 浏览器对象模型

    1.window.open(url,ways) url 是打开的网页地址 ways 打开的方式 _self 2.window.close() 3.浏览器用户信息 Window.navigator 4. ...

  9. js学习--浏览器对象计时器setInterval()与setTimeout()的使用与区别

    一.setInterval()与setTimeout()的定义: 二.setInterval()与setTimeout()的使用:    1.setInterval()与clearInterval() ...

随机推荐

  1. Django学习系列17:在模板中渲染待办事项

    前面提到的问题中在表格中显示多个待办事项 是最后一个容易解决的问题.要编写一个新单元测试,检查模板是否也能显示多个待办事项: lists/tests.py def test_displays_all_ ...

  2. 第五章Java

    2 [单选题] 已知MyInterface是一个接口,ClassA是实现该接口的一个类,ClassB是ClassA的子类,则下面说法哪个正确?   A. ClassB obj = new ClassA ...

  3. JS转为number的四种方法

    // 1.Number() var num1 = Number(true); console.log(num1); var num2 = Number(" ") console.l ...

  4. nmap脚本(nse)使用总结

    nmap脚本主要分为以下几类,在扫描时可根据需要设置--script=类别这种方式进行比较笼统的扫描: auth: 负责处理鉴权证书(绕开鉴权)的脚本   broadcast: 在局域网内探查更多服务 ...

  5. 从头开始 — CSS — 垂直居中

    事实上,每次面试前端必问的问题就是这个.及其常见的需求,看起来似乎非常简单,但是实现起来很费劲,尤其是涉及尺寸不固定的元素. 本篇文章将介绍比较流行的几种方法. 行内块 <body> &l ...

  6. CSS3背景定位 background-origin

    background-size 大小 语法 background-size :[ <length> | <percentage> | auto ]{1,2} | cover | ...

  7. Codeforces Round #395 Div.1 C pacifist【JZOJ5449】Pacifist

    题目 papyrus 喜欢谜题... 来解一道如何? 在你面前有一个被加密了的数组,其原数组是一个等差序列,你面前的则是将原数组中的所有数字都对m 取模再打乱后而得到的新数组 papyrus 给你出的 ...

  8. BZOJ 3589: 动态树 树链剖分+线段树+树链的并

    利用树剖序的一些性质~ 这个题可以出到 $\sum k=10^5$ 左右. 做法很简单:每次暴力跳重链,并在线段树上查询链和. 查询之后打一个标记,把加过的链都置为 $0$.这样的话在同一次询问时即使 ...

  9. Angular 主从组件

    此刻,HeroesComponent 同时显示了英雄列表和所选英雄的详情. 把所有特性都放在同一个组件中,将会使应用“长大”后变得不可维护. 你要把大型组件拆分成小一点的子组件,每个子组件都要集中精力 ...

  10. cogs157. [USACO Nov07] 奶牛跨栏 x

    157. [USACO Nov07] 奶牛跨栏 ★★   输入文件:hurdles.in   输出文件:hurdles.out   简单对比时间限制:1 s   内存限制:128 MB 译 by Cm ...