BOM - 浏览器API
1,javascript 组成部分:
1.ECMAscript(核心标准): 定义了基本的语法,比如:if for 数组 字符串 ...
2.BOM : 浏览器对象模型(Browser Object Model)
2,BOM 的组成部分:
1.window对象 每一个子窗口对应的又是一个window对象
2. screen对象
3.location对象
4.history对象
5.Navigator对象
6.定时器 (两种)
7.弹框(三种)
8. document (DOM-文档对象模型)
1.1window 对象(表示浏览器窗口):
- 所有浏览器都支持 window 对象。它表示浏览器窗口。
- 所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。
- 全局变量是 window 对象的属性。
- 全局函数是 window 对象的方法。
- 甚至 HTML DOM 的 document 也是 window 对象的属性之一
1.2window 尺寸:
查看window尺寸有三种方式适用于不同的情况:
1) w3c标准(适用于老版本ie之外的浏览器)
- window.innerHeight - 浏览器窗口的内部高度
- window.innerWidth - 浏览器窗口的内部宽度
2) 老版本的IE浏览器
标准模式:
document.documentElement.clientHeight)
document.documentElement.clientWidth)
怪异模式(向后兼容)中:
document.body.clientHeight
document.body.clientWidth
(如何知道是何种模式?
console.log(document.compatMode)可以查看文档是以什么方式进行解析的
CSS1Compat 标准模式
BackCompat 怪异模式
)

function getScreen(){ //获取屏幕的可视宽高
if (window.innerWidth) { //如果window底下有这个属性,就用这个, w3c标准
return {
width : window.innerWidth,
height : window.innerHeight
}
}else{ //老版本IE
if(document.compatMode == "CSS1Compat"){ //标准模式
return {
width : document.documentElement.clientWidth,
height : document.documentElement.clientHeight
}
}else{ //怪异模式
return {
width : document.body.clientWidth,
height : document.body.clientHeight
}
}
}
}
console.log(getScreen())

1.3 其他 Window 方法
•window.open() - 打开新窗口
•window.close() - 关闭当前窗口
•window.moveTo() - 移动当前窗口
•window.resizeTo() - 调整当前窗口的尺寸
2.1 screen 对象(包含有关用户屏幕的信息)
- screen.availWidth - 可用的屏幕宽度
- screen.availHeight - 可用的屏幕高度
<script>
document.write("可用宽度:" + screen.availWidth);
document.write("可用高度:" + screen.availHeight);
</script>
3.1 location对象(用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面)

console.log(location.href) //返回(当前页面的)整个 URL:
console.log(location.hash) //hash 哈希值,也叫锚点,比方说a链接中的
console.log(location.host) // host 设置或返回主机名和当前 URL 的端口号。
console.log(location.hostname) // hostname 设置或返回当前 URL 的主机名。
console.log(location.pathname) // pathname 设置或返回当前 URL 的路径部分。
console.log(location.port) // port 设置或返回当前 URL 的端口号。
console.log(location.protocol) // protocol 设置或返回当前 URL 的协议。
console.log(location.search) // search 参数(查询字符串) 设置或返回从问号 (?) 开始的 URL(查询部分)。 // location.href = "http://www.baidu.com" //放到某一个事件中去触发

4.1 history对象(包含浏览器的历史记录)
- history.back() - 与在浏览器点击后退按钮相同
- history.forward() - 与在浏览器中点击按钮向前相同

<body>
<a href="http://www.baidu.com">去百度</a>
<button>后退</button>
<button>前进</button> <script>
var btn1 = document.getElementsByTagName("button")[0];
var btn2 = document.getElementsByTagName("button")[1]; btn1.onclick = function(){
history.back()
}
btn2.onclick = function(){
history.forward()
}
</script>
</body>

5.1 Navigator对象(记录了浏览器的一些信息的对象)
- appCodeName 返回浏览器的代码名。
- appMinorVersion 返回浏览器的次级版本。
- appName 返回浏览器的名称。
- appVersion 返回浏览器的平台和版本信息。
- browserLanguage 返回当前浏览器的语言。
- cookieEnabled 返回指明浏览器中是否启用 cookie 的布尔值。
- cpuClass 返回浏览器系统的 CPU 等级。
- onLine 返回指明系统是否处于脱机模式的布尔值。
- platform 返回运行浏览器的操作系统平台。
- systemLanguage 返回 OS 使用的默认语言。
- userAgent 返回由客户机发送服务器的 user-agent 头部的值。
- userLanguage 返回 OS 的自然语言设置。

<div id="example"></div> <script> txt = "<p>Browser CodeName: " + navigator.appCodeName + "</p>";
txt+= "<p>Browser Name: " + navigator.appName + "</p>";
txt+= "<p>Browser Version: " + navigator.appVersion + "</p>";
txt+= "<p>Cookies Enabled: " + navigator.cookieEnabled + "</p>";
txt+= "<p>Platform: " + navigator.platform + "</p>";
txt+= "<p>User-agent header: " + navigator.userAgent + "</p>";
txt+= "<p>User-agent language: " + navigator.systemLanguage + "</p>"; document.getElementById("example").innerHTML=txt; </script>

