无心的专栏

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

排序:
默认
按更新时间
按访问量

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

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

2013-10-22 09:43:20

阅读数:4971

评论数:14

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

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

2018-03-23 11:06:40

阅读数:410

评论数:0

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

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

2017-05-11 11:21:46

阅读数:13878

评论数:0

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

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

2017-04-11 10:54:50

阅读数:2358

评论数:0

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

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

2016-06-01 19:00:33

阅读数:6131

评论数:0

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

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

2015-08-05 11:15:42

阅读数:6655

评论数:0

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

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

2015-08-03 16:56:13

阅读数:9230

评论数:1

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

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

2015-05-27 01:14:54

阅读数:71722

评论数:9

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

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

2015-05-25 09:50:04

阅读数:71510

评论数:2

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

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

2015-05-22 14:49:49

阅读数:8382

评论数:0

Javascript TypedArray 解惑:Uint8Array 与 Uint8ClampedArray 的区别

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

2014-12-30 20:32:48

阅读数:17042

评论数:0

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

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

2014-11-03 09:59:18

阅读数:6147

评论数:0

RGB颜色转灰度的算法公式

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

2014-10-20 03:45:06

阅读数:4287

评论数:0

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

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

2014-10-13 13:30:18

阅读数:7206

评论数:0

一切皆为 JavaScript

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

2014-07-12 17:08:24

阅读数:4459

评论数:0

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

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

2014-07-08 08:47:27

阅读数:27208

评论数:5

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

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

2014-06-02 16:26:11

阅读数:11132

评论数:0

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

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

2013-12-31 23:50:10

阅读数:7173

评论数:0

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

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

2013-12-31 23:42:31

阅读数:19878

评论数:2

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

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

2013-12-30 19:56:00

阅读数:11361

评论数:0

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

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

2013-12-28 16:00:06

阅读数:3565

评论数:0

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

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

2013-11-20 13:44:42

阅读数:4785

评论数:0

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

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

2013-11-15 01:18:09

阅读数:4989

评论数:3

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

阅读数:7823

评论数:7

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

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

2013-11-09 17:24:27

阅读数:7564

评论数:0

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

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

2013-11-06 01:40:15

阅读数:12041

评论数:1

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

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

2013-10-26 09:43:25

阅读数:10182

评论数:0

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

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

2013-10-14 16:30:03

阅读数:8924

评论数:0

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

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

2013-10-14 15:16:37

阅读数:2565

评论数:0

HTML5迷你游戏作验证码

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

2013-09-30 19:40:56

阅读数:2550

评论数:0

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

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

2013-09-30 14:52:45

阅读数:6098

评论数:2

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

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

2013-09-24 15:08:16

阅读数:5092

评论数:2

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

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

2013-09-24 13:54:58

阅读数:8263

评论数:1

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

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

2013-09-23 16:06:39

阅读数:5032

评论数:0

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

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

2013-09-23 11:55:36

阅读数:2686

评论数:0

indexedDB中创建和使用索引

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

2013-08-14 09:36:56

阅读数:4918

评论数:2

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

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

2013-07-09 16:10:18

阅读数:7020

评论数:1

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

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

2013-05-22 13:40:39

阅读数:6204

评论数:1

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

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

2013-03-31 00:50:17

阅读数:9605

评论数:8

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

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

2013-03-25 10:41:33

阅读数:19812

评论数:0

杯子倒水问题自动求解程序(Javascript实现)

智力测试题经常遇到类似的逻辑题,给几个容量不等的杯子,让你倒出多少的水。 安卓上有一款专门玩这个题的游戏叫做Water Logic. 我安装这个游戏把几十个关卡通了一遍,感觉这个游戏的关卡设计很不好,关卡的难度并不是递增的,有很多后面的关卡相当的弱智,并且缺乏高难度的关卡。 做为程序员的我们,...

2013-03-24 22:59:24

阅读数:5634

评论数:0

