JavaScript | window浏览器对象模型
Js Window - 获取浏览器窗口
- 全局变量是window对象的属性
- 全局函数是window对象的方法
- HTML DOM的document是window对象属性之一
window.document.getElementById("header"); === document.getElementById("header");
|
window.innerHeight window.innerWidth |
获取浏览器尺寸 IE/Chrome/Firefox/Opera/Safari |
|
document.documentElement.clientHeight document.documentElement.clientWidth |
获取浏览器尺寸 IE8/7/6/5 |
|
document.body.clientHeight document.body.clientWidth |
获取浏览器尺寸 其他 |
|
window.open() |
打开新窗口 |
|
window.close() |
关闭当前窗口 |
|
window.moveTo() |
移动当前窗口 |
|
window.resizeTo() |
调整当前窗口的尺寸 |
获取window尺寸
var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
var heigh = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
console.log(width + "," + heigh);
————————————————————————————————————————————
Js Screen - 获取屏幕的信息
|
screen.availWidth |
获取屏幕宽度 |
|
screen.availHeight |
获取屏幕高度 |
————————————————————————————————————————————
Js Location - 获取页面当前位置
|
location.href |
返回当前链接 |
|
location.hostname |
返回 web 主机的域名 |
|
location.pathname |
返回当前页面的路径和文件名 |
|
location.port |
返回 web 主机的端口 (80 或 443) |
|
location.protocol |
返回所使用的 web 协议(http:// 或 https://) |
|
location.assign("http://www.xxx.cn") |
加载新的文档 |
————————————————————————————————————————————
Js History - 获取浏览器历史
|
history.forward(); |
前进 |
|
history.back(); |
后退 |
————————————————————————————————————————————
Js Navigator - 访问者浏览器的信息
p.s.来自 navigator 对象的信息具有误导性,不应该被用于检测浏览器版本,这是因为:navigator 数据可被浏览器使用者更改,浏览器无法报告晚于浏览器发布的新操作系统。
使用对象检测可用来嗅探不同的浏览器。由于不同的浏览器支持不同的对象,您可以使用对象来检测浏览器。例如,由于只有 Opera 支持属性 "window.opera",您可以据此识别出 Opera。
|
navigator.appCodeName |
浏览器内核 |
|
navigator.appName |
浏览器名称 |
|
navigator.appVersion |
内核版本 |
|
navigator.cookieEnabled |
Cookie是否开启 |
|
navigator.platform |
系统平台 |
|
navigator.userAgent |
浏览器代理 |
|
navigator.systemLanguage |
语言 |
————————————————————————————————————————————
Js PopupAlert - 消息框
|
alert("文本") |
警告框 |
|
confirm("文本") |
确认框 |
|
prompt("文本","默认值") |
提示框 |
提示框样例
var name = prompt("please input your name:", "hugh dong")
if (name != null && name != "") {
document.write("hello," + name);
}
————————————————————————————————————————————
Js Timing - 计时事件
|
setTimeout() |
未来的某时执行代码 |
|
clearTimeout() |
取消setTimeout() |
时钟样例
<!DOCTYPE html>
<html> <head>
<title></title>
<!-- <script type="text/javascript" src="test.js"></script> -->
</head> <body>
<div>
<p id="txt"></p>
<input type="button" value="stop" onclick="stop()">
</div>
<script type="text/javascript">
// 调用timeOut()5秒后弹出alert
function timeOut() {
var t1 = setTimeout("alert('5 second')", 5000);
}
// timeOut();
// *********************************************************************
// 秒表计时,控制台每秒输出秒数
var c = 0; function timedCount() {
console.log(c);
c = c + 1
t2 = setTimeout("timedCount()", 1000)
}
timedCount();
// *********************************************************************
// 简单时钟
function startTime() {
var today = new Date()
var h = today.getHours()
var m = today.getMinutes()
var s = today.getSeconds()
m = checkTime(m)
s = checkTime(s)
document.getElementById('txt').innerHTML = h + ":" + m + ":" + s;
t3 = setTimeout('startTime()', 500)
} function checkTime(i) {
if (i < 10) { i = "0" + i }
return i
}
startTime();
// *********************************************************************
// 停止时钟
function stop() {
clearTimeout(t3);
}
</script>
</body> </html>
————————————————————————————————————————————
Js Cookies
- 名字 cookie
- 密码 cookie
- 日期 cookie
Cookie创建样例
<!DOCTYPE html>
<html> <head>
<title></title>
<script type="text/javascript" src="test.js"></script>
</head> <body onload="checkCookie()">
</body> </html>
// 获取cookie
function getCookie(c_name) {
if (document.cookie.length > 0) {
// 检索cookie中的内容
c_start = document.cookie.indexOf(c_name + "=");
if (c_start != -1) {
c_start = c_start + c_name.length + 1;
c_end = document.cookie.indexOf(";", c_start);
if (c_end == -1)
c_end = document.cookie.length;
// 姓名子串解码
return unescape(document.cookie.substring(c_start, c_end));
}
}
return "";
} // 创建cookie,输入姓名,值,密码
function setCookie(c_name, value, expiredays) {
// 获取当前时间
var exdate = new Date();
// 根据当前时间的'天'+过期天数,建立新的天数(秒单位)
exdate.setDate(exdate.getDate() + expiredays);
// 创建cookie内容
document.cookie = c_name + "=" + escape(value) +
((expiredays == null) ? "" : ";expires=" + exdate.toGMTString());
} function checkCookie() {
username = getCookie('username'); // 获取cookie
// 如果cookie存在则弹窗欢迎
if (username != null && username != "") {
alert('Welcome again ' + username + '!');
}
// cookie不存在则创建cookie
else {
// 弹窗输入用户名
username = prompt('Please enter your name:', "");
// 如果用户名不为空则创建cookie
if (username != null && username != "") {
setCookie('username', username, 365);
}
}
}

JavaScript | window浏览器对象模型的更多相关文章
- JavaScript Window - 浏览器对象模型
浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器"对话". 浏览器对象模型 (BOM) 浏览器对象模型(Browser Object Model (BOM))尚 ...
- Window - 浏览器对象模型
浏览器对象模型 (BOM) 浏览器对象模型(Browser Object Model (BOM))尚无正式标准. 由于现代浏览器已经(几乎)实现了 JavaScript 交互性方面的相同方法和属性,因 ...
- JavaScript——BOM(浏览器对象模型),时间间隔和暂停
BOM(浏览器对象模型):能够对浏览器的窗体进行訪问和操作 1.主要的BOM体系: window------------document-------------------------------- ...
- [TimLinux] JavaScript BOM浏览器对象模型
1. 简介 ECMAScript是JavaScript的核心,但是如果要在WEB中使用JavaScript,那么BOM则无疑才是真的的核心.BOM提供了很多对象,用于访问浏览器的功能,这些功能与任何网 ...
- 吴裕雄--天生自然 JAVASCRIPT开发学习:Window - 浏览器对象模型
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- JavaScript浏览器对象模型(BOM)之window对象
一.BOM概述 BOM(Browser Object Model)浏览器对象模型,它提供了很多对象,用于访问浏览器的功能. BOM 缺少规范,每个浏览器提供商又按照自己想法去扩展它,那么浏览器共有对象 ...
- Javascript高级程序设计——BOM(浏览器对象模型)
BOM(浏览器对象模型),它提供了独立于内容而与浏览器窗口进行交互的对象.BOM由一系列相关的对象构成.一.window对象 window对象表示整个浏览器窗口,但不必表示其中包含的内容.W ...
- 第一百一十一节,JavaScript,BOM浏览器对象模型
JavaScript,BOM浏览器对象模型 学习要点: 1.window对象 2.location对象 3.history对象 BOM也叫浏览器对象模型,它提供了很多对象,用于访问浏览器的功能.BOM ...
- JavaScript学习总结(一)——ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
一.JavaScript简介 JavaScript是一种解释执行的脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型,它遵循ECMAScript标准.它的解释器被称为JavaScript引 ...
随机推荐
- MC资源整理
MC模拟简介 蒙特卡罗模拟,因摩纳哥著名的赌场而得名.它能够帮助人们从数学上表述物理.化学.工程.经济学以及环境动力学中一些非常复杂的相互作用. 蒙特卡罗(Monte Carlo)方法,又称随机抽样或 ...
- [2018湖南省队集训] 6.28 T2 color
毒瘤计数题2333,(小声)k其实可以出到1e9,不过这样求组合数的时候就要记1000种数的1~1000次下降幂(用到的组合数中第一维在1e9级别的只有1000种左右,第二维都是<=1000), ...
- 【拓扑排序】CDOJ1635 琵琶弦上说相思,当时明月在,曾照彩云归
对于两个相邻的字符串 Si和Si+1 ,如果它们的前k-1位都相同,第k位不相同,那么,在字典序中 Si,k一定在 Si+1,k前面 建立有向边从 Si,k到 Si+1,k,进行拓扑排序 为了保证字典 ...
- [JZOJ5426]摘Galo
题目大意: 有一棵n个结点的树,每个点都有一个权值,你要从中选出不超过k+1个点使得权值和尽量大. 同时要注意如果一个点被选择,那么它的子树和这个点到根结点路径上的点不能被选择. 思路: 很水的树形D ...
- 【伪随机数】【搜索】【RE】【bugku】mountainclimbing WriteUp
Mountain Climbing WP 拿到题首先熟练地查个壳再用各种脱壳工具脱个壳. 脱壳之后熟练地双击感受一下出题者的恶意: 根据字面意思得知,是要根据一系列的操作来得到收益最大值,于是用ida ...
- Ucenter添加新应用
最近手头上有个项目需要用到Ucenter跟Discuz和UcHome整合到一起,使用同步登录.注册,使用同一的用户数据. 以前没用过Ucenter,第一次接触,看过官网的教程感觉不难.于是开始动手,下 ...
- Sql实现行列转换
从MS Sql Server 2005微软就推出了pivot和unpivot实现行列转换,这极大的方便了我们存储数据和呈现数据.今天就对这两个关键字进行分析,结合实例讲解如何存储数据,如何呈现数据. ...
- 浅谈linux系统的分区问题
转载:http://mtoou.info/linux-fenqu/ 很多然在装linux系统时面临的最大难题就是分区问题了,由于linux分区结构和windows不同,很多人对linux分区感觉非常不 ...
- Mac DBeaver Client home is not specified for connection解决办法
问题: 一般出现这个问题是由于DBeaver 程序无法自动找到数据库的安装目录,在进行数据的导入导出时无法执行,这是因为执行指令需要数据库相关命令的支持. 解决办法: 我用的是mysql,这里拿mys ...
- UITabBarController 详解
// UITabBarController 标签视图控制 // 主要管理没有层级关系的视图控制器 // 1. ViewControllers 所有被管理的视图控制器, 都在这个数组中 // 2. se ...