6.1 PopupAlert 对象
警告框:
alert("文本")
确认框:
confirm("文本")
提示框:
prompt("文本","默认值")
7.1 Timing 对象
一次性定时器:
setTimeout()未来的某时执行代码;
clearTimeout()取消setTimeout();
无限次定时器:
setInterval( );
clearInterval();
8.1 cookie (用来识别用户)
有关cookie的例子:
名字 cookie:
当访问者首次访问页面时,他或她也许会填写他/她们的名字。名字会存储于 cookie 中。当访问者再次访问网站时,他们会收到类似 "Welcome John Doe!" 的欢迎词。而名字则是从 cookie 中取回的。
密码 cookie:
当访问者首次访问页面时,他或她也许会填写他/她们的密码。密码也可被存储于 cookie 中。当他们再次访问网站时,密码就会从 cookie 中取回。
日期 cookie:
当访问者首次访问你的网站时,当前的日期可存储于 cookie 中。当他们再次访问网站时,他们会收到类似这样的一条消息:"Your last visit was on Tuesday August 11, 2005!"。日期也是从 cookie 中取回的。
参考: https://www.cnblogs.com/1234wu/p/10216672.html
BOM - 浏览器API的更多相关文章
- BOM浏览器对象
BOM 浏览器对象 一.浏览器本身就自己有一些对象,不用创建就可以使用 window(当前浏览器窗体) 属性: status opener closed parent top 方法: alert(); ...
- 第一百一十一节,JavaScript,BOM浏览器对象模型
JavaScript,BOM浏览器对象模型 学习要点: 1.window对象 2.location对象 3.history对象 BOM也叫浏览器对象模型,它提供了很多对象,用于访问浏览器的功能.BOM ...
- Chrome浏览器扩展开发系列之十六:扩展中可用的Chrome浏览器API
除了Chrome浏览器支持的chrome.* API之外,Chrome浏览器扩展还可以使用Chrome浏览器为Web页面或Chrome app提供的APIs.对于Chrome浏览器2支持的API,还可 ...
- JavaScript——BOM(浏览器对象模型),时间间隔和暂停
BOM(浏览器对象模型):能够对浏览器的窗体进行訪问和操作 1.主要的BOM体系: window------------document-------------------------------- ...
- BOM浏览器对象模型和API速查
什么是BOMBOM是Browser Object Model的缩写,简称浏览器对象模型BOM提供了独立于内容而与浏览器窗口进行交互的对象由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是wi ...
- BOM核心API
前言 我觉得前端中最难的不是业务逻辑,而是API太多,知道的太少. BOM是什么? BOM是Browser Object Model的缩写,即浏览器对象模型.浏览器对象模型提供了可以与浏览器窗口进行互 ...
- BOM浏览器对象模型
访问和操作浏览器窗口的模型称为浏览器对象模型BOM(Browser Object Model). BOM整体对象图. 核心是window对象: 以下有特殊双重身份: window对象既是ECMAScr ...
- 【微网站开发】之微信内置浏览器API使用
最近在写微网站,发现了微信内置浏览器的很多不称心的地方: 1.安卓版的微信内浏览器底部总是出现一个刷新.前进.后退的底部栏,宽度很大,导致屏幕显示尺寸被压缩 2.分享当前网站至朋友圈时,分享的图片一般 ...
- javascript之BOM浏览器对象模型引入
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
随机推荐
- SpringBoot整合redis哨兵主从服务
前提环境: 主从配置 http://www.cnblogs.com/zwcry/p/9046207.html 哨兵配置 https://www.cnblogs.com/zwcry/p/9134721. ...
- linux OS与SQL修改时区,系统时间
linux修改系统时间和linux查看时区.修改时区的方法 一.查看和修改Linux的时区 1. 查看当前时区命令 : "date -R" 2. 修改设置Linux服务器时区方法 ...
- 搭建ELK日志分析(亲测无毒!)截图没有附上。。凑合看。搭建出来没有问题
( 1 )安装 Logstash 依赖包 JDK Logstash 的运行依赖于 Java 运行环境, Logstash 1.5 以上版本不低于 java 7 推荐使用最新版本的 Java .由于我们 ...
- C#实现根据地图上的两点坐标,计算直线距离
根据地图上的两点坐标,计算直线距离,在网上找到javascript的写法,用C#实现一下 /// <summary> /// 根据地图上的两点坐标,计算直线距离 /// </summ ...
- phpstorm 配置点右上角浏览器图标时用浏览器打开当前页面
文件>设置 只要这一步就可以这样了
- (6CBIR模拟问题)自己动手,编写神经网络程序,解决Mnist问题,并网络化部署
个方面: 最初的图像检索研究主要集中在如何选择合适的全局特征去描述图像内容和采用什么样的相似性度量方法进行图像匹配. 第二个研究热点是基于区域的图像检索方法,其主要思想是图像分割技术提取出图像中的物体 ...
- 集合框架-ArrayList,Vector,Linkedlist
// ClassCastException 报错,注意,千万要搞清楚类型 * Vector的特有功能: * 1:添加功能 * public void addElement(Object obj) -- ...
- CTF-逆向工程实验吧Just Click
题目链接:http://www.shiyanbar.com/ctf/1889 步骤一:PEID解析:如下图所示 步骤二:打开exe,这种类型的东西用OD打不开,想了一下,这种东西应该是C#做的,用.n ...
- python --- 09 初始函数 参数
函数 1.函数: 对代码块和功能的封装和定义 2.格式及语法 def 函数名() # 定义 函数体 函数名() # 调用 3. return ret ...
- 2015,3,10 1(南阳理工ACM)
描述输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符. 输入 第一行输入一个数N,表示有N组测试数据.后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成, ...