JS常用知识点整理


Posted in Javascript onJanuary 21, 2017

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))。

优点:

在客户端和服务器之间发送非常少的数据,减少字节开销。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
javascript flash下fromCharCode和charCodeAt方法使用说明
Jan 12 Javascript
JSON 数字排序多字段排序介绍
Sep 18 Javascript
ext前台接收action传过来的json数据示例
Jun 17 Javascript
基于Bootstrap的后台管理面板 Bootstrap Metro Dashboard
Jun 17 Javascript
jquery根据一个值来选中select下的option实例代码
Aug 29 Javascript
JavaScript中的this陷阱的最全收集并整理(没有之一)
Feb 21 Javascript
js实现显示手机号码效果
Mar 09 Javascript
如何解决vue与传统jquery插件冲突
Mar 20 Javascript
node.js到底要不要加分号浅析
Jul 11 Javascript
Vue 实现前进刷新后退不刷新的效果
Jun 14 Javascript
JS实现水平遍历和嵌套递归操作示例
Aug 15 Javascript
Vue 构造选项 - 进阶使用说明
Aug 14 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(一)
Jan 21 #Javascript
原生js实现可拖动的登录框效果
Jan 21 #Javascript
微信小程序 WebSocket详解及应用
Jan 21 #Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(二)
Jan 21 #Javascript
遍历json获得数据的几种方法小结
Jan 21 #Javascript
新闻上下滚动jquery 超简洁(必看篇)
Jan 21 #Javascript
vue2.0父子组件及非父子组件之间的通信方法
Jan 21 #Javascript
You might like
使用XDebug调试及单元测试覆盖率分析
2011/01/27 PHP
php中利用explode函数分割字符串到数组
2014/02/08 PHP
php递归遍历多维数组的方法
2015/04/18 PHP
JQERY limittext 插件0.2版(长内容限制显示)
2010/08/27 Javascript
Ext JS添加子组件的误区探讨
2013/06/28 Javascript
jquery ajax跨域解决方法(json方式)
2014/02/04 Javascript
js弹出确认是否删除对话框
2014/03/27 Javascript
JavaScript数据结构和算法之图和图算法
2015/02/11 Javascript
JavaScript将当前时间转换成UTC标准时间的方法
2015/04/06 Javascript
jQuery实现信息提示框(带有圆角框与动画)效果
2015/08/07 Javascript
jquery实现清新实用的网页菜单效果
2015/08/28 Javascript
Bootstrap每天必学之栅格系统(布局)
2015/11/25 Javascript
JavaScript数据结构之二叉树的计数算法示例
2017/04/13 Javascript
Angularjs自定义指令Directive详解
2017/05/27 Javascript
Angular2里获取(input file)上传文件的内容的方法
2017/09/05 Javascript
Angular4绑定html内容出现警告的处理方法
2017/11/03 Javascript
vue-cli项目中使用公用的提示弹层tips或加载loading组件实例详解
2018/05/28 Javascript
vue中实现左右联动的效果
2018/06/22 Javascript
JS实现的Object数组去重功能示例【数组成员为Object对象】
2019/02/01 Javascript
详解Webpack如何引入CDN链接来优化编译后的体积
2019/06/21 Javascript
vue使用微信JS-SDK实现分享功能
2019/08/23 Javascript
vue 自定义右键样式的实例代码
2019/11/06 Javascript
jQuery 函数实例分析【函数声明、函数表达式、匿名函数等】
2020/05/19 jQuery
初步理解Python进程的信号通讯
2015/04/09 Python
在Python中测试访问同一数据的竞争条件的方法
2015/04/23 Python
自动化Nginx服务器的反向代理的配置方法
2015/06/28 Python
简单谈谈python中的Queue与多进程
2016/08/25 Python
Python3正则匹配re.split,re.finditer及re.findall函数用法详解
2018/06/11 Python
Python+OpenCV 实现图片无损旋转90°且无黑边
2019/12/12 Python
在服务器上安装python3.8.2环境的教程详解
2020/04/26 Python
详解pytorch中squeeze()和unsqueeze()函数介绍
2020/09/03 Python
挪威太阳镜和眼镜网上商城:SmartBuyGlasses挪威
2016/08/20 全球购物
Vans(范斯)德国官网:美国南加州的原创极限运动潮牌
2017/05/02 全球购物
美国正宗奢华复古手袋、珠宝及配饰网站:What Goes Around Comes Around
2018/07/21 全球购物
go 实现简易端口扫描的示例
2021/05/22 Golang
详解使用 CSS prefers-* 规范提升网站的可访问性与健壮性
2021/05/25 HTML / CSS