自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

无心的专栏

对于代码有洁癖的人,才能写出更好的代码。

原创 SVG + Javascript 实现的五边形的扫雷游戏

扫雷游戏都玩过,五边形的扫雷你玩过么?国庆期间,写了个SVG + Javascript 实现的五边形的扫雷游戏,根据朋友们的体验,以及自己的想法,后面几天又陆续修了一些bug,增加了一些功能。推理难度降低了,但是没有方块扫雷那么直观,挑战一下头脑吧。

2013-10-22 09:43:20 5663 14

原创 SVG路径(path)中的圆弧(A)指令的语法说明及计算逻辑

SVG中的路径数据,即path元素的 d 属性,有一系列的路径绘制指令,其中椭圆弧指令(A)最复杂,不算椭圆弧起始点的x,y坐标的话,依然有 7 个参数。SVG椭圆弧指令的参数,与Canvas等圆弧指令的参数有很大差别,Canvas中使用圆心、半径、起始角度、结束角度等为参数,而SVG使用起始点坐...

2018-03-23 11:06:40 17037 0

原创 QQ轻聊版、TIM版无法修改个人文件夹位置的解决方法

QQ轻聊版、TIM版均有这个BUG:如果电脑上之前没有安装过QQ完整版(比如我新装的虚拟机),那么QQ轻聊版、TIM版里面,设置修改个人文件夹位置将无法生效。在QQ轻聊版、TIM版设置界面修改个人文件夹位置后,会提示转移数据文件,之后会重启轻聊版/TIM,但重启后的登录界面上没有之前登录过的QQ号...

2017-05-11 11:21:46 31291 2

转载 深入理解跨站点 WebSocket 劫持漏洞的原理及防范

WebSocket 作为 HTML5 的新特性之一格外吸引着开发人员的注意,因为它的出现使得客户端(主要指浏览器)提供对 Socket 的支持成为可能,从而在客户端和服务器之间提供了一个基于单 TCP 连接的双向通道。该技术被广泛应用到了实时性要求比较高的各类应用,譬如在线证券、在线游戏,以及不同...

2017-04-11 10:54:50 6868 0

原创 HTML5 Canvas 绘制椭圆与椭圆弧的实现

由于HTML Canvas 2D Context标准中并没有直接绘制椭圆与椭圆弧的方法,所以浏览器普遍没有这个方法,不过,Chrome支持ellipse方法。IE11,Edge, Firefox, Safari目前最新版都还不支持。所以,我们需要用JS来实现这个方法,给Context2D加上一个e...

2016-06-01 19:00:33 9563 0

原创 从注册表清理 IE10,IE11 用户代理字符串(UserAgent)中的垃圾信息

某一天,我发现我的 IE User Agent 字符串里面竟然含有刷机大师、百度浏览器等许多垃圾,国货流氓见怪不怪了。 微软自家的.NET CLR也占据了一大片,看着也不爽。 决定清理一下,但是却没找到直接设置的地方。 根据经验,只能自己从注册表寻找了,很快就找到了,分享给有强迫症的人……

2015-08-05 11:15:42 8235 0

原创 在Windows命令行窗口中输入并运行PHP代码片段(不需要php文件)的方法

有时候只是简单的为了测试某个php函数的效果,以前总是需要建一个php文件,复制这个文件的路径,再通过web访问或者用php命令执行这个php文件。 一直想要怎么才能不用创建文件,才能直接执行PHP代码片段呢?终于找到了方法,现在分享出来,给有需要的人。

2015-08-03 16:56:13 11399 1

原创 DataURL与File,Blob,canvas对象之间的互相转换的Javascript

