轩枫阁

首页 / Web前端 / 授人以渔 / Javascript (第11页)

javascript的异常处理你了解吗?

前言

异常处理运行在浏览器端Javascript受宿主环境、浏览器插件、运营商劫持、第三方代码等等因素的影响导致,javascript在浏览器端出现各种各样的异常情况。

Error对象及其衍生对象

Error对象有两个最基本的属性:

  • name:错误名称
  • message:错误提示信息

 

除了Error对象,JavaScript还定义了其他6种错误,即存在Error的6个衍生对象

  • EvalError:执行代码时发生的错误
  • RangeError:当一个数值型变量或参数超出有效范围时发生的错误
  • ReferenceError:引用一个不存在的变量时发生的错误
  • SyntaxError:解析代码时发生的语法错误
  • TypeError:变量或参数的类型无效时发生的错误
  • URIError:向encodeURI() 或者 decodeURI() 传入无效参数时发生的错误

捕获异常及其处理

方式一:用try语句捕获必要异常

查看全文

2014/02 16  周日

“复制到剪切板”的多种浏览器兼容方案

前言

现在有很多地方需要复制,由于安全问题,浏览器的限制越来越严,实现方法也越来越有限window.clipboardData仅在IE上支持,Components.interfaces.nsIClipboard在FF上需要进行设置才能支持。

分析

现在网上比较流行的解决方案是利用flush作为桥梁,主要有:

1、Clipboard Copy,这个方法只支持flash 9,不支持flash 10。因为flash10中规定了只有在swf上进行了真实的操作(比如鼠标点击)才能访问剪切板,而上述方法只是使用了一个隐藏的swf文件,通过javascript操作flash的剪贴板,用户并没有对swf文件进行真实的操作,因此这个方法也就失效了。

2、Zero Clipboard,利用这个js库可以支持利用flash 10 实现复制到剪贴板。这个方法原理是在一个透明的flash(对用户来说是不可见的)上覆盖一个dom元素比如button或div,当点击这个dom时,实际点击的是flash,从而访问flash的剪贴板。 查看全文

2014/02 16  周日

基于canvas实现的旋转时间圆点

时间是指宏观一切具有不停止的持续性和不可逆性的物质状态的各种变化过程,其有共同性质的连续事件的度量衡的总称。时是客观存在,而间是人们的思想所划分的

前言

如何表示时间在走呢?如何实现时间可视化呢?就如轩枫阁的轮播图,用高级浏览器就可以看到图片右下角有个会动的圆点,当圆点旋转一周(9s),图片即切换,将时间生动的刻画出来。

实现原理

  • canvas绘制蓝色圆形
  • canvas绘制白色扇形
  • 白色扇形的度数随着时间变大

弧度制单位

rad 角度制单位:度 → 180度 = PI弧度 → 1度 = PI弧度/180度 → 1弧度= 180度/PI弧度

弧度 = 角度*PI/180

角度 = 弧度*180/PI 查看全文

2014/01 19  周日

jQuery插件写法总结以及面向对象方式写法总结

前言

最近在折腾jQuery插件,写成插件的目的就是为了实现功能与项目相分离,使得这个代码在下一个项目中能直接引用不出错。这使得我们在写插件的时候,就得考虑清楚,怎么写才能使得插件能够通用、灵活度高、可配置、兼容性好、易用性高、耦合度低等。

接下来就对以下几种写法进行分析,前两个是jQuery插件,后面2个是以对象的形式开发,都类似。而且写法也很多,我们要懂得这样写的利弊。另一篇基础文章:jQuery 插件写法

写法一

插件主体

查看全文

2014/01 11  周六

基于HTML5 Canvas实现的下雪动画

看到过许多的下雪动画,总感觉不够形象生动下面的这个下雪动画,是基于HTML5 Canvas实现的,理解起来也挺简单。

demo地址

先来一览是多生动的效果吧:http://www.xuanfengge.com/funny/html5/snowFall/

小tip:支持的浏览器有Chrome、IE9+、360极速

1

 需求点分析

  • 雪花形状:统一在canvas上绘制
  • 随机绘画出雪花形状:运用canvas的绘制圆形渐变
  • 雪花飘动画:利用requestAnimationFrame绘制动画帧
  • 雪花数量:控制在一定范围,如200片

查看全文

2014/01 11  周六

纸飞机许愿

x

钢琴节奏

请选择弹奏的曲谱

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 1
    • 2

    [返回曲谱列表]

    点击开始录制,可以录制弹奏的曲子