05 2013 档案
摘要:前一阵子一直在折腾浏览器的插件检测和自定义协议的支持。经过种种痛苦的折腾,算是对这一领域有了点浅显的认知。特此记录一下一、背景知识自定义协议:常用的协议有 http:// https:// ftp:// 等然而我们也经常会遇到类似这样的协议连接 thunder:// 迅雷的item:// itunes的ed2k:// 电驴的这样的协议是需要本地计算机安装软件与之接应, 实现相应操作的也就是当你点一个类似的连接,浏览器会通知系统以何种程序处理该种协议的连接,这种对应是通过注册表来实现的参考资料:http://www.cnblogs.com/Aricc/archive/2009/03/18/141
阅读全文
摘要:缘起 不知道大家有没有用过google搜索结果页的“发送反馈”功能(还没有用过的,快去体验一下吧),个人用过后觉得非常酷,特别适合反馈界面视觉问题,于是就有了本文介绍的小作品。 给不能FQ的截张图吧:效果 不知道大家有没有注意到本页最下面有个“发送反馈”的固定链接,可以点击看看效果。下面是chrome下的效果: 注:需要浏览器支持HTML5原理 通过查看google搜索结果页反馈时的代码可以看到,是把页面生成了一个canvas,然后在canvas上画矩形来实现的: 所以在不支持canvas的浏览器下,是没有这个效果的。 我的方案是利用html2canvas库把页面内容渲染成一个c...
阅读全文
摘要:function _code($_code_length = 4, $_width = 75, $_height = 25){ for($i=0;$i<$_code_length;$i++){ $_nmsg .= dechex(mt_rand(0,15)); } $_SESSION["code"] = $_nmsg; $_img = imagecreatetruecolor($_width, $_height); $_white = imagecolorallocate($_img, 250, 250, 250); imagefill($_im...
阅读全文
摘要:刚才看到新闻频道转截的一篇文章:阮一峰:字符串匹配的KMP算法,图文并茂通俗易懂,就用JS实现了一下,现分享出来。 算法的核心是部分匹配表和回退算法,部分匹配表的实现如下:function kmpGetStrPartMatchValue(str) { var prefix = []; var suffix = []; var partMatch = []; for(var i=0,j=str.length;i<j;i++){ var newStr = str.substring(0,i+1); if(newStr.length == 1...
阅读全文