IE 3.0 和 Netscape Navigator 3.0 提供了一种特性 - BOM(浏览器对象模型),可以对浏览器窗口进行访问和操作。使用 BOM,开发者可以移动窗口、改变状态栏中的文本以及执行其他与页面内容不直接相关的动作。使 BOM 独树一帜且又常常令人怀疑的地方在于,它只是 JavaScript 的一个部分,没有任何相关的标准。

BOM 主要处理浏览器窗口和框架,不过通常浏览器特定的 JavaScript 扩展都被看做 BOM 的一部分。这些扩展包括:

  • 弹出新的浏览器窗口
  • 移动、关闭浏览器窗口以及调整窗口大小
  • 提供 Web 浏览器详细信息的定位对象
  • 提供用户屏幕分辨率详细信息的屏幕对象
  • 对 cookie 的支持
  • IE 扩展了 BOM,加入了 ActiveXObject 类,可以通过 JavaScript 实例化 ActiveX 对象

由于没有相关的 BOM 标准,每种浏览器都有自己的 BOM 实现。有一些事实上的标准,如具有一个窗口对象和一个导航对象,不过每种浏览器可以为这些对象或其他对象定义自己的属性和方法。

1.window对象

概念上讲.一个html文档对应一个window对象.
功能上讲: 控制浏览器窗口的.
使用上讲: 与Global 类似.window对象同样不需要创建对象,直接使用即可.

三个常用方法:

  1.alert  警告框

  2.confirm  确认框,该方法有返回值,true/false

  3.prompt  交互框(少)

  4.open

    调用方式一:open("http://www.itcast.cn")//打开一个新窗口并进入指定网址

    调用方式二:open('','','width=200,resizable=no,height=100')

    //参数1 什么都不填 就是打开一个新窗口.  参数2.填入新窗口的名字(一般可以不填). 参数3: 新打开窗口的参数.   

  5.close  关闭当前窗口

  6.setInterval clearInterval(定时器方法)  注意:每一个定时器都有一个独一无二的ID,关闭定时器是需传入ID

    setInterval(fun1, 3000)//参数1 是function对象 参数2 是时间.  每隔参数2的时间,调用参数1的函数.

  7.setTimeout clearTimeout(只启动一次)

Window对象共有七个属性:

● defauleStatus:指定窗口状态栏中的信息。

● status:指定当前窗口状态栏中的信息。

● frames:是一个数组,其中内容是窗口中所有的框架。

● parent:指当前窗口的父窗口。

● self:指当前窗口。

● top:代表当前所有窗口的最顶层窗口。

● window:代表当前窗口。

Window对象有五个方法:

● alert:显示带有一个“确定”按钮的对话框。

● confirm:显示带有“确定”与“取消”两个按钮的对话框。

● prompt:显示带有输入区的对话框。

● open:打开一个新窗口。

● close:关闭用户打开的窗口。

三、status属性例子,在窗口状态栏显示和清除文字 单击"写入文字"按钮,在状态栏显示'这是状态栏'。按"清除文字"按钮,清除状态栏的文字。 <html> <head> <script language="JavaScript"> function statbar(txt) { window.status = txt; } </script> </head> <body> <form> <input type="button" name="look" value="写入文字" onclick="statbar('这是状态栏');"> <input type="button" name="erase" value="清除文字" onclick="statbar('');"> </form> </body> </html>

四、alert方法例子:显示“大家来学习JavaScript脚本语言。”的对话框。 <html> <body> <script language="JavaScript"> alert("大家来学习JavaScript脚本语言。") </script> </body> </html>

五、 Confirm方法例子:让用户选择是否进入下一页。 用confirm显示选择对话框,按“确定”进入next.htm,按“取消”不进入。 <html> <body> <script language="JavaScript"> if(confirm("你想进入下一页吗?")) location="next.htm" </script> </body> </html>

六、Prompt方法例子:让用户输入姓名,并将它显示出来。 用prompt显示输入对话框,让用户输入姓名,再用alert对话框显示出来。 <html> <body> <script language="JavaScript"> var name name=prompt("请输入姓名","张国强") alert("你好,"+name) </script> </body> </html>

七、Window对象方法例子 当打开网页时,立即打开另一窗口,显示test.htm。 <html> <body onload="javascript:window.open('test.htm')"> </body> </html>

2.history对象

八、History对象的属性和方法 History对象只有一个length属性,它表示历史对象中的链接的数目。 History对象有以下方法: ● back:在浏览器中显示上一页。 ● forward:在浏览器中显示上下页。 ● go(int):在浏览器中载入从当前算起的第int个页面。

九、History例子:具有“上一页”、“下一页”按钮的页面。 <html> <body> <form> <input type="button" value="上一页" onClick="history.back()"> <input type="button" value="下一页" onClick="history.forward()"> </body> </html>

3.location对象

  reload

