03 2014 档案
摘要:JS的函数定义可以指定形式参数名称,多多少少我们会以为js至少可以支持参数个数不同的方法重载,然而遗憾的是这仅仅是一个假象,js所有的参数都是以arguments传递过去的,这个参数类似于数组,在函数调用的时候,所有的实参都是保存在了这个数据结构里面,我们定义函数的时候所指定的形式参数其实是为这个数据结构里面的数据定义一个快捷的访问方式。也就是说js所有的函数都是支持无限个参数的,加上数据类型是弱类型,那么JS的函数除了名称就真的没有方法区别了? 办法总是有的,我们可以利用JavaScript中的特殊对象arguments来模拟函数重载。用它来判断传入参数的个数或类型以区分重载。1.根据...
阅读全文
摘要:更新 2014年2月27日:这篇文章最初只描述使用 PDFBox 来解析PDF文件。现在它已经被扩展到包括使用 IFilter 和 iTextSharp 的例程了。 这篇文章和对应的Visual Studio项目已经更新到目前最新的 PDFBox 版本(1.8.4)。可以从http://www.squarepdf.net/how-to-convert-pdf-to-text-in-net-sample-project/下载包含所有依赖内容的完整项目(要消除依赖关系有点棘手)。 如何解析 PDF 文件 在.NET中从PDF文件里提取文本的几种主要方法有:Microsoft 的 IFilte...
阅读全文
摘要:(作者: Glen,返利网资深工程师,曾在EA等公司任职) 最近工作有个在项目-布兜收藏夹。简言之就是将喜欢的图片收藏到布兜页面上来,这其中用到了很多关于iframe的方面,总结如下: 1. 作为弹出层铺底覆盖 大家如果做过那种黑色遮罩盖住整张页面,而碰巧用户用的是IE6,更碰巧的是页面上有select元素,那就有得头疼了(原理就不在这里赘述了)。我们会发现弹出的DIV没法遮住select, 轮到我们的iframe出场了。逻辑如下:与弹出div同级放入iframe保证iframe的z-index小于弹层div z-index增加window resize和scroll事件, 保证ifr...
阅读全文
摘要:代码高亮很有用,特别是在需要在网站或者blog中显示自己编写的代码的时候,或者给其他人查看或调试语法错误的时候。我们可以将代码高亮,以便阅读者可以十分方便的读取代码块,增加用户阅读代码的良好体验。目前,有很多免费而且有用的代码高亮脚本。这些脚本大多是由Javascript语言编写,也有些使用其它语言(比如java、Phyton或Ruby)等写的。下面来推荐最受欢迎、最实用的9个Javascript代码高亮脚本。1.SyntaxHighlighter我相信这是最普遍代码高亮代码。它支持多种不同的语言,而且如果你使用的语言不被默认支持,你也可以很简单的创建新“刷子”。2.SHJSSHJS是Synt
阅读全文
摘要:我一直在寻找有关jQuery性能优化方面的小窍门,能让我那臃肿的动态网页应用变得轻便些。找了很多文章后,我决定将最好最常用的一些优化性能的建议列出来。我也做了一个jQuery性能优化的简明样式表,你可以打印出来或者设为桌面背景。 一、选择器性能优化建议 1. 总是从#id选择器来继承 这是jQuery选择器的一条黄金法则。jQuery选择一个元素最快的方法就是用ID来选择了。1$('#content').hide(); 或者从ID选择器继承来选择多个元素:1$('#content p').hide(); 2. 在class前面使用tag jQuery中第二快的选
阅读全文
摘要:一个 JavaScript 库是预先编写的 JavaScript 程序,用于简化 Web 应用程序开发,特别是对 Ajax 和其它 Web 为中心的技术。JavaScript 提供了多种方法,通过它来创建交互式网站,Web 应用程序。利用 JavaScript,可以在在的 Web 项目中轻松控制 HTML 元素,创造出各种自定义动画,并给您的访客一个更好的用户体验。 下面是3月份最新发布的 JavaScript 库的清单,以帮助你提高你的网站相关的任务,让您的网站在竞争中领先一步。我们希望你能找到一些有益的项目开发的 JavaScript 库,用于您的网站相关的需求。enjoy! Dr...
阅读全文
摘要:在我们设计制作一些网页的时候可能会用到半透明的效果,首先我们可能会想到用PNG图片处理,当然这是一个不错的办法,唯一的兼容性问题就是ie6下的BUG,但这也不困难,加上一段js处理就行了。但假如我们需要一个半透明遮罩的弹出层,如登陆框、注册框、提示等,这时可能需要整个页面都要被半透明的遮罩层覆盖,那么如用背景平铺的话,此时此刻也许就不是一个好办法了,图片大了会影响加载速度,图片小了同样会增加页面的渲染计算量,那么这时也许就需要用CSS滤镜了。假如有这样一个例子:“有一个DIV块,此DIV是黑色半透明的,但此DIV里面的内容要保持原状,不能透明”,那么我们该怎么做呢?假如HTML部分我们这样写的
阅读全文
摘要:Javascript屏蔽鼠标右键,其实作用也不大,也许是为了防止别人查看源代码,其实想查看源代码有多种途径,未必需要通过鼠标右键。不过当我们自定义鼠标右键弹出菜单时,也许需要这些。下面是源码:123456789101112131415161718192021222324252627Javascript屏蔽鼠标右键-前端开发-BeyondWeb.cn鼠标右键被屏蔽鼠标右键被屏蔽鼠标右键被屏蔽鼠标右键被屏蔽鼠标右键被屏蔽
阅读全文
摘要:今天群里有人问到怎么自定义select下拉选择框的样式,于是群里就展开了激烈的讨论,刚开始一直就是考虑怎样使用纯CSS实现,把浏览器默认的样式覆盖掉,但最后均因兼容问题处理不好而失败告终,最后的解决方案就是用其他的元素(如ul,li)模拟下拉菜单,或者是使用网上一些现成的插件。其实select这个东西只靠纯CSS是不能解决这个自定义样式问题的,但既然折腾了这么久,还是说一下CSS实现的思路吧。首先对于默认的样式:刚开始想到使用背景,但经试验对select设置背景是无效的,于是后来就想到了覆盖,用其它元素把那个向下的箭头盖住,然后给这个元素设置背景,写了个demo发现可行,于是就有了下面的这些。
阅读全文
摘要:获得网页的背景色和字体颜色,方法如下:思想:通过取得颜色属性值得到的是 rgb 色,不是我们想要的,所以需要将 rgb 色装换为 十六进制色 ,首先获得rgb色 :1varrgb=document.getElementById('color').style.backgroundColor;得到格式如下: rgb(225, 22, 23); 然后进行拆分:1varrgb=rgb.split('(')[1];//拆分后为[rgb,225,22,23)]形式,长度为2的数组再将 (225,22,23)字符串进行拆分(注意:只有number类型的才能转换,所以用 par
阅读全文
摘要:很多程序员认为SQL是一头难以驯服的野兽。它是为数不多的声明性语言之一,也因为这样,其展示了完全不同于其他的表现形式、命令式语言、面向对象语言甚至函数式编程语言(虽然有些人觉得SQL还是有些类似功能)。 我每天都写SQL,我的开源软件JOOQ中也包含SQL。因此我觉得有必要为还在为此苦苦挣扎的你呈现SQL的优美!下面的教程面向于:已经使用过但没有完全理解SQL的读者已经差不多了解SQL但从未真正考虑过它的语法的读者想要指导他人学习SQL的读者 本教程将重点介绍SELECT语句。其他DML语句将在另一个教程中在做介绍。接下来就是… 1、SQL是声明性语言 首先你需要思考的是,声明性。你...
阅读全文
摘要:CSS和JavaScript: 在各个浏览器版本中的分界线似乎变得越来越模糊,两者所完成的功能差异非常明显,但说到底他们都是前端技术,所以确实需要紧密地配合。虽然我们将代码拆分到独立的 .js 文件和 .css 文件中,但他们之间还能进行一些更密切的交互,这些通常是普通JS框架所不支持的。 下面是你可能不知道的CSS和JS的交互的5种方式: 使用JavaScript获取CSS伪元素属性 我们可以通过DOM元素的 style 属性获取基本的CSS样式值, 但怎么获取CSS伪元素属性呢? 确实,JavaScript提供了相应的API:12345678910// 获取 .element:b...
阅读全文
摘要:优秀的Web开发人员工作效率更高,因为他们拥有丰富的经验和良好的习惯。作者Gregor Dorfbauer分享了用于Web开发中的8个好习惯,这些良好的工作习惯不仅能提高效率,还能让您创建更加优秀的应用,让您的工作事半功倍。 1. 使用Bug追踪系统 想要做好软件开发并非易事,这里面还包含大量的功能需求、Bug报告以及用户反馈的内容都值得我们好好去摸索。也许有的时候你会收到有关需求的要点列表邮件(如果幸运的话),再好不过了,因为用户愿意花时间来给你写邮件反馈信息,尽管这些邮件有的并不是真的有用。 使用Bug追踪/项目管理解决方案,比如Basecamp(提供消息板,待办事宜,简单调度,...
阅读全文
摘要:什么是CSS Hack? 不同的浏览器对CSS的解析结果是不同的,因此会导致相同的CSS输出的页面效果不同,这就需要CSS Hack来解决浏览器局部的兼容性问题。而这个针对不同的浏览器写不同的CSS 代码的过程,就叫CSS Hack。CSS Hack 形式 CSS Hack大致有3种表现形式:CSS属性Hack、CSS选择符Hack以及IE条件注释Hack, Hack主要针对IE浏览器。 1、属性级Hack:比如IE6能识别下划线"_"和星号" * ",IE7能识别星号" * ",但不能识别下划线"_",而fire
阅读全文
摘要:我使用jQuery已经有相当长的时间了,并且我会常常为它写一些插件(plugin)。我尝试过用不同的方式去写,现在这个模板是我最喜欢的:123456789101112131415161718192021222324252627282930313233;(function($) {// multiple plugins can go here(function(pluginName) {var defaults = {color: 'black',testFor: function(div) {return true;}};$.fn[pluginName] = function(
阅读全文
摘要:在Usersnap,我们在能很好的组织网站开发有超过20(总和)年的经验。我们认为这些过去的经验能让我们很好的分辨出什么是好、坏和丑陋的网站开发。如今我们不想把注意力放在消极的部分,但就这一次,我们将把以往不好的地方做一下总结。 1.将20个关键点用邮件发出去 将20个关键点邮件发给别人,列出所有的bug、功能需求和别人被拒绝的要求,是和商品一样的问题。通常他们会带来指责或者类似“为什么你不解决掉$XY这个问题?我五个周之前不是就提指出了吗?”这样的追问。一旦你的开发经理不把这些对话落实到切实可行的计划,你就可能忘记事情。与其抱怨所有的这些事情你妈妈都没有教过你,不如尝试教给你的客户或者...
阅读全文
摘要:代码高亮很有用,特别是在需要在网站或者blog中显示自己编写的代码的时候,或者给其他人查看或调试语法错误的时候。我们可以将代码高亮,以便阅读者可以十分方便的读取代码块,增加用户阅读代码的良好体验。目前,有很多免费而且有用的代码高亮脚本。这些脚本大多是由Javascript语言编写,也有些使用其它语言(比如java、Phyton或Ruby)等写的。下面来推荐最受欢迎、最实用的9个Javascript代码高亮脚本。1.SyntaxHighlighter我相信这是最普遍代码高亮代码。它支持多种不同的语言,而且如果你使用的语言不被默认支持,你也可以很简单的创建新“刷子”。2.SHJSSHJS是Synt
阅读全文
摘要:即使 WEB 设计已经成为一个真正的产业,开发一个网站仍旧是技术和艺术的结合。一个网站的设计即可以带来大量流量,同时也可以吓走大量用户。当然这些都和设计师相关。经验,天份和能力三方面的努力是一个设计师最强大的工具,一个设计精良的布局是所有这些的基础。而且,这也是一个非常耗时的工作。 设计一个非常好的布局是一件非常不容易的事情,而且判断的方式也非常的主观。任何一个设计可能会取悦你,也可能让其它人厌恶。尽管这样,这里仍旧有些大家都承认的设计误区。 为了帮助大家来避免这些错误和误区,我们列出了一些设计的小技巧。我们同时也希望大家能够帮助我们完善这些小技巧。不管怎么说,希望大家能帮助我在下面留言...
阅读全文
摘要:数据库设计是整个程序的重点之一,为了支持相关程序运行,最佳的数据库设计往往不可能一蹴而就,只能反复探寻并逐步求精,这是一个复杂的过程,也是规划和结构化数据库中的数据对象以及这些数据对象之间关系的过程。下面给出了20个数据库设计最佳实践,当然,所谓最佳,还是要看它是否适合你的程序。一起来了解了解吧。使用明确、统一的标明和列名,例如 School, SchoolCourse, CourceID。数据表名使用单数而不是复数,例如 StudentCourse,而不是StudentCourses。数据表名不要使用空格。数据表名不要使用不必要的前缀或者后缀,例如使用School,而不是TblSchoo..
阅读全文
摘要:很早以前就接触过CSS,但对于浮动始终非常迷惑,可能是自身理解能力差,也可能是没能遇到一篇通俗的教程。 前些天小菜终于搞懂了浮动的基本原理,迫不及待的分享给大家。 写在前面的话: 由于CSS内容比较多,小菜没有精力从头到尾讲一遍,只能有针对性的讲解。 如果读者理解CSS盒子模型,但对于浮动不理解,那么这篇文章可以帮助你。 小菜水平有限,本文仅仅是入门教程,不当之处请谅解! 本文以div元素布局为例。 教程开始: 首先要知道,div是块级元素,在页面中独占一行,自上而下排列,也就是传说中的流。如下图: 可以看出,即使div1的宽度很小,页面中一行可以容下div1和div2,d...
阅读全文
摘要:1.1.1 摘要 在开发过程中,我们不时会遇到系统性能瓶颈问题,而引起这一问题原因可以很多,有可能是代码不够高效、有可能是硬件或网络问题,也有可能是数据库设计的问题。 本篇博文将针对一些常用的数据库性能调休方法进行介绍,而且,为了编写高效的SQL代码,我们需要掌握一些基本代码优化的技巧,所以,我们将从一些基本优化技巧进行介绍。 本文目录代码中的问题数据库性能开销使用存储过程使用数据库事务使用SqlBulkCopy使用表参数 1.1.2 正文 假设,我们要设计一个博客系统,其中包含一个用户表(User),它用来存储用户的账户名、密码、显示名称和注册日期等信息。 由于时间的关系,我们已...
阅读全文
摘要:自网站诞生以来,响应速度/响应时间一直都是大家关心的话题,而速度慢乃是网站的一个杀手,正当大家以为四核和宽带能力的提升能够解决这些问题时,Wi-Fi和移动设备为热点移动互联网又悄然兴起。 在2006年,Amazon曾做过一个报道,响应时间每提高100ms,他们便会增加1%的收入。优化的价值已显而易见,但到底多快才是个标准,或者速度有多快才算够快呢?那么到底什么是响应时间,它有多大的价值? 从技术上来讲,响应时间是指用户发送一个指令(例如,一个页面请求)浏览器接收到完成加载的时间。定义看起来非常简单,但当你在思考如何设计一个带有许多额外对象的现代网页时,响应时间对用户体验是非常重要的,并...
阅读全文
摘要:jQuery的数组处理、便捷、功能齐全。最近的项目中用到的比较多,深感实用,一步到位的封装了很多原生JavaScript数组不能企及的功能。最近时间紧迫,今天抽了些时间回过头来看jQuery中文文档中对数组的介绍,顺便对jQuery数组做个总结,温故而知新。强烈建议你打开DEMO演示后再看下面的详解:http://mrthink.net/demo/ijq20101125.htm1. $.each(array, [callback]) 遍历[常用]解释: 不同于例遍jQuery对象的$().each()方法,此方法可用于例遍任何对象。回调函数拥有两个参数:第一个为对象的成员或数组的索引, 第二个
阅读全文
摘要:有这样一个场景——有个用户初访并登录了你的网站,然而第二天他又来了,却必须再次登录。于是就有了“记住我”这样的功能来方便用户使用,然而有一件不言自明的事情,那就是这种认证状态的”旷日持久“早已超出了用户原本所需要的使用范围。这意味着,他们可以关闭浏览器,然后再关闭电脑,下周或者下个月,乃至更久以后再回来,只要这间隔时间不要太离谱,该网站总会知道谁是谁,并一如既往的为他们提供所有相同的功能和服务——与许久前他们离开的时候别无二致。 我在谈论的就是这个“小家伙”: 看上去是不是很巧很好用?那是当然,但你也将看到,即便使用得当,它能引发的那一茶几悲剧也绝非偶然,少说能有一车皮的人准备告诉你它...
阅读全文
摘要:一、Web页面切图1) Web页面的切图类型可以归纳为背景(bg)、列表项目的符号(li)、内容中插入的图片(pic)、按钮(btn)、图标等几种形式(ico)。2) 建议把用CSS背景加载的图片拼合成一张图片。这样可减少对服务器的请求。从而提升页面加载速度。3) 除页面头部大图保存格式为JPG外,其他图片一律采用gif格式二、CSS相关事项:1) 所有的xhtml代码小写。2) 每个标签都要有开始和结束,且要有正确的层次,没有结束标签的,标签后加上"/"。 如:、3) 所有的属性必须用引号""括起来。4) 文档类型必须声明,禁止文档类型乱用。5) 所有
阅读全文
摘要:更新 2014年2月27日:这篇文章最初只描述使用 PDFBox 来解析PDF文件。现在它已经被扩展到包括使用 IFilter 和 iTextSharp 的例程了。 这篇文章和对应的Visual Studio项目已经更新到目前最新的 PDFBox 版本(1.8.4)。可以从http://www.squarepdf.net/how-to-convert-pdf-to-text-in-net-sample-project/下载包含所有依赖内容的完整项目(要消除依赖关系有点棘手)。 如何解析 PDF 文件 在.NET中从PDF文件里提取文本的几种主要方法有:Microsoft 的 IFilt...
阅读全文
摘要:写了这么久的CSS,但大部分前端er都没有按照良好的CSS书写规范来写CSS代码,这样会影响代码的阅读体验,这里总结一个CSS书写规范、CSS书写顺序供大家参考,这些是参考了国外一些文章以及我的个人经验总结出来,我想对写CSS的前端用户来说是值得学习的。 CSS书写顺序 1.位置属性(position, top, right, z-index, display, float等) 2.大小(width, height, padding, margin) 3.文字系列(font, line-height, letter-spacing, color- text-align等) 4.背景...
阅读全文
摘要:去年,Android应用数量已经超过iOS成为全球最大的生态系统,不过在这多大百万的应用中,有些应用的下载量很大,赚的盆满钵满;另外一些应用就石沉大海、无人问津了。 拥有多年程序开发经验,最近在开发Android应用Sliding Explorer的Shirwa Mohamed就总结了一些看似普通却非常实用的Tips,我们来一起看看。 1、遵循Andriod开发手册 谷歌已经为开发者提供了一整套开发范例,虽然不是强制采用,但按照手册来进行编程无疑可以让你对Android系统如何运行你的程序理解的更加清晰,用户的使用体验也能保证完好的一致性。 比如手册中对导航抽屉有非常详细的讲解,在...
阅读全文
摘要:网站数据统计分析工具是网站站长和运营人员经常使用的一种工具,比较常用的有谷歌分析、百度统计和腾讯分析等等。所有这些统计分析工具的第一步都是网站访问数据的收集。目前主流的数据收集方式基本都是基于javascript的。本文将简要分析这种数据收集的原理,并一步一步实际搭建一个实际的数据收集系统。 数据收集原理分析 简单来说,网站统计分析工具需要收集到用户浏览目标网站的行为(如打开某网页、点击某按钮、将商品加入购物车等)及行为附加数据(如某下单行为产生的订单金额等)。早期的网站统计往往只收集一种用户行为:页面的打开。而后用户在页面中的行为均无法收集。这种收集策略能满足基本的流量分析、来源分析...
阅读全文
摘要:注* 作者发表这篇文章的时间较早,某些方法可能并不是最好的解决方案,但针对这种漏洞进行的攻击还依然可见,如早期的:QQMail邮件泄露漏洞,下面介绍的是对这种攻击原理的介绍。 不久之前,我写了一篇文章《一个微妙的JSON漏洞》,文中讲到这个漏洞可能会导致敏感信息泄露。针对该漏洞的特点,通过覆盖JavaScript数组构造函数以窃取(暴露)JSON返回数组,而现在大多数浏览器还无法防范这种攻击。 然而,通过和微软的Scott Hanselman交流,我了解到另外一个方法可能会影响更多的浏览器。在上周的挪威开发者大会上,我做了一个针对Json劫持漏洞的演示。 在我进一步讲之前,我先说一说...
阅读全文
摘要:现代Web设计技术允许开发者快速实现大多数浏览器支持的动画。我想警告消息是很常见的,因为默认的JavaScript警告框的样式往往(与你自己设计的漂亮样式)很不协调很囧。这使开发者步入找出哪种解决方案能更好地实现更友好的用户界面的道路。 在这个教程中我想解释一下我们如何能把几个将要出现在网页上方的CSS3通知框放在一起。用户可以点击这些通知框使它们逐渐淡出消失,最终将他们从DOM中移除。作为一个有趣的附加功能,我还包括了一个按钮,你可以点击它来添加一个新的警告框到页面顶部。你可以下载查看一下我的示例演示,以对我们将做的事情有一个更好的了解。实际演示–下载源代码 建立页面 首先, 我们需...
阅读全文
摘要:不管你现在的编程技能有多么的高超,曾经你也是个亦步亦趋,不断的学习的初学者。在编程这条曲折的道路上,我想你肯定犯过一些低级的错误、遇见过一些普通的编码陷阱。本文作者跨越多个语言,为大家总结了20条常规陷阱,并提供了解决方案。 JavaScript篇 1.不必要的DOM操作 例如下面这段代码:12345// anti-patternfor (var i = 0; i ").html("This is list item #" + (i+1));$("#someUL").append(li);} 这段代码对DOM进行了100次修改,并且创建了100
阅读全文