html/http/浏览器(二)
1. WebSocket
WebSocket是HTML5开始提供的一个在单个TCP连接上进行全双工通讯的协议,允许服务端主动向客户端推送数据,浏览器和服务器只需要完成一次握手就可以建立持久连接,并进行双向传输数据。浏览器通过JavaScript向服务器发出建立WebScoket连接的请求,连接建立后客户端和服务器可以通过TCP连接直接交换数据,当你获取WebScoket连接节后,你可以通过send()的方法向服务器发送数据,并通过onmesssage事件来接收服务器返回的数据。创建webScoket对象:var Scoket=new WebScoket(url,[protocol]) 第二个参数 protocol 是可选的,指定了可接受的子协议.
2. 说一下Web Quality(无障碍)
能够被残障人士使用的网站才是一个易用的网站。使用alt属性不仅在图片不能正常显示的情况下可以显示有关图像的描述,对于残障人士而言语音浏览器能够读出这些描述,从而方便他们理解
3.几个很实用BOM的属性对象方法
Bom是浏览器对象
(1) location对象:
location.href---返回或设当前文档的url
location.search---返回url中的查询字符串部分
location.harsh---返回url#后面的内容,若没有#返回空
location.host-----返回url中的域名部分
location.path----返回url域名后的部分
location.reload()----重载当前页面
(2) history对象
history.go()---前进或者后退指定页面数,数值为正前进,为负后退
history.back()---后退一页
history.forward()---前进一页
(3) Navigator对象
Navigator.userAgent---返回用户代理头的字符串表示(包括浏览器版本信息等的字符串)
Navigator.cookieEnabled—返回浏览器是否支持cookie
4.说一下html5的drag api
dagstart:事件主体是被拖拽元素,刚开始被拖拽时触发
dag:被拖拽元素拖拽时触发
dagend:被拖拽元素拖拽操作结束时触发
dragenter:主体是目标元素,在被拖拽元素进某元素时触发
dragover:主体是目标元素,被拖拽元素在某元素内移动时触发
drag leave:主体是目标元素,被拖拽元素移除目标元素时触发
drop:主体是目标元素,目标元素完全接受被拖拽元素时触发
5.featch发送两次请求的原因
featch发送post请求时中是要发送两次,第一次是204,第二次才成功,是因为用featch发送post请求时导致第一次发送了option请求,询问服务器是否支持修改请求头,服务器同意后第二次才发送正确的请求。