1.支持ES6标准的浏览器

IE10+

Chrome

Safari

Firefox

移动端浏览器统一都支持

需要注意的是,不同浏览器对各个特性的支持也不一样

2.window对象

当前浏览器窗口对象

innerWidth,innerHeight可用于网页显示的净宽高

outerWidth,outerHeight整个浏览器的宽高

console.log(window.innerWidth)
console.log(window.innerHeight)
console.log(window.outerWidth)
console.log(window.outerHeight)

3.navigator对象

当前浏览器信息

appName:浏览器名称

appVersion:浏览器版本

language:浏览器设置的语言

platform:操作系统类型

userAgent:浏览器设置的User-Agent字符串

console.log(navigator.appName)
console.log(navigator.appVersion)
console.log(navigator.language)
console.log(navigator.platform)
console.log(navigator.userAgent)

不同浏览器获取Dom对象的方法可能不同,在做浏览器兼容时,有时会用navigator对象来判断浏览器类型,调用对应的方法,

但是navigator对象很容易被篡改,因此,正确的方法是使用或运算符||

var width = window.innerWidth || document.body.clientWidth

4.screen对象

当前屏幕的信息

width:屏幕宽度

height:高度

5.location对象

当前页面的URL信息

// 协议 http
console.log(location.protocol)
// 域名 localhost:63342
console.log(location.host)
// 端口 63342
console.log(location.port)
// 文件路径 /jqeryMasonry/test.html
console.log(location.pathname)
// 参数 ?_ijt=pk3b0f1bluvaub40g8sp28rdc6
console.log(location.search)

6.document对象

当前页面对象

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<ul id="language-list">
<li>C</li>
<li>Python</li>
<li>JavaScript</li>
</ul>
<script type="text/javascript">
document.title = "语言列表"
var language_list = document.getElementsByTagName('li')
for(var i=0;i<language_list.length;i++){
console.log(language_list[i].innerHTML)
}
</script>
</body>
</html>

document.cookie获取客户端浏览器存放的对应该域名的的cookie

cookie是由服务端写到客户端的(key-value),对于一些重要的信息,因为XSS(跨站脚本攻击)的原因,需要禁止javascript访问该cookie,写入的时候应该加入限制httpOnly。

javascript基础拾遗(十)的更多相关文章

  1. javascript基础拾遗(十二)

    1.javascript的单线程特性 在javascript中,所有的代码都是单线程的 因此所有的网络操作,浏览器事件,都必须是异步执行的,异步执行的逻辑是回调. function callback( ...

  2. JavaScript 基础第十天

    学习总结 1定时器 ①.setTimeout() // 间隔多长时间执行一次(会返回一个数字型的标识) ②.setInterval() // 间隔多长时间执行,是不断地执行. ③.clearTimeo ...

  3. 回归JavaScript基础(十)

    主题:创建对象 原型模式 JavaScript中的每个对象都有一个prototype属性(原型属性),这个属性是一个指针,指向一个对象,而这个对象可以由一些属性和方法组成.被指向的对象,可以是多个对象 ...

  4. javascript基础拾遗(十三)

    1.jQuery的特点 jQuery是目前非常流行的javascript库,理念是"Write Less,Do More" 1)消除浏览器差异 2)简洁的操作DOM方法 3)轻松实 ...

  5. javascript基础拾遗(十一)

    1.DOM操作 1)查找 //根据id查找 document.getElementById() //根据html标签查找 documnet.getElementByTagName() //根据样式cl ...

  6. javascript基础拾遗(七)

    1.对象的继承__proto__ var Language = { name: 'program', score: 8.0, popular: function () { return this.sc ...

  7. javascript基础拾遗(六)

    1.Date内置对象 获取系统时间 var now = new Date() console.log(now) console.log(now.getDate()) console.log(now.g ...

  8. javascript基础拾遗(五)

    1.什么是箭头函数 ES6引入的一种新的函数,类似匿名函数,x=>xx 箭头左端为函数参数,右端为函数体 相当于 function (x){ retutn xx } 2.箭头函数的特点 更简洁 ...

  9. javascript基础拾遗(二)

    1.对象定义 定义属性 var language = { name:'javascript', score:9.0 }; console.log(language.name) console.log( ...

随机推荐

  1. ios中asihttprequest 下载缓存

    asi中下载缓存第一种方法 #import <UIKit/UIKit.h> #import "ASIHTTPRequest.h" #import "ASIDo ...

  2. 接口测试-Http状态码-postman上传文件

    转自:https://www.cnblogs.com/jiadan/articles/8546015.html 一. 接口   接口:什么是接口呢?接口一般来说有两种,一种是程序内部的接口,一种是系统 ...

  3. WinPE无法识别NVMe SSD硬盘,如何重装系统

    (源自网络出处不详) 抽风,diy一台新机器,下载的win10系统安装时出现如题所示的问题,开始以为是主板的问题设置u盘启动也不行,后来在某个群里有人说是系统版本问题,无奈重新做了启动优盘(用的17年 ...

  4. 关于Linux防火墙'iptables'的面试问答

    1. 你听说过Linux下面的iptables和Firewalld么?知不知道它们是什么,是用来干什么的? 答案 : iptables和Firewalld我都知道,并且我已经使用iptables好一段 ...

  5. Linux提示“libc.so.6: version `GLIBC_2.14' not found”系统的glibc版本太低

    http://www.linuxidc.com/Linux/2017-01/139806.htm http://www.linuxidc.com/Linux/2015-04/116472.htm

  6. 代码管理(一)git

    代码管理工具有很多 主要的有两个 git  和  svn svn  衍生出来的软件有   cornerstone   smartSVN git  的图形界面工具有  Sourcetree 前几年  s ...

  7. Hadoop学习:Map/Reduce初探与小Demo实现

    原文地址:https://blog.csdn.net/liyong199012/article/details/25423221 一.    概念知识介绍 Hadoop MapReduce是一个用于处 ...

  8. MVC+Spring.NET+NHibernate .NET SSH框架整合 C# 委托异步 和 async /await 两种实现的异步 如何消除点击按钮时周围出现的白线? Linq中 AsQueryable(), AsEnumerable()和ToList()的区别和用法

    MVC+Spring.NET+NHibernate .NET SSH框架整合   在JAVA中,SSH框架可谓是无人不晓,就和.NET中的MVC框架一样普及.作为一个初学者,可以感受到.NET出了MV ...

  9. 【转】完全用Linux工作

    我已经半年没有使用 Windows 的方式工作了.Linux 高效的完成了我所有的工作. NU/Linux 不是每个人都想用的.如果你只需要处理一般的事务,打游戏,那么你不需要了解下面这些了. 我不是 ...

  10. python 视频 图像帧提取

    import cv2 vidcap = cv2.VideoCapture('005.avi') success,image = vidcap.read() count = 0 success = Tr ...