JavaScripts学习日记——BOM的更多相关文章

  1. JavaScripts学习日记——ECMAscript

    1.Function对象 Function是一个很特殊的对象,特殊在该对象就像java中的方法一样,可以运行,可以传参数. 三种定义function对象的方法: 1.function fun1(a,b ...

  2. JavaScripts学习日记——XML DTD Schema

    今日关键词: XML DTD Schema 1.XML 1 XML的概述 1.1 什么是XML XML全称为Extensible Markup Language,意思是可扩展的标记语言.XML语法上和 ...

  3. JavaScripts学习日记——DOM SAX JAXP DEMO4J XPath

    今日关键词: XML解析器 DOM SAX JAXP DEMO4J XPath XML解析器 1.解析器概述 什么是解析器 XML是保存数据的文件,XML中保存的数据也需要被程序读取然后使用.那么程序 ...

  4. JavaScripts学习日记——DOM

    DOM Document Object Model 文档对象模型  整合js和html css.控制html文档行为.DOM就是把页面当中所有内容全部封装成对象.HTML文档中万物皆对象.1.对象的分 ...

  5. Linux学习日记-使用EF6 Code First(四)

    一.在linux上使用EF 开发环境 VS2013+mono 3.10.0 +EF 6.1.0 先检测一下EF是不是6的 如果不是  请参阅 Linux学习日记-EF6的安装升级(三) 由于我的数据库 ...

  6. android学习日记05--Activity间的跳转Intent实现

    Activity间的跳转 Android中的Activity就是Android应用与用户的接口,所以了解Activity间的跳转还是必要的.在 Android 中,不同的 Activity 实例可能运 ...

  7. android学习日记03--常用控件Dialog

    常用控件 9.Dialog 我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框 对话框,要创建对话框之前首先要创建Bui ...

  8. android学习日记03--常用控件checkbox/radiobutton

    常用控件3.checkbox 复选框,确定是否勾选,点击一下勾选,点击第二下取消,当有一系列备选项时适合用checkbox控件,方便用户提交数据. 贴上例子Activity的java代码 packag ...

  9. android学习日记03--常用控件button/imagebutton

    常用控件 控件是对数据和方法的封装.控件可以有自己的属性和方法.属性是控件数据的简单访问者.方法则是控件的一些简单而可见的功能.所有控件都是继承View类 介绍android原生提供几种常用的控件bu ...

随机推荐

  1. js中this的指向

    在js中this的指向对于新手来说一定是个难题,但是如果你真正理解了的话,也就没什么问题啦,下面就来讲讲this吧. JS中,this的值取决于调用的模式(调用对象),而JS中共有4种调用模式: 1. ...

  2. include子页面传递过来的参数传递到后台

    在页面上可以使用 ${param.moduleId}来获取 在判断中也可以使用${param.moduleId == "test" ? "1":"2& ...

  3. uva 352 - The Seasonal War

    題意: 要確認畫面中有幾隻Eagles,每個pixel如果是'1'代表為一隻Eagles,但上下左右(包含斜角共8個方向)相連的'1'只能算是同一隻. 想法: 使用DFS找'1'有幾個區域. #inc ...

  4. poi实现Excel导出

    最近做了一个导出Excel的小功能,以前没接触过,现在分享下自己的代码,想让各位帮忙看看有啥地方可以优化,也方便自己以后查阅... 首先是excelAction的代码: /** * excelActi ...

  5. Python函数小结(1)--参数类型(*, ** 的区别), 闭包

    刚开始学习python,python相对于java确实要简洁易用得多.内存回收类似hotspot的可达性分析, 不可变对象也如同java得Integer类型,with函数类似新版本C++的特性,总体来 ...

  6. 设置iOS项目BuildVersion自动增加-备用

    一.概念阐述:Build与Version的区别 在iOS中有两种“版本号”,也就是所谓的version号与build号,如下图所示: 我们用最简洁的语言来区分这两个版本号的区别以及用途如下: Vers ...

  7. word2vec的艰难成长史

    1.首先在网站上面下载gensim,我是在11服务器上面下载的 2.使用winpython打开 3.在command windows 下使用pip install gensim这句话进行,原先使用这句 ...

  8. 安装notepad++之后怎样在鼠标右键上加上Edit with notepad++

    在鼠标右键上加入使用notepad++编辑 我们在安装完notepad++文本编辑器之后,在一个文本文件上右键有时候并没有出现"使用notepad++编辑的选项",我们可以通过简单 ...

  9. windows下使用批处理调用exe和服务

    手动调用exe或者启动服务很麻烦,可以使用.bat批处理文件,双击运行即可.步骤如下:创建一个新的txt文件但是保存成.bat结尾的文件(选择用记事本打开编写命令),输入代码内容格式如下: @echo ...

  10. 简单工厂模式 - OK

    简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例.简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现. 使用场景: 工厂类负责创建的对象比较少: 客户只知道传 ...