使用PHP进行异步HTTP请求
使用JavaScript/Ajax可轻松实现异步HTTP请求,本文介绍使用PHP进行异步HTTP请求。所谓异步HTTP请求是指:HTTP协议基于TCP且是基于状态的,client和server建立连接后发送请求需要等到server处理结束并返回后才可以断开连接。某些情况下,client端只需要发出自己的请求即可,不需要知道server端的响应,这个时候即需要实现client端发出异步HTTP请求。另外,在长耗时应用中(请求的server端任务比较耗时,超过HTTP timeout时间甚至更长),也可以考虑使用异步HTTP请求出发该任务。关于长耗时应用也可以参考该文。
阅读全文»
Tags: http, PHP, 异步请求 | 3 评论 »
Linux环境下的软件安装,并不是一件容易的事情;如果通过源代码编译后再安装,当然事情就更为复杂一些;现在安装各种软件的教程都非常普遍;但万变不离其中,对基础知识的扎实掌握,安装各种软件的问题就迎刃而解了。Configure脚本配置工具就是基础之一,它是autoconf的工具的基本应用。
与一些技巧相比,Configure显得基础一些,当然使用和学习起来就显得枯燥乏味一些,当然要成为高手,对基础的熟悉不能超越哦。
为此我转载了一篇关于Configure选项配置的详细介绍,供大家参考。
阅读全文»
Tags: configure, linux | 2 评论 »
DOM属性和方法:
document方法:
getElementById(id) 返回指定结点的引用
getElementsByTagName(name) 返回文档中所有匹配的元素的集合
createElement(name) 创建指定类型的新结点
createTextNode(text) 创建一个纯文本结点
element方法:
getAttribute(id) 返回指定属性的值
setAttribute(id,value) 给属性赋值
removeAttribute(id) 移除指定属性和它的值
getElementsByTagName(name) 返回结点内所有匹配的元素的集合
node方法:
appendChild(child) 给指定结点添加一个新的子结点
removeChild(child) 移除指定结点的子结点
replaceChild(newChild,oldChild) 替换指定结点的子结点
insertBefore(newChild,refChild) 在同一层级的结点前面插入新结点
hasChildNodes() 如果结点有子结点则返回true
阅读全文»
Tags: dom, javascript, 属性, 方法 | 6 评论 »
代码优化分多个方面,而性能是主要的优化目标。本文将从对象缓存、DOM操作等14个方面讲解如何优化jQuery代码的执行效率,从而总体提升代码性能。
原文(英文)链接:http://www.artzstudio.com/2009/04/jquery-performance-rules/
1、总是从ID选择器开始继承
在jQuery中最快的选择器是ID选择器,因为它直接来自 于JavaScript的getElementById()方法。
例如有一段HTML代码:
1
2
3
4
5
6
7
8
9
10
11
| <div id="content">
<form method="post" action="#">
<h2>交通信号灯</h2>
<ul id="traffic_light">
<li><input type="radio" class="on" name="light" value="red" /> 红色</li>
<li><input type="radio" class="off" name="light" value="yellow" /> 黄色</li>
<li><input type="radio" class="off" name="light" value="green" /> 绿色</li>
</ul>
<input class="button" id="traffic_button" type="submit" value="Go" />
</form>
</div> |
如果采用下面的选择器,那么效率是低效的。
var traffic_button = $(“#content .button”);
因为button已经有ID了,我们可以直接使用ID选择器。如下所示:
var traffic_button = $(“#traffic_button”);
当然 这只是对于单一的元素来讲。如果你需要选择多个元素,这必然会涉及到 DOM遍历和循环,为了提高性能,建议从最近的ID开始继承。
如下所示:
var traffic_lights = $(“#traffic_light input”);
2、在class前使用tag(标签名)
在jQuery中第二快的选择器是tag(标签)选择器比 如:
$(“head”)
跟ID选择器累时,因为它来自原生的getElementsByTagName() 方法。继续看刚才那段HTML代码:
1
2
3
4
5
6
7
8
9
10
11
| <div id="content">
<form method="post" action="#">
<h2>交通信号灯</h2>
<ul id="traffic_light">
<li><input type="radio" class="on" name="light" value="red" /> 红色</li>
<li><input type="radio" class="off" name="light" value="yellow" /> 黄色</li>
<li><input type="radio" class="off" name="light" value="green" /> 绿色</li>
</ul>
<input class="button" id="traffic_button" type="submit" value="Go" />
</form>
</div> |
比如需要选择红绿单选框,那么可以使用一个tag name来限制(修饰)class ,如下所示:
var active_light = $(“input.on”);
当然也可以结合 就近的ID,如下所示:
var active_light = $(“#traffic_light input.on”);
在使用tag来修饰class的时候,我们需要注意以下几点:
(1) 不要使用tag来修饰ID,如下所示:
var content = $(“div#content”);
这样一来,选择器会先遍历所有的div元素,然后匹配#content。
(2)不要画蛇添足的使用ID来修饰ID,如下所示:
var traffic_light = $(“#content #traffic_light”);
阅读全文»
Tags: jquery, 优化, 实践, 性能 | 2 评论 »
大小不固定的图片和多行文字的垂直水平居中
一、大小不固定,多行文字的垂直居中
① 单行文字
可能很多人都知道如何让单行文字垂直居中显示,就是使用line-height,将line-height值与外部标签盒子的高度值设置成一致就可以了。例如:
单行文字居中显示测试,css样式为:height:3em; line-height:3em;……
② 多行文字
但是对于外框高度固定,文字大小个数不固定的多行文字呢?
文字可能一行显示,也有可能多行显示;文字可能是小号字体,也有可能是大号的。这时候如何让其垂直居中显示呢?看下面!
这里的文字用来做多行文字垂直居中对齐的测试。
这是第二行文字,您还可以再添加一行文字做测试!
这是隐藏的第三行文字,注意到文字的变化没,依旧垂直居中。
Tags: CSS, 图片居中, 垂直居中, 多行, 文字居中 | 2 评论 »
最近看了一些Linux命令行的文章,在系统信息查看方面学到不少命令。想起以前写过的一篇其实Linux这样用更简单,发现这些系统信息查看命令也可以总结出一篇小小的东西来了。
另外这里还有非常多的命令,可以作为参考。
系统
1
2
3
4
5
6
7
8
| # uname -a # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量 |
阅读全文»
Tags: linux, Slackware | 评论 »
* ~* 为不区分大小写匹配
* !~和!~*分别为区分大小写不匹配及不区分大小写不匹配
文件及目录匹配,其中:
* -f和!-f用来判断是否存在文件
- * -d和!-d用来判断是否存在目录
- * -e和!-e用来判断是否存在文件或目录
- * -x和!-x用来判断文件是否可执行
flag标记有:
* last 相当于Apache里的[L]标记,表示完成rewrite
- * break 终止匹配, 不再匹配后面的规则
- * redirect 返回302临时重定向 地址栏会显示跳转后的地址
- * permanent 返回301永久重定向 地址栏会显示跳转后的地址
一些可用的全局变量有,可以用做条件判断(待补全)
阅读全文»
Tags: Nginx, rewrite | 评论 »
经常忘记一些常用的JS函数,干脆保存下来了,便于自己查找,^_^
JS自带函数
concat
将两个或多个字符的文本组合起来,返回一个新的字符串。
var a = “hello”;
var b = “,world”;
var c = a.concat(b);
alert(c);
//c = “hello,world”
indexOf
返回字符串中一个子串第一处出现的索引(从左到右搜索)。如果没有匹配项,返回 -1 。
var index1 = a.indexOf(“l”);
//index1 = 2
var index2 = a.indexOf(“l”,3);
//index2 = 3
阅读全文»
Tags: javascript, js, 字符串函数 | 评论 »
在成立仅一年的时间里,浪莎商城已从成立之初的默默无闻一举成为当前针织品B2C的领先者。目前,浪莎商城已拥有数万名的金领会员及五百名加盟客户,数千家联盟客户,为自身发展奠定了坚实的基础。
提及国内B2C领域的行业翘楚,人们会自然联想到京东商城、当当、凡客等割据一方的行业大腕们,他们身后的大背景、大资金、大营销、大业绩往往是业内关注的重点话题。然而,在B2C行业巨头们大手笔运作的背后,却也有不少在投入产出与经营规模上难以望其项背的B2C小门小户,依然通过自身的创新经营开拓出了属于自己的市场空间。其中,专注于袜子专卖的浪莎B2C商城,便是一支在细分市场强势崛起的新力量。在成立仅一年的时间里,浪莎商城已从成立之初的默默无闻一举成为当前针织品B2C的领先者。目前,浪莎商城已拥有数万名的金领会员及五百名加盟客户,数千家联盟客户,为自身发展奠定了坚实的基础。
阅读全文»
Tags: 浪莎商城, 电子商务 | 1 评论 »

gilt
互联网上,电子商务,一向标榜的主题在于便宜、方便,只是不知何时开始,珠宝、服装为代表的奢侈品纷纷登录互联网,即便是面对少数受众,但也引起购买与消费的热潮,比如我们曾经介绍过的时尚租赁网站BagBorrowOrSteal.com,让你平价享受奢华感觉。当然,这其中也有折扣价格带来的便宜诱惑,也有会员制模式引领的忠实消费,当这二者结合到一起,就是【酷站商业模式】所介绍的Gilt.com——采用会员制模式的奢侈品折扣网站。
阅读全文»
Tags: Gilt, VipShop, 会员制网站, 电子商务 | 评论 »