浏览器对象
window
window对象不但充当全局作用域,而且表示浏览器窗口
window对象有innerWidth和innerHeight属性,可以获取浏览器窗口的内部宽度和高度。内部宽高是指除去菜单栏、工具栏、边框等占位元素 后,用于显示网页的净宽高
navigator
navigator对象表示浏览器的信息,最常用的属性包括:
navigator.appName:浏览器名称;
navigator.appVersion:浏览器版本;
navigator.language:浏览器设置的语言;
navigator.platform:操作系统类型;
navigator.userAgent:浏览器设定的User-Agent字符串。
screen
screen对象表示屏幕的信息,常用的属性有:
screen.width:屏幕宽度,以像素为单位;
screen.height:屏幕高度,以像素为单位;
screen.colorDepth:返回颜色位数,如8/16/24
location
location对象表示当前页面的URL信息
可以用location.href获取一个完整的URL。要获得各个部分的值,可以这么写:
http://www.example.com:8080/path/index.html?a=1&b=2#TOP location.protocol; //'http' location.host; //'www.example.com' location.port; //'8080' location.pathname; //'/path/index.html' location.search; //'?a=1&b=2' location.hash; //'TOP'
document
document对象表示当前页面。由于HTML在浏览器中以DOM形式表示为树形结构,document对象就是整个DOM树的根节点。
document的title树形是从HTML文档中的<title>xxxx</title>读取的,但是可以动态改变。
document.title='努力学习';
document对象还有一个cookie属性,可以获取当前页面的cookie。
cookie是由服务器发送的key-value标示符。因为HTTP协议是无状态的,但是服务器要区分到底是哪个用户发过来的请求,就可以用Cookie来 区分。当一个用户成功登陆后,服务器发送一个cookie给浏览器,例如user=ABC123XYZ(加密的字符串)...,伺候,浏览器访问该网站时,会 在请求头附上这个cookie,服务器根据cookie即可区分出用户。
JavaScript可以通过document.cookie读取到当前页面的Cookie:
document.cookie; // 'v=123; remember=true; prefer=zh'
由于JavaScript能读取到页面的cookie,而用户的登录信息通常也存在cookie中,这就造成巨大的安全隐患,这是因为在HTML页面中引入第 三方的JavaScript代码是允许的。如果引入的第三方的JavaScript中存在恶意代码,则可以直接获取网站的用户登录信息。为了解决这个问 题,服务器在设置cookie时可以使用httpOnly,设定了httpOnly的cookie将不能被JavaScript读取为了确保安全,服务器端在设置cookie时,应 该始终坚持使用httpOnly