JavaScript(五)浏览器操作
-
window
-
window
对象不但充当全局作用域,而且表示浏览器窗口。 -
window
对象有innerWidth
和innerHeight
属性,可以获取浏览器窗口的内部宽度和高度。outerWidth
和outerHeight
属性,可以获取浏览器窗口的整个宽高。
-
-
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.assign()
。 -
重新加载当前页面,调用
location.reload()
-
-
document
-
document
对象表示当前页面。由于HTML在浏览器中以DOM形式表示为树形结构,document
对象就是整个DOM树的根节点 -
document
对象还有一个cookie
属性,可以获取当前页面的Cookie。
-
由于JavaScript能读取到页面的Cookie,而用户的登录信息通常也存在Cookie中,这就造成了巨大的安全隐患,这是因为在HTML页面中引入第三方的JavaScript代码是允许的。 为了解决这个问题,服务器在设置Cookie时可以使用httpOnly,设定了httpOnly的Cookie将不能被JavaScript读取。这个行为由浏览器实现,主流浏览器均支持httpOnly选项,IE从IE6 SP1开始支持。 为了确保安全,服务器端在设置Cookie时,应该始终坚持使用httpOnly。
DOM对象
DOM由不同类型的节点node组成,共有七种:
-
Document:整个DOM的顶层节点
-
DocumentType:doctype标签
-
Element:网页的html标签
-
Attribute:html标签的属性
-
Text:标签之间的文本
-
Comment:注释
-
DocumentFragment:文档的片段
根据Node.nodeType获取节点的类型
DOM操作元素
1、DOM获取节点(元素)的方法类似selenium
2、创建元素:createElement()、createTextNode()、createAttribute()
3、操作属性:
-
id、className、classList
-
innerHTML(标签间的文本,可识别HTML标签)
-
innerText(标签间的文本,纯文本不识别标签)
-
appendChild(把一个子节点添加到父节点的最后一个子节点)
-
insertBefore(把子节点插入到指定的位置)
-
removeChild(父节点删除某个子节点)
4、获取元素位置:
-
clientWidth、clientHeight:获取元素宽高,包括padding(即为有效可视区),不包括border、margin
-
scrollWidth、scrollHeight:元素总宽高,包括padding(即为有效可视区),不包括border、margin
-
scrollLeft、scrollTop:元素水平向右、垂直向下滚动的高度
-
offsetWidth、offsetHeight:元素水平、垂直高度,包括元素本身、padding和border
-
offsetLeft、offsetTop:距父级元素左边界、上边界的间距
CSS操作
-
-
元素节点的style对象:通过dom获取元素的style对象
var div1=document.getElementById("div1");
div1.style.width="200px";
div1.style.height="200px";
div1.style.backgroundColor="red"; -
AJAX
AJAX:Asynchronous JavaScript and XML,意思就是用JavaScript执行异步网络请求
AJAX请求是异步执行的,也就是说,要通过回调函数获得响应
在现代浏览器上写AJAX主要依靠XMLHttpRequest
对象
CORS
CORS全称Cross-Origin Resource Sharing,是HTML5规范定义的如何跨域访问资源。
Origin表示本域,也就是浏览器当前页面的域。当JavaScript向外域(如sina.com)发起请求后,浏览器收到响应后,首先检查响应中的Access-Control-Allow-Origin
是否包含本域或是*
,如果是,则此次跨域请求成功,如果不是,则请求失败,JavaScript将无法获取到响应的任何数据。
要跨域正确处理POST
和PUT
请求,服务器端必须正确响应OPTIONS