Bom

Posted yzxyzx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bom相关的知识,希望对你有一定的参考价值。

Bom笼统的说就是专门操作浏览器API

不同的浏览器的Bom也不同,但是有一些是大家都认可通用的。

Bom底下最大的对象就是window,window扮演了两个角色

1、替代global当做全局作用域对象
2、封装了所有DOM和BOM的 API

那么window底下有六个子对象

history:浏览器的历史记录
location:窗口的url 地址栏的信息
navigator: 浏览器的配置信息
document:DOM
screen:显示设备的信息
event: 事件对象

history对象的方法

javascript:history.go(1)前进一个网页

javascript:history.go(-1)后退一个网页

那也可以使用javascript:location.replace这种方式就是替换掉了现在栈里面的地址,所以不能后退

document对象就是我们常用的dom

location.href 返回当前页面的 href (URL)

location.hostname 返回 web 主机的域名

location.prot 端口号:用来区分一个服务器上的多个网站

location.hash   锚点

location.search 返回url后面的字符串

location.pathname 返回当前页面的路径或文件名

location.protocol 返回使用的 web 协议(http: 或 https:)

location.assign 加载新窗口

location.replace加载新窗口,但是这个不能后退,因为是用新的url替换了history中的旧url

location.reload(false/true)重新加载当前页面 

 这个API中有个参数force:是否绕过缓存直接从服务器硬盘获取数据  默认false,不强制

然后写一个笔试题 如何获取url后的每一个搜索参数

function parseSearch()
var search=location.search;
console.log(search)
var obj=


var search1=search.slice(1);
var str=search1.split("&");
for(var i=0;i<str.length;i++)
var arr=str[i],split("=");//按照等号分割成新数组
obj[arr[0]]=arr[1];//讲数组中的0下标的元素当做属性名,1下标的元素为属性值

return obj;//循环接受后返回对象obj

 

以上是关于Bom的主要内容,如果未能解决你的问题,请参考以下文章

php无bom和有bom的文件编码有啥区别

BOM管理体系

DOM和BOM

bom

BOM学习

U8 BOM数据结构