Web
文章平均质量分 80
Ant
生活每一天都是挑战,离成功还差得很远!
展开
-
Css3 via IE7 8 9
一直苦思一个问题:怎么样才能让新的Css3的特性在古老的IE浏览器上正常显示,乍一看有点强人所难,因为国外的许多优秀Html5网站都公开不支持IE浏览器了,然而在国内在很长一段时间无法割舍IE这个捣蛋的体验之毒瘤的。最近在网上发现两个比较好的框架,至少能解决一部分问题:1. PIE: http://css3pie.com/2. IE7/8/9.js: http://code.g原创 2014-01-23 17:10:13 · 2749 阅读 · 0 评论 -
Selenium源码分析之WebDriver
最近比较空闲就仔细看了一下Selenium的源码,因为主要是使用WebDriver所以重点关注了一下WebDriver的工作原理。在前一篇blog里已经解释过了WebDriver与之前Selenium的JS注入实现不同,直接利用了浏览器native support来操作浏览器。所以对于不同平台,不同的浏览器,必须依赖一个特定的浏览器的native component来实现把WebDriver原创 2012-09-12 14:09:38 · 20368 阅读 · 7 评论 -
【转】关于不同浏览器对URL编码的分析
先来看看三个url:url1. http://hi.baidu.com/爱宝的妍url2. http://hi.baidu.com/%E7%88%B1%E5%AE%9D%E7%9A%84%E5%A6%8D (UTF-8 编码)url3. http://hi.baidu.com/%B0%AE%B1%A6%B5%C4%E5%FB (GBK 编码) 这三个url指向同一个网页,而转载 2009-07-20 09:12:00 · 7742 阅读 · 3 评论 -
CSS开发小结
最近做Web开发比较多,总结一下碰到的CSS技巧: 1、具有兼容性的层透明问题大部分的人都习惯用IE特有的filter来制作半透明的Div层,可是碰到其他浏览器的时候怎么办?每个浏览器都有自己的透明语法,用下面方法将它们兼容起来是比较好的: .layer{ position: absolute; width: 100px; height:100px; top:0原创 2009-05-09 14:29:00 · 1111 阅读 · 0 评论 -
关于IE特有的showModelDialog【转】
Javascript有许多内建的方法来产生对话框,如:window.alert(), window.confirm(),window.prompt().等。 然而IE提供更多的方法支持对话框。如: showModalDialog() (IE 4+ 支持) showModelessDialog() (IE 5+ 支持) window.showModalDialog()方法用来转载 2009-04-29 17:33:00 · 2199 阅读 · 0 评论 -
跨浏览器的Web小结
自从Web2.0时代开始,网页的开发变得更加丰富生动,同时对于Web开发人员来说,浏览器的兼容问题,也成了编码过程中的噩梦。不单单是IE和Firefox的厂商兼容,还一度出现过IE6/7/8的不同代浏览器的兼容问题。即使IE8向W3C靠拢,大家都开始遵循共同的CSS标准,还存在对Js不同版本的兼容问题 (现在都交给ECMA去制定Js的语法和扩展了)。另外,就算CSS和Js都不存在太大的差异了,别忘原创 2009-07-12 17:13:00 · 1269 阅读 · 0 评论 -
Ajax、Comet、HTML 5 Web Sockets技术分析比较【转】
九十年代中期,WWW以迅猛之势转眼跻身传播信息的主要渠道之一。浏览器的身影开始无处不在,用户也随之开始适应这种信息传播方式。显然,WWW提 供的应用平台能够赢得历史上任何一个平台都无法比及的用户量。但当时很难实现这样的目标是因为一些标准(HTML、HTTP等)都不很完善,这些标准设计 的时候都没有考虑到高度交互和富客户体验。最初的一些富在线应用基本上都是由Microsoft Exchange开发组转载 2009-06-01 12:12:00 · 3300 阅读 · 1 评论 -
DOM事件模型总结
在浏览器解析事件的时候,有两种触发方式,一种叫做Bubbling(冒泡),另外一种叫做Capturing(捕获)。由上图可以看出来,冒泡的方式效果就是当一个DOM元素的某事件例如click事件被fire时,依次它的父元素的click事件也被fire(触发),一直传递到最顶层的body元素为止。而捕获的触发方式正好相反,当某个元素的click事件被触发时,先从最顶层的body元素click事件被触发原创 2009-05-29 17:26:00 · 1718 阅读 · 0 评论 -
【转】HTTP请求模型
一、连接至Web服务器一个客户端应用(如Web浏览器)打开到Web服务器的HTTP端口的一个套接字(缺省为80)。例如:http://www.myweb.com:8080/index.html在Java中,这将等同于代码:Soceet socket=new Socket("www.myweb.com",8080);InputStream in=socket.getInput转载 2009-05-16 22:27:00 · 1324 阅读 · 0 评论 -
自制Js支持农历日历
这几天闲来无聊,就自己做了一个Js版本的农历日历,由于Js的日期是从1970年1月1日开始计时的以偏移量来计算周期的,所以日历就暂时只支持1970年以后的日期。另外查询了一下农历日期的计算方法,发现没有数学模型和公式可循,只能以古历的不规则数组进行提取换算,所以就保存了1970到2050范围内的转换参数,日历支持的上限就就到2050年为止。 效果图如下: 源码如下: /**原创 2009-04-23 11:41:00 · 3660 阅读 · 5 评论 -
Web开发伪静态技术
现如今都提倡面向搜索引擎开发Web应用,提供内容型的网站都希望能被搜索引擎顺利的索引到。且不提百度的竞价排名,针对搜索引擎做一些必要的配合是应该的。搜索引擎的原理其实就是对网站内容的字符串处理,当你搜索某一关键字的时候,它会遍历所有可访问的链接和子链接,在HttpResponse的Content里去索引关键字,查找到以后就会增加计数。 现在许多Web应用都是用Jsp或者Asp、php进行开原创 2009-05-14 12:33:00 · 1414 阅读 · 0 评论 -
配置方案:php5.0+Apache2.2
待业在家实在无聊,工作暂时没有着落,于是开始捡一捡php,重新配置了一下Apache HttpServer2.2和PHP5.0,这里把配置过程整理一下,以便加深记忆: Apache HttpServer 2.2在apche.org官方下载最新的HttpServer版本,文件名为“apache_2.2.11-win32-x86-no_ssl.msi”,双击直接安装就可以了,我是自定义安装原创 2009-05-13 14:34:00 · 1601 阅读 · 0 评论 -
关于对Selenium的理解
使用Selenium做Web自动化测试也不是一天两天了。直到最近看到TW内部的一位哥们的博客,才真的理解Selenium的发展历史。由于笔者开始使用的时候,已经是2.20.x,直接就上了WebDriver。其实有一些疑问还是一直在心中萦绕,不过现在清楚了。特此总结一下。参考博客:http://tuohuang.thoughtworkers.org/?p=157Selenium RC原创 2012-09-11 20:08:45 · 9351 阅读 · 1 评论 -
有关REST的一点学习笔记
REST的意思是表征状态转移(Representational State Transfer),它是一种基于HTTP协议的网络应用接口风格,充分利用HTTP的方法实现统一风格接口的服务。其中包括了一下8种方法:GET: 请求获取指定资源POST: 向指定资源提交数据PUT: 请求服务器存储一个资源HEAD: 获取资源的响应头DELETE: 请求服务器删除指定资源TRACE: 回显服务器原创 2012-09-10 15:52:31 · 6567 阅读 · 1 评论 -
Javascript Closure[1]
[译文-上半部分]Closure介绍Js闭包是一种封闭代码块(一般来说是一个函数),它包含了自由变量和绑定这些自由变量的环境,这些变量不是在这个代码块或者全局作用域定义的,而是在定义代码块的环境中定义。 闭包是Javascript中最强大的特性之一,但是在完全理解它之前这种强大的功能很难能发挥出来。创建闭包相对而言比较简单,有时甚至是意外的创建了闭包,而意外闭包的创建往往存在潜伏的翻译 2008-09-21 21:33:00 · 1329 阅读 · 2 评论 -
Javascript Closure[2]
Closures (闭包)垃圾回收机制 (Garbage Collection)ECMAScript使用自动垃圾回收机制,规范中并没有定义垃圾回收的细节,而是把具体实现留给了各浏览器厂商,比如有一些实现赋予垃圾回收器非常低的优先级(可能导致内存泄漏)。一般而言默认的原则是一个无法被引用了的对象,即所有对它的引用都变得不可访问的时候,它就变成了一个可回收的对象并且在将来的某个时间会被翻译 2008-09-24 12:38:00 · 1746 阅读 · 1 评论 -
Css3中的Transition
原文出自:http://www.w3cplus.com/content/css3-transition | http://www.w3cplus.com/content/css3-transform笔者:最近研究Css3比较多,主要都是从国外的优秀网页中学习到一些设计思想和样式技巧,其中对Transform和Transition印象比较深,这两个特性真正给网页带来了许多精致的体验,可惜IE转载 2013-12-22 10:51:04 · 2580 阅读 · 0 评论 -
Css3中的Transform
原文出自:http://www.w3cplus.com/content/css3-transition | http://www.w3cplus.com/content/css3-transform笔者:最近研究Css3比较多,主要都是从国外的优秀网页中学习到一些设计思想和样式技巧,其中对Transform和Transition印象比较深,这两个特性真正给网页带来了许多精致的体验,可惜IE10转载 2013-12-22 10:38:39 · 2734 阅读 · 0 评论 -
NodeJS的模块原理
最近一直在使用Node JS,在网上看到了一段代码我觉得完美的诠释了Node JS模块加载的原理,其实深究下去,它还诠释了许多东西:Js模块化编程、闭包的真正强大之处等等。闲话不说,先看看这段代码:// - hello.jsvoid function() { var mapping = {}, cache = {}; window.define = function(原创 2013-11-16 23:40:42 · 3589 阅读 · 1 评论 -
CSS3笔记
CSS3 属性选择器[att*=val] 当attr包含val时候[att^=val] 当attr以val开头时[att$=val] 当attr以val结尾时CSS3 伪类选择器a:linka:visiteda:hovera:activea:enableda:disabledinput:checkedinput:focusinput:re原创 2013-10-08 16:26:44 · 2441 阅读 · 0 评论 -
HTML5 学习小结
HTML5 小结使用HTML5也是断断续续的有些历史了,但是没有系统的总结过,最近发现公司的图书馆有不少藏书,就借了一本HTML5+CSS3的快速阅读了一下,重温了一些知识,顺便做一下小结: HTML5特性相对于传统网页技术来说,首先我们得明白为什么HTML5会出现。它带来的改变和规范并不是一点小改动而已,在网页技术的方方面面,甚至前端后端都有深远的影响。比如:描述性更强的新标签,原创 2013-06-04 14:46:36 · 6026 阅读 · 1 评论 -
深入研究JavaScript的Module模式
原文出处:http://blog.jobbole.com/40409/Module模式是常见的JavaScript编程模式,一般来说这种模式是很好理解的,但是依然有一些高级的用法没有得到太多的注意。在这篇文章中我会提到Module模式的基础知识和一些真正重要的话题,包括一个可能是我原创的。基础知识首先我们要大概了解一下Module模式(2007年由YUI转载 2013-05-31 09:53:34 · 2830 阅读 · 1 评论 -
为什么事件驱动服务器这么火
原文出处:http://geogeo.github.com/blog/2012/12/31/node-dot-js-vs-tornado-vs-php/OPPC模型瓶颈传统服务器模型如Apache为每一个请求生成一个子进程。当用户连接到服务器的一个子进程就产生,并处理连接。每个连接获得一个单独的线程和子进程。当用户请求数据返回时,子进程开始等待数据库操作返回。如果此时另一个用户转载 2013-03-14 10:15:52 · 4556 阅读 · 0 评论 -
Javascript杂谈
一种误解是Javascript跟Java有渊源。其实很多书上也提到了Js的历史,笔者简单说一下。Javascript最早是由网景公司开发的一种脚本语言,其语法源头大部分是借鉴另外一门脚本语言Perl,早期的名称是Livescript, 跟Java完全不相关。最后改成Javascript并一致流行到现在完全是网景公司(Netscape跟Sun公司的一种行销策略)。现在的Js官方名称应该叫ECMA原创 2008-09-18 22:33:00 · 1207 阅读 · 0 评论 -
Javascript继承机制总结
一直想对Javascript再次做一些总结,正好最近自己写了一个小型Js UI库,总结了一下Js的继承机制,在网上也看了一些前辈们博客里的总结,感觉分析不是特别全面。这里仅仅是把自己的学习体会拿出来分享一下,希望对大家学习Javascript有所帮助。Javascript本身是从Perl语言的语法演变而来的,本质上是脚本语言,随着版本的更新逐渐加入的对面向对象的模拟。我认为Js的面向对象模原创 2008-09-09 13:11:00 · 1287 阅读 · 1 评论 -
Web Page Performance
Overview现下Web项目越来越多,如何衡量Web应用的性能,也成了开发或者测试人员不得不着重考虑的问题。传统方式下可能会使用项目日志,或者LoadRunner等工具对Web页面进行监测以得到一份能反应性能的数据。仅从客户端角度来看,当浏览器输入一个网址访问一个Web页面时,网络状况、浏览器渲染页面的速度、Web应用本身解析Request回复Response等因素和时间,共同组成了整个页面原创 2012-07-25 16:54:14 · 2058 阅读 · 0 评论 -
Selenium WebDriver使用经验杂记
(一) To Handle AjaxSelenium WebDriver在加载页面的时候,无论是driver.get(url)或者driver.getPageSource(),会立即返回当时页面的数据。但当代的网页技术都大量使用了异步Ajax调用,这使得许多DOM元素的创建和加载,都分布在页面load结束后的许多零散的时间点,让WebDriver的findElement经常无功而返。这个时原创 2012-11-15 10:55:13 · 15384 阅读 · 3 评论 -
互联网性能测试杂记
淘宝性能测试白皮书: http://wenku.baidu.com/view/924afe2d2af90242a895e541.htmlPV(page view),即页面浏览量,或点击量,通常是衡量一个网络新闻频道或网站甚至一条网络新闻的主要指标。或者简单的说,PV值就是一个访问者在24小时(0点到24点)内到底看了你网站多少个页面。PV值对于网站来说,就像电视的收视率一样,从某种程度上已转载 2012-11-14 15:33:05 · 1821 阅读 · 0 评论 -
HTML5之WebSocket
Introduction:准备实践一些HTML5的新技术来强化项目的工具。设计后台交互部分选择了HTML5的WebSocket,研究了一下基本的用法,想写点对于WebSocket实践的感受。个人觉得WebSocket的出现是对于Web应用交互性设计的一次革新。WebSocket提出之前,为了解决后台推送消息到前台的需求,提出了一些解决方案,这些方案使用已有的技术(如ajax,ifr原创 2012-06-30 15:29:34 · 4593 阅读 · 0 评论 -
Node.js介绍
这是一篇介绍Node.js的文章,个人觉得非常不错,特别是它阐明了为什么会出现Node.js这种思想的框架原文地址:http://www.ibm.com/developerworks/cn/opensource/os-nodejs/index.html?ca=drs-Node解决什么问题:Node 公开宣称的目标是 “旨在提供一种简单的构建可伸缩网络程序的方法”。当转载 2012-06-25 21:21:36 · 1956 阅读 · 0 评论 -
【转】高效整洁CSS代码原则
1. 使用Reset但并非全局Reset 不同浏览器元素的默认属性有所不同,使用Reset可重置浏览器元素的一些默认属性,以达到浏览器的兼容。但需要注意的是,请不要使用全局Reset:*{ margin:0; padding:0; } 这不仅仅因为它是缓慢和低效率的方法,而且还会导致一些不必要的元素也重置了外边距和内边距。在此建议参考YUI Rese转载 2010-04-25 23:34:00 · 1268 阅读 · 0 评论 -
ECMAScript VO and AO
ECMAScript VO and AO变量对象 (缩写为VO)就是与执行上下文相关的对象,它存储下列内容:1. 变量 (var, VariableDeclaration);2. 函数声明 (FunctionDeclaration, 缩写为FD);3. 函数的形参 VO就是执行上下文的属性之一(property)activeExecutio原创 2010-04-25 23:16:00 · 2444 阅读 · 0 评论 -
浅谈jSessionID
关于JSessionID在servlet规范中,HttpServletSession的获取时通过调用request.getSession(boolean createnew)方法来实现,其实现机制可以简单的理解为: 存在一个大的hashMap结构,key就是jsessionid,而valule是HttpservletSession对象。 request.getSession(boolean转载 2010-04-25 20:08:00 · 4455 阅读 · 0 评论 -
Monitor JVM with Different Tools
Monitor JVM with Different Tools貌似用Java开发到一定程度,就会产生某些疑惑,先知道得更深入一点,于是就研究了一些JVM的结构,读官方的JVM Specification记得是相当吃力的,尝试着翻译或者给别人讲解,然后再否定自己的不足。最近比较了一下各种JVM的调试工具,随便写点笔记吧。 首先要明确的是行业中用到的虚拟机主要有四种(其实也是四种JDK)原创 2010-04-15 21:05:00 · 1751 阅读 · 0 评论 -
【转】JBoss扩展MBean
众所周知Jboss依赖于JMX来装载MBean服务,而这些MBean服务组成了具体服务器实例的差异性。标准JBoss发布版本提供的所有功能都是基于MBean的。所以,如果要为JBoss服务器添加新的服务,最好的方法是开发自己的JMX MBean服务。MBean服务的生命周期是由如下三个JBoss MBean负责的:SARDeployer、ServiceConfigurator、Service转载 2010-03-31 09:45:00 · 1593 阅读 · 0 评论 -
Using JDB to debug Java Program
Every once in a while I run into a situation where the usual means for generating a thread dump (stack trace) does not work, making it difficult to track down pesky deadlocks. This seems somewhat m转载 2010-03-25 22:58:00 · 1693 阅读 · 0 评论 -
【转】传说最快最轻的Servlet容器Jetty
Google 应用系统引擎最初是以 Apache Tomcat 作为其 webserver/servlet 容器的,但最终将切换到 Jetty 上。 这个决定让许多开发人员都诧异的想问:为什么要做这样的改变?Tomcat 有什么问题吗? 我们获得的一次访问 Webtide ——Jetty 背后的公司——里的这个团队的机会,得到了关于这个决定背后更详细的信息。 记者: 为什么Goog转载 2010-03-02 15:36:00 · 1914 阅读 · 0 评论 -
【转】Stream API for XML(StAX介绍)
Streaming API for XML (StAX) 是用 Java™ 语言处理 XML 的最新标准。作为一种面向流的方法,无论从性能还是可用性上都优于其他方法,如 DOM 和 SAX。本系列分为 3 部分,本文是第 1 部分,简要介绍了 StAX 及其处理 XML 的基于指针的 API。 StAX 概述从一开始,Java API for XML Processing (JAXP)转载 2010-03-03 08:45:00 · 2112 阅读 · 1 评论 -
网络知识总结
链路层通信网桥工作在OSI模型中的第二层,即链路层。完成数据帧(frame)的转发,主要目的是在连接的网络间提供透明的通信。网桥的转发是依据数据帧中的源地址和目的地址来判断一个帧是否应转发和转发到哪个端口。帧中的地址称为“MAC”地址或“硬件”地址,一般就是网卡所带的地址。 但网桥互连会带来不少问题:其一是广播风暴,因为网桥对网络中广播类型的消息处理机制是不管传达内容是什么,最大原创 2009-11-27 22:10:00 · 1605 阅读 · 0 评论 -
前台开发技术那些事儿
边抽烟边写文章的时候感觉自己像个作家而不是一个软件工程师,很多人问我前台技术怎么才能学好,也有很多人不屑于前台展现技术认为那些低技术含量的。5年前也许是这样,10年前我也不知道是什么样子,因为我自己也才出道2、3年,毕业1年多而已!但是我越来越觉得前台展现技术的革新将给前台开发者的地位带来一些影响和变化,前提是他们真的不断的在与时俱进。 HTML真的那么简单么?CSS只是美工的专利么?原创 2009-09-09 22:11:00 · 2700 阅读 · 2 评论