canvas转换为dataURL (从canvas获取dataURL) var dataurl = canvas.toDataURL('image/png'); var dataurl2 = canvas.toDataURL('image/jpeg',...

2015-05-27 01:14:54 96973 13

原创 5款好用的开源JS图片裁剪插件(3个jQuery插件,2个AngularJS插件)

Jcrop是人气最高的图片裁剪jQuery插件,stars数量2k+,功能非常丰富,文档齐全,首选。Github.com官网也使用了这个插件。有一个小细节是,边框线的蚂蚁线是动画的,真的很用心。Cropper也是一款图片裁剪jQuery插件……

2015-05-25 09:50:04 84423 4

原创 获取当前Javascript脚本文件的路径

获取当前Javascript脚本文件的路径获取当前Javascript脚本文件的路径,在特定场景下可能需要,比如写模块加载器,或者进行日志记录。并没有统一的方法适用于所有浏览器,本文分几种情况进行说明。

2015-05-22 14:49:49 11564 0

原创 Javascript TypedArray 解惑:Uint8Array 与 Uint8ClampedArray 的区别

JS的类型数组,从其构造函数名称,基本上都可以望文生义,看名字就知道怎么回事。 但是有一个例外 Uint8ClampedArray ,它与 Uint8Array 颇为相似,但又有所区别。 本文详细介绍这两者之间的差异,并举例说明。

2014-12-30 20:32:48 26313 0

原创 为Web服务器配置svgz文件需要的http头,让浏览器可以打开svgz文件

本文介绍了让浏览器能正常显示svgz文件应该怎样进行配置,并给出了Apache httpd服务器上的几种配置方式的示例,以及PHP程序动态输出svgz的例子。

2014-11-03 09:59:18 7132 0

转载 RGB颜色转灰度的算法公式

方法一:     对于彩色转灰度,有一个很著名的心理学公式:                           Gray = R*0.299 + G*0.587 + B*0.114      方法二:      而实际应用时,希望避免低速的浮点运算,所以需要整数算...

2014-10-20 03:45:06 10831 0

原创 HTML5游戏验证码,让验证码美好一点

以前我写过一篇《HTML5迷你游戏作验证码》

2014-10-13 13:30:18 8108 0

转载 一切皆为 JavaScript

JavaScript起源于Netscape公司的LiveScript语言,这是一种基于对象和事件驱动的客户端脚本语言,最初的设计是为了检验HTML表单输入的正确性。 早些年,JavaScript由于其复杂的文档对象模型(DOM)、糟糕的实现和调试工具、不一致的浏览器实现而不受开发者的待见。而随着...

2014-07-12 17:08:24 5777 0

原创 用Javascript清空(重置)文件类型的INPUT元素的值

因为安全限制,脚本不能随意设置文件域< input type=file >的value值,重置一个文件域的值,归纳起来主要有 3 种方法。本文分析这三种方法的浏览器兼容性以及优缺点,并给出一个比较完美的综合方案的代码和Demo。

2014-07-08 08:47:27 32347 5

原创 firefox sync 同步失败问题的解决方法

Firefox的同步故障通常是因为同步服务器网址错误或者连接不上。修改为正确的网址即可。本文介绍一下修改方法。

2014-06-02 16:26:11 13579 0

原创 EditPlus 3.60 新功能:函数列表面板、代码提示

前几天安装了EditPlus的最新升级,现在已经是3.60版了。 官方的新特性列表一大堆,就不多说了,对我来说,最显著的两个改进有2个: (1)函数列表面板。这个以前是对话框的形式,使用起来不是特别方便,现在改为和主流一样了,和目录面板、剪贴板一样的左侧面板形式了。 (2)代码提示。输入一个字母以...

2013-12-31 23:50:10 8417 0

原创 网页上直接选择本地文件夹上传

以前都是需要浏览器插件支持的,对于IE来说,有很多成熟的商业版上传控件,功能非常非常的强大,但基于多种原因,安装浏览器控件这种方式被接受的程度越来越低了,不轻易使用。Chrome浏览器早已针对网页上传时只能选择一个或多个文件的局限性而扩展了文件上传功能,使得可以方便的选择整个文件夹上传。

2013-12-31 23:42:31 25037 2

原创 Stave插件,让Fiddler能将URL映射到本地目录,实现批量文件自动响应

Stave是一个Fiddler扩展插件,让Fiddler能将URL映射到本地目录,实现批量文件自动响应。 Fiddler自带的AutoResponder每条自动响应规则只能对应一个本地文件, 在文件数目较多的时候,使用起来很不方便,往往需要部署到本地web服务,有了Stave插件(扩展),一个UR...

2013-12-30 19:56:00 12854 0

原创 Firefox奇怪的文字溢出bug,百思不得其解

最近在我的本机win 7 + firefox 26.0 下遇到个很头大的bug,带滚动条的div容器里面的文字竟然溢出到容器之外了,在我的环境下,百分百能重现,但到两台别人机器上就无法重现。 我的系统环境和浏览器并没有什么特殊之处,百思不得其解,真是人品不行啊。这是个简单的HTML文档,4条简单...

2013-12-28 16:00:06 3944 0

转载 CSS3 3D transform变换,不过如此!

一、写在前面的秋裤 早在去年的去年,我就大肆介绍了2D transform相关内容。看过海贼王的都知道,带D的家伙都不是好惹的,2D我辈尚可以应付,3D的话,呵呵,估计我等早就在千里之外被其霸气震晕了~~ 看看下图女帝的动作以及神情,就可以知道名字带D的家伙的厉害! 最近折腾...

2013-11-20 13:44:42 5101 0

原创 Javascript解惑之 new A.B() 与 new A().B() 的区别

Javascript解惑之 new A.B() 与 new A().B() 的区别,这个问题涉及到的知识面是,点运算符、new运算符、函数执行这三者之间的优先级的问题。到底是点运算符优先呢,还是new运算符优先?

2013-11-15 01:18:09 5581 0

原创 Windows下安装php_rar 扩展,让php实现rar文件的读取和解压

Windows下安装php_rar 扩展,让php实现rar文件的读取和解压。1.首先要到PECL的RAR页面下载DLL. 根据自己的情况选择下载对应版本的DLL. 2.下载到的是个zip包,将其中的php_rar.pdb和php_rar.dll两个文件解压到PHP安装目录下的ext子目录中。3....

2013-11-15 00:30:06 8748 2

原创 分享7款强大的在线HTML5照片编辑器

欢迎有更好更强大的HTML5照片编辑器推荐 Aviary ..Muro  ..DarkRoom  ..Sketchpad  ..Pixastic  ..Bomomo  ..Harmony ..

2013-11-09 17:24:27 8578 0

原创 DataURL在Web浏览器中的兼容性总结

对DataURL在Web浏览器中的兼容性做了9点总结,IE中使用data URL的限制,并附了几个实用的有关data URL的链接。

2013-11-06 01:40:15 12748 1

转载 Robocopy(Windows可靠文件复制命令)详解

(转载此文以作备忘) 说实话,Windows系统自带的复制功能不仅功能简单,而且定制性也不强,每每在对大量文件进行复制、移动、备份时,总少不了繁杂往复的操作。不过幸好,微软意识到了这一点,为我们提供了一款很强力的复制备份工具:robocopy。 robocopy已被Windows Vi...

2013-10-26 09:43:25 13563 0

原创 高效的获取当前元素是父元素的第几个子元素

例如处理事件的时候,有时候需要知道当前点击的是第几个子节点,而HTML DOM本身并没有直接提供相应的属性,需要自己来计算。 对于表格TD和TR元素优先使用cellIndex和rowIndex属性。对于IE优先使用sourceIndex属性。其它情形使用previousElementSibling...

2013-10-14 16:30:03 10507 0

原创 html中的 ol 元素的序号数字的极限

在IE, Firefox上,序号达到极限正值2147483647之后,后续的列表项的序号全部同为极限正值 2147483647 不变。 在Chrome上,序号达到极限正值2147483647之后,下一个序号将变为极限负值 -2147483648, 再后续的将在这个基础上递增-2147483647...

2013-10-14 15:16:37 3102 0

原创 HTML5迷你游戏作验证码

验证码变得越来越难以识别,给用户造成了很多的麻烦和反感。已经有很多人尝试过各种改进的验证码,但都有各种不足之处。或还是需要键盘输入,少数只需要鼠标操作。或以创意个案形式出现,不具备普遍适用性。或只为特定网站服务,不提供开放的服务。Play Thru 采用HTML5微型游戏来作为验证码,并且提供免费...

2013-09-30 19:40:56 2833 0

原创 CSS多级数字序号的目录列表(类似3.3.1.这样的列表序号)

纯CSS实现类似3.3.1., 3.3.2.这样的列表序号,支持多级嵌套编号。 编写文档手册目录的时候,经常会用到这种格式。

2013-09-30 14:52:45 6858 2

原创 高效判断点是否在正六边形蜂窝内的方法

设计中,用到需要判断点是否在正六边形内,先是在网上搜了好几篇文章,发现都搞的挺复杂的,往往要使用向量运算计算面积夹角距离方向等,或者是射线法算交点,或者是切分三角形。我考虑到正六边形的特殊性,发现这个问题其实可以很讨巧的超简单解决,而且算法简单到连小学生都能理解,核心只要比较两个线段的长度。

2013-09-24 15:08:16 7487 5

原创 2个比较成熟的HTML5可视化3D建模设计系统

利用HTML5来实现3D效果,已经有无数的案例了,但是要利用HTML5做出像样的可视化3D建模设计系统却不是那么容易,所以这类产品非常少。 这里分享2个比较成熟的HTML5可视化3D建模设计系统。

2013-09-24 13:54:58 11369 1

原创 SVG中以任意直线为对称轴的镜像变换及其矩阵

直线一般方程为 A x + B y + C = 0 则以该直线为对称轴,做镜像变换的矩阵为: 任意点P(x,y)变换后的新坐标Q(x',y')的坐标为: SVG中的直线通常是以坐标轴形式或者是两点形式表示的。 如果是以两点线段形式表示的,需要先求出直线方程的系数。 ...

2013-09-23 16:06:39 6271 0

转载 点关于直线的距离、垂足、对称点公式

下面通过两种直线方程的形式,求解点关于直线的距离、垂足、对称点公式。 问题描述1:已知点的坐标(x0,y0),直线的方程为Ax+By+C = 0;求点到直线上的距离d、点在直线上的垂足(x, y)、点关于直线的对称点(x’, y‘)。 解决方法: (1)距离:       ...

2013-09-23 11:55:36 3881 0

原创 indexedDB中创建和使用索引

本文展示如何在indexedDB中创建和使用索引来优化数据查询。网上搜索到的indexedDB入门教程中,都没有介绍索引的使用,或是只带过了一下怎么创建索引,没提可以用来干什么。我在这里给出一个简洁完整的例子,示范一下indexedDB索引的使用。

2013-08-14 09:36:56 5590 1

原创 EditPlus配置CTags,实现函数提示和跳转

CTags是一个开源的代码导航工具,本文介绍在EditPlus编辑器中进行CTags配置,让EditPlus实现函数提示和跳转到函数定义。 总的来说,这种方式在EditPlus里面还是很不方便使用的,只能说有胜于无吧。

2013-07-09 16:10:18 7340 1

原创 VirtualBox虚拟机内的系统时间无法调整的解决方法(禁止virtualbox时间同步的方法)

因试用某软件要求将系统时间设置在特定的日期,利用windows自带的调整日期/时间功能进行设置,发现过几秒钟就又恢复到和主机相同的时间了,即使把Internet时间服务器同步禁用了也是这样。上网搜索终于找到解决方案了。 1. 先到管理工具->服务,将“windows time”服务停止并设...

2013-05-22 13:40:39 7147 1

原创 发布我的第一个Chrome扩展:移除百度搜索结果链接的跳转,去除恶心的/link?url=xxxxxxx....

看到百度搜索结果的恶心网址,总是不爽,于是花了点时间写了个Chrome扩展,自动修正这些链接。目前还没有写Firefox Extension,有空再说了。 主要作用:移除百度搜索结果链接的跳转,直接打开结果网址。 将类似这样的链接 http://www.baidu.com/link?url=l...

2013-03-31 00:50:17 10956 7

转载 麻将游戏数据结构和AI算法

用休息时间零零散散写完了网络麻将游戏,感觉其中有不少值得记录的东西。 基础数据结构     数据结构确定决定了程序的开发难易程度,就像是游戏的骨架,对于电脑AI难度设定和玩家的游戏体验起着决定性的作用。 0、麻将ID构架     用一维数组PAICAPTION(143)来记录每张牌的ID和...

2013-03-25 10:41:33 22507 0

提示
确定要删除当前文章?
取消 删除