Javascript

笔记:canvas 支持retina显示解决模糊的问题

之所以模糊是在浏览器上生成的图片是1x的非矢量图,所以在retina屏幕上会出现模糊的问题(手机版的浏览器无此问题),以下是我整理的一段代码。 原理很简单,先算出 ratio 值(2,3等)然后根据 ratio 值对 canvas 的 width 和 height 调整,并且一定要对 canvas.getContext("2d") 获取的对象进行 scale(ratio, ratio) 相同的倍数,否则图片会被拉小。 function reviseRatio(canvas, width, height) {     var co […]

让jQuery支持Ajax的Streaming获取推送消息回调执行JS,并支持http的分块协议

6 Comments

我曾经在2011年写过一个关于ajax使用Streaming获取推送数据的文章: https://www.queyang.com/blog/archives/54 让ajax更加完美——Ajax Streaming研究和使用 Ajax Streaming常用的场景: 你通过AJAX向服务器提交一个请求,服务器会在接下来一段时间(比如1分钟)向客户端推送一些执行的信息,这样可以实时的看到进度,而传统的方式只能等到服务器执行完毕才能知道结果。 通过ajax获取服务器上一些实时数据,却不想使用定时(比如间隔1秒)ajax不断的请求 不需要客户端向服务器反馈交互的服务器推送数据显示方式 当然,在htm […]

谈谈AngularJS的优缺点以及如何取舍

2 Comments

AngularJS可以说是一个非常完美的JS框架。先通过这篇文章来看看AngularJS的几大特性 http://blog.csdn.net/vking_wang/article/details/8817232 文章总结了有这些特性 特性一:双向数据绑定 特性二:模板 特性三:MVC 特性四:依赖注入(Dependency Injection,DI) 特性五:Directives(指令) 再来看看我之前写的一篇文章:https://www.queyang.com/blog/?p=419 想必如果你是一个最求时髦的前端攻城狮一定已经蠢蠢欲动,想在手上的项目里开始小试牛刀了吧。 但是,在上项目前, […]

除了jQuery,你该用用 AngularJS 了

1 Comment

AngularJS http://www.angularjs.org/ 是google在几年前打造的一个全新的JS的框架,如今已经很成熟,它的理念完全颠覆了我曾经对js的使用习惯和理解。 在js的世界里,做前端的或许没有人不知道jQuery,然而如果你掌握了AngularJS,那么你会发现她是如此的完美和与众不同。 本篇文章不会谈及技术性的问题,旨在帮你引荐AngularJS,让你对它有个初步的认识 在谈及AngularJS有多好之前,我来说说在以前我们是怎么做的: 如果以前要制作一个网站,对于前端来说需要规划整体框架的HTML,然后是包括首页等等各种页面里的内嵌的页面,当我们制作好HTML页 […]

js模块化加载之 seajs 和 requirejs

先来说说国产的 seajs http://seajs.org/ 在关于页面里可以看到:Sea.js 是一个开源项目,目前由阿里、腾讯等公司共同维护。 汇集了国内一流公司的大牛们的技术,显然是一个值得推荐使用的模块化加载类库了。 而 requirejs http://requirejs.org/ 则是国际流行的一个模块加载类库,拥有相当活跃的社区和第三方插件以及解决方案 就我本人来说,是首先接触使用 seajs 的,但是现在的项目我选择了使用 requirejs 。在实际使用中体会到了二者相似但各有优缺点。 seajs的优点是:国产,文档还算丰富,社区也不错,有问题在github里提交后会有人帮 […]

推荐一个神奇的网站 — silk — 鼠标轻轻点两下即可绘制出梦幻般激光效果的图片来

http://weavesilk.com/ 是用HTML5制作的一个非常具有梦幻效果的绘制工具。你不需要会任何技术,即可激发出无尽的灵感。 在你下笔的那一刹那,或许你根本不知道想画什么,但是两笔下去,你的灵感就被激发出来了,也许自己也会被惊讶到,哇,好神奇! 网站左侧有工具选项,点击倒数第二个可展开色彩和画笔类型的选择,最下面还有2个开关选项,分别是保持居中和对称输出。 来欣赏下绘制的图片的效果 : 另外,颜色选择上可以单色,也可以为过渡色,这个技巧我是在iphone里发现的,发现网页上也可以,就是在一个颜色上拖到到另外一个颜色上就可以了,如下图:

原创:无需修改任何HTML解决firefox里js不支持onmousewheel事件,让firefox完美支持onmousewheel,附带让input支持使用滚轮滚动递增、递减数值

终于发现firefox也有让人蛋疼的地方了,几乎主流浏览器都支持onmousewheel的情况下,居然只有firefox执着的不支持onmousewheel事件。 PS:onmousewheel是当滚动滚轮时触发的事件。 在google,baidu等主流网站上搜索了老半天居然没有找到一个完美的解决办法,经过2天的不断修炼,最终完美实现,并且增加了一个鼠标点击到input框里后可以滚动滚轮递增或递减数值的功能,完全原创。 把下面代码加入页面任意地方即可(建议加到全局共用的js里) 下面是完整的代码: // firefox 支持 onmousewheel,文本框支持滚动条滚动改变数字,input内 […]

让ajax更加完美——Ajax Streaming研究和使用

4 Comments

Ajax Streaming是什么,可以起到什么作用?或许我给你举个例子你就会明白了,并且会喜欢上它 比如通过ajax请求一个安装脚本,此脚本可能需要执行1分钟,传统的ajax只有在页面执行完毕后才会得到执行情况,那么怎么可以让页面实时知道服务器上执行的状态呢?此时,Ajax Streaming就发挥作用了,可以帮你实现输出每个步骤的详细信息。 在服务器上,可通过特殊的处理,将每一个执行的步骤推送到浏览器。 这样就可以输出类似下面的信息了: 执行初始化成功… 开始执行步骤一 步骤一执行成功 步骤二开始 步骤二结束 … 全部执行完毕 PHP代码示例: <?php i […]