JavaScript(五)浏览器操作

浏览器对象

  • window

    • window对象不但充当全局作用域,而且表示浏览器窗口。

    • window对象有innerWidthinnerHeight属性,可以获取浏览器窗口的内部宽度和高度。outerWidthouterHeight属性,可以获取浏览器窗口的整个宽高。

  • navigatornavigator对象表示浏览器的信息,最常用的属性包括:

    • navigator.appName:浏览器名称;

    • navigator.appVersion:浏览器版本;

    • navigator.language:浏览器设置的语言;

    • navigator.platform:操作系统类型;

    • navigator.userAgent:浏览器设定的User-Agent字符串。

  • screenscreen对象表示屏幕的信息,常用的属性有:

    • 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操作

  • 直接操作HTML元素的style属性

  • 元素节点的style对象:通过dom获取元素的style对象

    var div1=document.getElementById("div1");
    div1.style.width="200px";
    div1.style.height="200px";
    div1.style.backgroundColor="red";
  • 元素节点的style对象的cssText属性

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将无法获取到响应的任何数据。

要跨域正确处理POSTPUT请求,服务器端必须正确响应OPTIONS请求。

posted @ 2023-07-05 19:17  huiyii  阅读(38)  评论(0编辑  收藏  举报