前端大杂烩
文章平均质量分 86
睡在我下铺的上铺的胖子
能放前端的就放前端啊
展开
-
原生Ajax那些事儿
不得不说的一点是,我们如果要定期的获取服务器端的数据,那么必须使用一个定时器,每隔一定时间发送一个请求过去。这是ajax的弊端就显露出来了。每次发送请求- ->接受数据- - >再次发送请求...如此循环,每个请求都带有相同的头部信息,可能数据相对头部信息来说微不足道,但正是这些数据是我们所需要的。服务器端不停地响应请求,这就造成了资源浪费。所以出现了轮询技术(并未从根本上解决问题),和H5中的webSocket(以原创 2016-09-23 10:35:01 · 6542 阅读 · 0 评论 -
看完必会的JSONP
1、JSONP是为了解决跨域问题产生的,为了弥补AJAX的不足。AJAX请求跨域资源,Chrome下会报错: 2、但是对于img、ifame、script等,我们发现,在它们的src中引用其他域的资源的时候,是可以加载的(对于iframe,如果跨域,虽然可以加载,但是无法进行DOM操作,postMessage可以解决)。3,JSONP正式基于上述的技术4,上述的函数就是我们常说的callback原创 2016-10-02 20:10:11 · 1418 阅读 · 0 评论 -
结合豆瓣搜索结果进行分页(完整)
使用豆瓣api,得到分页结果。相当于从后台数据库获得的结果一样。所不同的是,没法事先知道页数。虽然通过请求api可以获得总页数,但由于ajax是异步的,所以对于分页一开始就要给出总页数来说,这是没有意义的。我使用了一个固定总页数65(正是搜索javascript书籍返回的总页数)。所以其他书籍是并不是65页,会出现多页或者少页的情况,这并不是bug。特点 1,全程不需要接触后台,前端独立就可以(我原创 2016-10-04 15:01:41 · 2430 阅读 · 0 评论 -
主流浏览器内核介绍(前端开发值得了解的浏览器内核历史)
内核首先得搞懂浏览器内核究竟指的是什么。浏览器内核又可以分成两部分:渲染引擎(layout engineer 或者 Rendering Engine)和 JS 引擎。它负责取得网页的内容(HTML、XML、图像等等)、整理讯息(例如加入 CSS 等),以及计算网页的显示方式,然后会输出至显示器或打印机。浏览器的内核的不同对于网页的语法解释会有不同,所以渲染的效果也不相同。转载 2017-02-09 14:31:46 · 2579 阅读 · 0 评论 -
XSS跨站总结
简介:跨网站脚本(Cross-site scripting,通常简称为XSS或跨站脚本或跨站脚本攻击)是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这类攻击通常包含了HTML以及用户端脚本语言。XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些转载 2017-02-12 18:10:13 · 1191 阅读 · 0 评论 -
websocket心跳的实现(包括全部代码)
本文主要讲的是如果设计websocket心跳已经需要考虑哪些问题。前言在使用websocket的过程中,有时候会遇到客户端网络关闭的情况,而这时候在服务端并没有触发onclose事件。这样会:多余的连接服务端会继续给客户端发数据,这些数据会丢失所以就需要一种机制来检测客户端和服务端是否处于正常连接的状态。这就是websocket心跳,这个名字非常生动形象,还有心跳说明还活着(保持正常连接),没原创 2017-08-12 16:35:48 · 40949 阅读 · 12 评论 -
selenium初探
这一周导师让我研究selenium。selenium支持很多语言,而我使用的是js来测试。需要安装selenium-webdriver: ^3.5.。基础篇我参考了很多文章,这里列下其中一下:http://jeremy-xu.oschina.io/2016/05/22/web%E7%95%8C%E9%9D%A2%E6%B5%8B%E8%AF%95%E5%AE%9E%E8%B7%B5%E4%B9%8原创 2017-08-20 18:40:50 · 1040 阅读 · 1 评论 -
前端性能优化的14条法则
文章是高性能网站建设指南(Steve Souders)的总结。性能黄金法则: 只有10%~20%的最终用户响应时间花在了下载HTML文档上。其余的80%~90%时间花在了下载页面中的所有组件上。原创 2017-02-09 10:50:21 · 2490 阅读 · 0 评论 -
大文件断点续传
win10 node: v8.2.1 npm: v5.3.0 multer: v1.3.0使用1.由于对multer v1.3.0做了修改,所以不可以通过npm install multer这种形式,需要使用到修改过multer包去覆盖原来的。 2.对于文件上传的接口,比如/upload,需要携带参数targetFileName和start。 targetFileName: 服务端生成目标文件的原创 2017-11-18 11:56:02 · 5830 阅读 · 1 评论