ECMAScript 2017(ES8)已经发布,很多习惯语法却停留在ES6之前。路在前方。
ES8相关
http://www.php.cn/js-tutorial-374051.html
https://segmentfault.com/a/1190000010213513
http://www.jianshu.com/p/a138a525c287
ES6箭头函数
这里仅仅列出一些例子,详细阐述在下边的链接文章中。
继续阅读
ECMAScript 2017(ES8)已经发布,很多习惯语法却停留在ES6之前。路在前方。
http://www.php.cn/js-tutorial-374051.html
https://segmentfault.com/a/1190000010213513
http://www.jianshu.com/p/a138a525c287
这里仅仅列出一些例子,详细阐述在下边的链接文章中。
继续阅读
在js中使用 $(window).load(function(){ ...}) 时,会报下边的错误:
Uncaught TypeError: a.indexOf is not a function
at r.fn.init.r.fn.load (jquery.min.js:4)
stackoverflow 中有人提到说是 jquery 的版本原因,并给出了方法。
https://stackoverflow.com/questions/38871753/uncaught-typeerror-a-indexof-is-not-a-function-error-when-opening-new-foundat
继续阅读
网站加入加载进度条,是件很酷的事情。NProgress.js 就是一个不错的插件。
官网地址:http://ricostacruz.com/nprogress/
CDN: http://www.bootcdn.cn/nprogress/
NProgress 依赖于 jquery1.8 以上的版本。所以,在使用之前,先引入jquery。NProgress有自己的样式文件,也要引入进来。所以,在使用之前,要引入对应的css, js。如:
<link href="//cdn.bootcss.com/nprogress/0.2.0/nprogress.min.css" rel="stylesheet">
<script src="//cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script src="//cdn.bootcss.com/nprogress/0.2.0/nprogress.min.js"></script>
当INPUT[type=file]控件上已经选择过一次文件之后,再次点击它选择同一个文件时change事件就不会触发。因为第二次选择后里面的文字和第一次是一样的,没有改变。还有个更蛋疼情况是有些浏览器会自动记住控件上的文字,即使页面关闭后重新打开还是会恢复到原来的文字。这时候选择同路径的文件也不会触发change事件。
继续阅读
回调通知是指客户端在上传时指定服务端在处理完上传请求后,应该通知某个特定服务器,在该服务器确认接收了该回调后才将所有结果返回给客户端。
因为加入了回调请求和响应的过程,相比简单上传,使用回调通知机制一般会导致客户端花费更多的等待时间。
开发者可以要求七牛云存储在某文件上传完成后向特定的 URL 发起一个回调请求。七牛云存储会将该回调的响应内容作为文件上传响应的一部分一并返回给客户端。回调的流程如下:
只做一件事情,可以做的很精致。验证码,只是一个网站很小很小的一部分,有人有公司却做的体验非常棒。下边是网易易盾和极验两加公司做的验证码产品demo的链接:
网易易盾: http://dun.163.com/trial/jigsaw
极验:http://www.geetest.com/exp.html
极验提供了两种验证方式(拖动和点击),四种展现形式(float、popup、custom、bind),二次验证的服务以及多平台。以保障良好的安全以及体验。不过,按钮不能任意定义高度。免费产品也不能自定义图片。
继续阅读
在给网址做 登录注册 功能时,通常会用到ajax
。因为它不会刷新页面,给用户的体验很好。但会影响另外一个比较好的体验:浏览器不会弹出记住账号密码。
eg:
<div class="log-bodies">
<row>
<span>账号</span>
<input id="account" type="text" placeholder="请输入账号">
</row>
<row>
<span>密码</span>
<input id="password" type="password" placeholder="请输入密码">
</row>
<button class="log-btn">登录</button>
</div
$(".log-btn").click(function{
//do ajax post
});
方法1:
function Person()
{
var name;
Object.defineProperty(this, "name",{
set:function(value){
name = value;
},
get:function(){
return name;
}
})
}
defineProperty
是ECMAScript 5新增的特性。该方法有局限性。ie需要大于8以上的版本才可以。
方法2:
var name;
var Person = {
set name(value){
name = value;
},
get name(){
return name;
}
}