BOM的对象总结(location,screen,navigator,history)
location对象
专门保存当前窗口正在打开的url的对象。
常用的属性有:
location.href 保存了完整的url;这种方式做常用
在当前窗口打开: location.href=新url
location.protocol: 协议
.host: 主机名+端口号
.hostname: 主机名
.port: 端口号
location.pathname: 相对路径
.hash: 锚点地址#xxx
.search: 表单提交后地址栏中的查询字符串
?变量名=值&变量名=值&...

方法:
1. 在当前页面打开,可后退:
location.assign("新url")=> location.href="新url" => location="新url"
2. 替换history中当前url,实现禁止后退: location.replace("新url"),replace接受一个参数


如果将这个页面加载到浏览器中,浏览器会在2s后重新定向到百度首页。然后,‘后退’按钮将处于禁用状态,如果不输入万致的URL,那么无法返回示例页面;
2. 在当前页面打开,可后退:
location.assign("新url")
=> location.href="新url"
=> location="新url"
3. 刷新页面: location.reload(false/true);
小知识点: false/true的差别
浏览器本地是有缓存的,浏览器的缓存中会保存css,图片等静态资源。每次请求时,首先查看缓存中是否有想要文件,没有想要文件,或文件过期,才去服务器下载新文件
reload(false) :优先使用本地缓存的文件。
reload(true) :强制去服务器下载新文件。
screen对象
这个对象用的不多,但设备保存了屏幕的width/height;

navigator对象
它是封装浏览器的配置信息的对象,有几个常用的属性。
cookieEnabled---判断浏览器是否启用cookie,cookie是客户端本地持久保存用户私密信息的小文件。
小例子:提示cookie
plugins封装所有插件信息的集合
如何判断是否安装了插件:navigator.plugins[“插件名”]!==undefined这里注意
例子:
<script>
function dd(name ){
if(navigator.plugins[name]){
document.write('已经安装'+name+'插件<br>')
}else{
document.write('未安装'+ name+'插件,<a href = "#" class="aaa">点此下载</a><br/>')
}
}
dd("Shockwave Flash");
dd("Native Client");
</script>
userAgent
包含浏览器名称,版本号,内核的字符串
//鉴别当前浏览器的名称和版本号
var browser;
var ua = navigator.userAgent;
if(ua.indexOf('MSIE')!=-1)browser = 'MSIE';
else if(ua.indexOf('Firefox')!=-1) browser ='Firefox';
else if(ua.indexOf('OPR')!=-1) browser = 'OPR';
else if(ua.indexOf('Chrome')!=-1) browser = 'Chrome';
else if(ua.indexOf('Safari')!=-1) browser ='Safari';
document.write(browser+ '<br>')
var version,
i=ua.indexOf(browser)+browser.length+1;
version =parseFloat(ua.substr(i,3));
document.write(version);
history对象
保存当前窗口打开后,成功访问过的历史记录的栈,history封装的非常严密。
只能前进,后退,刷新:使用的方法为 history.go(n):
前进: go(1) 后退:go(-1) 刷新:go(0)
BOM的对象总结(location,screen,navigator,history)的更多相关文章
- JavaScript之BOM五大对象(window;location;navigator;screen;history)
一.window 1.浏览器窗口与页面各部分尺寸 2.间歇调用与超时调用 setInterval(function,time(以毫秒计)) 返回:时间Id号(为clearInterval(timeId ...
- DOM_05之DOM、BOM常用对象
1.HTML DOM常用对象之Table:①创建:createTHead():createTBody():createTFoot():②删除:deleteTHead():deleteTFoot():③ ...
- BOM 对象--location、navigator、screen、history
1.location 对象 location提供了与当前窗口中加载的文档有关的信息,还有一些导航功能.需要注意的是,window.location 和 document.location 引用的是同一 ...
- Javascript进阶篇——浏览器对象—Location、Navigator、userAgent、screen对象
Location对象location用于获取或设置窗体的URL,并且可以用于解析URL.语法: location.[属性|方法] location对象属性图示: location 对象属性: loca ...
- JavaScript -- 时光流逝(十):Screen 对象、History 对象、Location 对象
JavaScript -- 知识点回顾篇(十):Screen 对象.History 对象.Location 对象 1. Screen 对象 1.1 Screen 对象的属性 (1) availHeig ...
- 使用 history 对象和 location 对象中的属性和方法制作一个简易的网页浏览工具
查看本章节 查看作业目录 需求说明: 使用 history 对象和 location 对象中的属性和方法制作一个简易的网页浏览工具 实现思路: 使用history对象中的 forward() 方法和 ...
- javascript之BOM对象(二location对象)
一.location对象提供和当前加载的文档相关的信息还有一些导航功能.location对象是window对象的属性,同时也是document对象的属性.window.location和documen ...
- HTML BOM Browser对象
BOM:Browser Object Model,即浏览器对象模型,提供了独立于内容的.可以与浏览器窗口进行互动的对象结构. Browser对象:指BOM提供的多个对象,包括:Window.Navig ...
- JS BOM DOM对象 select联动 计时器 时间 css操作 节点(标签 ) 查找标签 {前端基础之BOM和DOM}
前端基础之BOM和DOM 前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我 ...
- BOM主要对象属性方法总结
BOM window对象 浏览器实例,全局对象 1.窗口位置: screenTop,screenLeft(screenX,screenY):窗口相对于屏幕左边和上边的位置 moveTo(x,y):将窗 ...
随机推荐
- vue.js组件的个人总结
vue.js的组件使用过程分为三个步骤:1.创建组件构造器: 2.注册组件: 3.使用组件 组件同时也分为全局组件与局部组件 1.全局组件 2.局部组件 注意:由于 HTML 标签不区分大小写,所以在 ...
- C语言中结构体的深拷贝和浅拷贝
C++ 的浅拷贝和深拷贝(结构体) 拷贝有两种:深拷贝,浅拷贝 浅拷贝:拷贝过程中是按字节复制的,对于指针型成员变量只复制指针本身,而不复制指针所指向的目标 (1)结构体中不存在指针成员变量时 typ ...
- xshell上传文件到linux
z,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具. 优点就是不用再开一个sftp工具登录上去上传下载文件. sz:将选定的文件发送(send)到本地机器 rz:运行该 ...
- LUGOU P3374 【模板】树状数组 1(CDQ 分治)
传送门 拿个二维偏序练练cdq板子,其实就和归并排序差不多,复杂度不太会,似乎nlogn?. #include<iostream> #include<cstdio> #incl ...
- Hibernate命名策略
hibernate的命名策略,可以减少对数据库标识符命名的维护,进一步减少这部份命名的重复性代码量,以提高维护. hibernate的命名方式,有两类,一类是显式命名,一类是隐式命名. 显式命名:在映 ...
- Python之通配符--提取文件中的内容并输出
前言:我的学习进度其实没有那么快的,因为现在是网络工程师实习,只有晚上一点时间和周末有空,所以周一到周天的学习进度很慢,今天之所以突然跳到通配符是因为工作需要,大体讲一下我的工作需求:网络工程师就是写 ...
- [转]SQLserver字符串分割函数
一.按指定符号分割字符串,返回分割后的元素个数,方法很简单,就是看字符串中存在多少个分隔符号,然后再加一,就是要求的结果. CREATE function Get_StrArrayLength ( ) ...
- IDEA Maven打包时去掉test
- Hadoop 集群网络拓扑
- Leetcode116. Populating Next Right Pointers in Each Node填充同一层的兄弟节点
给定一个二叉树 struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *next; } 填充它的每个 ...