这里有新鲜出炉的 Javascript 教程,程序狗速度看过来!
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
本篇文章主要介绍了 javascript 的知识点。具有一定的参考价值,下面跟着小编一起来看下吧
1.CORS
CORS(Corss-Origin Resource Sharing, 跨资源共享),基本思想是使用自定义的 HTTP 头部让浏览器与服务器进行沟通,从而决定请求或响应的成功或失败。即给请求附加一个额外的 Origin 头部,其中包含请求页面的源信息(协议、域名和端口),以便服务器根据这个头部决定是否给予响应。
2.document.domain
将页面的 document.domain 设置为相同的值,页面间可以互相访问对方的 JavaScript 对象。
注意:
不能将值设置为 URL 中不包含的域;
松散的域名不能再设置为紧绷的域名。
3. 图像 Ping
- var img=new Image();
- img.onload=img.onerror=function(){
- ... ...
- }
- img.src="url?name=value";
请求数据通过查询字符串的形式发送,响应可以是任意内容,通常是像素图或 204 响应。
图像 Ping 最常用于跟踪用户点击页面或动态广告曝光次数。
缺点:
只能发送 GET 请求;
无法访问服务器的响应文本,只能用于浏览器与服务器间的单向通信。
4.Jsonp
- var script=document.createElement("script");
- script.src="url?callback=handleResponse";
- document.body.insertBefore(script,document.body.firstChild);
JSONP 由两部分组成:回调函数和数据
回调函数是接收到响应时应该在页面中调用的函数,其名字一般在请求中指定。
数据是传入回调函数中的 JSON 数据。
优点:
能够直接访问响应文本,可用于浏览器与服务器间的双向通信。
缺点:
JSONP 从其他域中加载代码执行,其他域可能不安全;
难以确定 JSONP 请求是否失败。
5.Comet
Comet 可实现服务器向浏览器推送数据。
Comet 是实现方式:长轮询和流
短轮询即浏览器定时向服务器发送请求,看有没有数据更新。
长轮询即浏览器向服务器发送一个请求,然后服务器一直保持连接打开,直到有数据可发送。发送完数据后,浏览器关闭连接,随即又向服务器发起一个新请求。其优点是所有浏览器都支持,使用 XHR 对象和 setTimeout() 即可实现。
流即浏览器向服务器发送一个请求,而服务器保持连接打开,然后周期性地向浏览器发送数据,页面的整个生命周期内只使用一个 HTTP 连接。
6.webSocket
WebSocket 可在一个单独的持久连接上提供全双工、双向通信。
WebSocket 使用自定义协议,未加密的连接时 ws://;加密的链接是 wss://。
- var webSocket=new WebSocket("ws://");
- webSocket.send(message);
- webSocket.onmessage=function(event){
- var data=event.data;
- ... ....
- }
注意:
必须给 WebSocket 构造函数传入绝对 URL;
WebSocket 可以打开任何站点的连接,是否会与某个域中的页面通信,完全取决于服务器;
WebSocket 只能发送纯文本数据,对于复杂的数据结构,在发送之前必须进行序列化 JSON.stringify(message))。
优点:
在客户端和服务器之间发送非常少的数据,减少字节开销。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持 phperz!
来源: http://www.phperz.com/article/17/0603/328263.html