摘要:
俗话说不作死就不会死,今天作死了一回,写了一个比较二逼的函数,遇到了同步Ajax引起的UI线程阻塞问题,在此记录一下。 事情起因是这样的,因为页面上有多个相似的异步请求动作,本着提高代码可重用性的原则,我封装了一个名为getData的函数,它接收不同参数,只负责获取数据,然后把数据return... 阅读全文
摘要:
这篇博客跟技术无关,只是自己闲暇时的思考,主题只有一个:如何让用户愿意点击你的页面,并且点的很爽。是和用户体验相关的主题。 作为一个程序员,我很害怕自己陷入这样一种状态:“最近忙着写代码,都没时间思考了。”思考一直以来是提升自己的一个动力源。当我看到一个垃圾的UI,或者糟糕的用户体验时,我常常... 阅读全文
摘要:
有段时间没有更新博客了,年后经历了换工作以及生活中的其他各种事情,生活节奏被打乱了一阵子。还好一切都平息下来了,我也能在这个周末的午后,静下来码码字了。在做去年的总结时就打算好年后来了换份工作,并为此做了一些准备。说说我的准备吧,我的目标是互联网公司,同时作为一名毕业还不满一年的新手,我也知道自... 阅读全文
摘要:
原文地址:http://blog.snsgou.com/post-574.htmlIE中:document.body.clientWidth==>BODY对象宽度document.body.clientHeight==>BODY对象高度document.documentElement.clientWidth==>可见区域宽度document.documentElement.clientHeight==>可见区域高度FireFox中:document.body.clientWidth==>BODY对象宽度document.body.clientHeight==> 阅读全文
摘要:
月初发布了HUploadify2.0版本,增加了文件的断点续传功能,得到了不少朋友的好评。本着按照Uploadify原样复制的原则,本次在一些朋友的建议中采纳了几点,做了一次较小的改动,定为2.1版本。所做的改动包括:1. 对外开放的方法增加settings。 uploadify有settings方法可调用,作用是动态设置上传插件的配置参数,如下:$('#file_upload').uploadify('settings','buttonText','BROWSE'); 当时觉得这个插件很少会动态去设置配置参数,所以就没实现这个接 阅读全文
摘要:
年底了越来越懒散,AngularJs的学习落了一段时间,博客最近也没更新。惭愧~前段时间有试了一下用yeoman构建Angular项目,感觉学的差不多了想做个项目练练手,谁知遇到了一系列问题。yeoman是基于node.js的一套工具包,由于我一直在windows下编程,而且node.js对于windows环境的支持也在慢慢加强,所以想尝试在windows下用yeoman跟搭建一个项目。过程远比想象的坎坷多了,各种报错,各种搜资料解决问题,最终还是无法解决一些编译出错,以失败告终,转战Linux。在此也提醒大家如果想在windows下使用yeoman,还是谨慎为好! 今天来学习一下一直被... 阅读全文
摘要:
从接触CSS布局开始,就一直在听盒模型的概念了,网上的文章有很多,深浅不一。有些人会认为盒模型很简单,不就是border、margin、padding、content嘛,一个元素所占的空间就是把它们都加起来~仅仅如此吗?当然不是,盒模型的概念其实挺好理解,但难的是与其他属性一块使用时产生的现象。下面把我知道的一些特性梳理一下,这也是css中最基础的知识,面试常会问的东西。盒模型的基本概念 正如上面说的,盒子模型的几个要素就是border、margin、padding、content,相信你已经听过很多次了,就像下面这张百看不厌的图一样: 不过要明确的是,这里所说的盒子是指块级(bloc... 阅读全文
摘要:
2013,参加工作的第一年,刚刚走出校园,怀着些许激动些许兴奋走上了程序员道路。一路懵懂一路摸索,现在我的职业生涯竟然悄悄的走过了一个年头,回顾这一年,有许多的波折许多的故事,确实应该好好总结一番。步入社会了,不能像学生时代那么无忧无虑,要为自己的未来负责了。自己走过的路要反思一下,新一年的计划要制定好,在下一个年终看看这些计划都做到了没。 2013年的上半年,是我大四的最后一个学期。我在学校里是实践派,成绩保持在中等,和同学组团队开发项目。也就是在和团队开发项目的时候,我听说了前端工程师这个职位,并产生了很大的兴趣。学校没有前端这门课,HTML、js、css这些知识也没有哪门课会涉及到... 阅读全文
摘要:
原型、闭包、作用域等知识可以说是js中面试必考的东西,通过你理解的深度也就能衡量出你基本功是否扎实。今天来复习一下javascript的原型和继承,虽说是老生常谈的话题,但对于这些知识,自己亲手写一遍能更加透彻的理解,能用自己的话说明白了,也就真正理解了。原型是什么? 在javascript中,通过关键字new调用构造器函数或者使用字面量声明,我们可以得到一个对象实例。每个对象实例内部都持有一个指针,指向一个普通的对象,这个普通的对象就是原型,这是天生的。为什么说它是普通的对象呢?因为它确实没什么特别的地方,同样也是某个构造器函数的一个实例,这个构造器可以是Object,可以是Array... 阅读全文
摘要:
之前仿造uploadify写了一个HTML5版的文件上传插件,没看过的朋友可以点此先看一下~得到了不少朋友的好评,我自己也用在了项目中,不论是用户头像上传,还是各种媒体文件的上传,以及各种个性的业务需求,都能得到满足。小小开心了一把。 但无论插件再怎么灵活,也难以应付所有的需求,比如,你要上传一个2G的文件。以现在我们的网速,恐怕再快也得传半小时。要命的是,如果你在上传到90%的时候不小心关掉了浏览器,或者是手一抖摁了F5,完了,一切还得从头再来。这种用户体验简直太糟糕了。所以,断点续传就十分有必要了。什么是续传我就不解释了,用QQ传文件这么多年,大家都见过了。 这里要说的是断点续传都... 阅读全文
摘要:
前言 时间过的真快,不知不觉就到年底了。问问自己,这一年你对自己的工作满意吗? 评价标准是什么呢?当然是马云的那两条准则了:钱给到了吗?干的爽吗?如果答案都是no,那么,你准备好跳槽了吗? 为了应对年后跳槽高峰的到来,从现在开始我要把基础过一遍了。从网上搜集的面试题入手,尽量全面的覆盖到前端的基础知识。为年后的面试提前热身~虽然本人也不是什么面霸,没有什么面试经验,但把基础打扎实是永远不会错的,所以不嫌麻烦不嫌重复劳动,我会收集一些简单基础的面试题,从中提炼出相关的前端知识,然后分析加以记录。大概算了算,只要勤快点,从现在开始一直积累到年后,应该也能小有收获~ 另外还想说一下我对原生js... 阅读全文
摘要:
在谈路由机制前有必要先提一下现在比较流行的单页面应用,就是所谓的single page APP。为了实现无刷新的视图切换,我们通常会用ajax请求从后台取数据,然后套上HTML模板渲染在页面上,然而ajax的一个致命缺点就是导致浏览器后退按钮失效,尽管我们可以在页面上放一个大大的返回按钮,让用户... 阅读全文
摘要:
过滤器(filter)正如其名,作用就是接收一个输入,通过某个规则进行处理,然后返回处理后的结果。主要用在数据的格式化上,例如获取一个数组中的子集,对数组中的元素进行排序等。ng内置了一些过滤器,它们是:currency(货币)、date(日期)、filter(子串匹配)、json(格式化json对象)、limitTo(限制个数)、lowercase(小写)、uppercase(大写)、number(数字)、orderBy(排序)。总共九种。除此之外还可以自定义过滤器,这个就强大了,可以满足任何要求的数据处理。 过滤器的内容非常简单,只要明白了内置的如何使用,自己如何定义一个filter... 阅读全文
摘要:
今天学习了一下ng的service机制,作为ng的基本知识之一,有必要做一个了解,在此做个笔记记录一下。一、认识服务(service) 服务这个概念其实并不陌生,在其他语言中如java便有这样的概念,其作用就是对外提供某个特定的功能,如消息服务,文件压缩服务等,是一个独立的模块。ng的服务是这样定义的:Angular services are singletons objects or functions that carry out specific tasks common to web apps. 它是一个单例对象或函数,对外提供特定的功能。首先是一个单例,即无论这个服务被注入到... 阅读全文
摘要:
上一篇文章介绍了HTML5版的文件上传插件,相比flash,采用HTML5的新技术无疑可以提升程序的加载速度。但是在目前的情况看来,HTML5的特性支持度不高,插件的可用性范围确实比较窄。例如,我在插件中使用到的新特性有:标签的multiple属性File和FileList APIXMLHttpRequest2的upload和onprogressFormData 就拿File来讲,IE9都不支持,所以在当前环境下IE系列浏览器几乎无法使用。因此做一个兼容方案还是有必要的。如何做兼容呢?这不是废话,忘了你的H5版uploadify是怎么来的了?我们可以在不支持这些特性的浏览器上运行flas... 阅读全文