Opera中绘制的SVG圆弧很隐蔽的一个bug

Opera浏览器对于SVG bug可不少,而且低级。今天又碰见一个Opera SVG bug. 应用场景是这样:绘制一段很简单的SVG圆弧,移动,保存,再打开,发现圆弧方向竟然变了。 不知道是不是巧合,两年前我写过一篇blog说Opera对Canvas Context 2D的实现中的圆弧指令也...

2013-03-23 23:34:25

阅读数:2144

评论数:0

一道js代码填空题的解 window.alert = function(){};____;alert(1);

window.alert = function(){}; //覆盖了alert方法 //这里写些代码将alert还原 alert(1); //这里要求还能弹出alert对话框 记录这个话题是因为微博上有人讨论到了,我直接写答案了。 方法1,直接删除 alert。 window...

2013-03-20 16:41:01

阅读数:5610

评论数:0

HTML5 Canvas里绘制椭圆并保持线条粗细均匀的方法

Canvas里绘制椭圆是一个很常见的需求,比较新的HTML Canvas 2D Context W3C草案里面新增了ellipse方法绘制椭圆,但是目前大多数浏览器还没有实现该方法,所以需要用arc或者arcTo方法结合scale变形来绘制椭圆。 示例代码: var ctx = docum...

2013-03-20 16:07:31

阅读数:5891

评论数:1

压缩版JS的调试利器JavaScript Source Map基本介绍

1月15日,jQuery 1.9发布。 这是2.0版之前的最后一个新版本,有很多新功能,其中一个就是支持Source Map。 访问 http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js,打开压缩后的版本...

2013-02-19 23:44:01

阅读数:7771

评论数:0

Firefox 18 来了,两大亮点:IonMonkey引擎、WebRTC支持

Firefox 18.0 在2013年1月8日发布,新版本很有爱。 Firefox 18.0 修复了2917个bug,相较前一版本,有了巨大的改善。 而最大的两个亮点是: IonMonkey引擎 据说这是Firefox团队历时一年多开发的新一代Javascript引擎,性能有了...

2013-01-10 17:09:41

阅读数:1372

评论数:0

Sublime text 2 无需注册码的破解方法,只改2个字节

Sublime text 2 虽然不破解也无碍使用,只是标题栏多一串文字,以及偶尔弹出个提示而已。 本文仅以技术目的发布,请各位支持正版。 Win平台: Win下的安装我就不说了. 用十六进制编辑器修改:  使用十六进制编辑器,这里以WinHex为例。不要使用本身的Sublime T...

2013-01-05 14:33:18

阅读数:27910

评论数:0

Javascript编写的EditPlus注册码生成器

今天同事惊奇的告诉我,说找到个在线的EditPlus注册码生成器,我赶紧去看了看,还真是,在这里。 exe的注册机病毒太多,纯js的在线注册机可就放心了。 作者是从别人的注册机反汇编然后找出算法的,更令我惊奇的是,这作者Demon竟然是搞法律的,才刚拿到法律职业资格证书,佩服。 ...

2012-12-14 17:27:41

阅读数:2094

评论数:0

SVG/SMIL逐帧动画实例

这里只是一个SVG/SMIL逐帧动画实例,记录下来以备忘。 假定现有如下3个svg图案,方、圆、三角形。 未加入动画的SVG代码如下: <rect style="fill:#edd154;fill-opacity:1;stroke:#3c352d;s...

2012-11-29 10:43:17

阅读数:3337

评论数:0

9种网页动画常用实现方式总结

随着HTML5的逐步普及,在Web页上实现动画的方式也增加了,但也带来了一些兼容性问题,本文做一个总结。 目前来说,没有一种方式是完美的。 GIF兼容性最好,但是画质差,无交互。 Canvas很火热,功能也强大,编程难度也稍高,旧IE不支持。 SVG擅长处理矢量图形,交互容易,旧IE不支持...

2012-11-28 16:36:54

阅读数:5948

评论数:5

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