试用html5的自动完成功能

以往的web开发中,对于表单中输入对象的自动完成功能,依赖于用户对浏览器的自定义设置。

在html5中,如果不希望用户的浏览器自动记录这些历史记录,可以对form或者form里的每个input做单独的autocomplete属性设置。

autocomplete是html5中新增加的属性,但是它已经存在很久了。autocomplete早先是微软在IE5中加入的,以后逐渐被其它浏览器支持。

有两种可选值,不设置autocomplete属性时,默认是on:

on Default. Specifies that autocomplete is enabled
off Specifies that autocomplete is disabled

下面是一个简单的例子

name.com 2011年8月net域名最新优惠

周末早上起来看看邮件,有封来自name.com的,打开来一看,原来是促销广告。具体内容就是net域名8月底前可以享受35%的优惠。

飞尘跑去name.com看了一下,优惠后的价格是6.49美元。按照一般情况来说,com和net价格应该是一致的,目前com为9.99美元,可能是比较贵的了,应该会有优惠码之类的。

这样看来,的确是优惠了35%哦,不过net域名的需求量似乎不是很大,有兴趣的朋友不妨去看一看。

这次的优惠是不要优惠码的

有效期还是有的,叫限时特价吧:2011-08-31

需要的请移驾name.com

css使用远程自定义字体

网页设置字体后,即使同一种字体在不同平台下可能会有不同的显示,而且各平台支持的字体不同且有限,网站设计者总是希望给用户同一的界面,因此也就有使用自定义字体的需求。

google提供了一个解决方案————webfonts,具体可以去google官方网站查看。

http://www.google.com/webfonts

其实也没什么神秘的,只是包装了一下css3中字体来实现的,关于css自定义字体请参阅

http://www.w3.org/TR/css3-fonts/#font-face-rule

实现很简单的,下面就是个小例子

使用css自定义字体时需要注意的是:

eot字体用于微软的IE浏览器,TTF字体用于Chrome、FireFox、Opera、Safari(pc)浏览器。

IE9不加载eot字体,加载ttf字体但无法正常显示

提供两个字体转换的工具

在线字体转换
http://www.fontsquirrel.com/fontface/generator

上传需要转换的字体文件,记得选择BASIC,默认为OPTIMAL,原有的字体文件变大了,不知道是如何优化的。

还有一个是离线版的,可以到google代码库去下载

ttf2eot
http://code.google.com/p/ttf2eot/wiki/Demo

Java中TreeMap Set List集合排序

在Java项目中TreeMap、Set、List集合经常会用到,自然也会遇到需要排序的情况。

下面的文字是摘自网络,记录于此供以后学习备用。

对于Set

要实现排序功能,一般有两种途径,这里对基本类型不适用,基本类型一般有Arrays中的静态方法。

1.对象本身实现Comparable接口,那么该类的实例就是可以排序的。

只要实现了Comparable接口,就可以调用Collections的sort方法对集合中的元素排序。

2.指定一个Comparator,也就是实现了Comparator的类的一个实例。

但是Java本身只提供了一个Comparator的实现,就是Collections.reverseOrder()。

该方法返回的是一个已经实现了Comparable接口的反序。

看一下Comparator的全部内容:


public interface Comparator {
int compare(Object o1, Object o2);
boolean equals(Object obj);
}

定义了两个方法,其实我们一般都只需要实现compare方法就行了,因为类都是默认从Object继承
所以会使用Object的equals方法。

Comparator一般都作为一个匿名类出现,对于没有实现Comparable的对象的集合,排序的时候
需要指定一个Comparator。

这里举例说明,对于实现了Comparable的类我们就用最简单的Integer


List list=new ArrayList();
list.add(new Integer(3));
list.add(new Integer(53));
list.add(new Integer(34));
Collections.sort(list);

对于没有实现Comparable的,我们就用Object,按照hashCode大小来排序.

List list= new ArrayList();
list.add(new Object());
list.add(new Object());
list.add(new Object());
Collections.sort(list,new Comparator(){ public int compare(Object o1, Object o2){
return (o1.hashCode()-o2.hashCode());
})

对于Map
实现Comparator方法

class TComp implements Comparator {
public int compare(Object a, Object b) {
int i, j, k;
String aStr, bStr;
aStr = (String)a;
bStr = (String)b;
// find index of beginning of last name
i = aStr.lastIndexOf(' ');
j = bStr.lastIndexOf(' ');
k = aStr.substring(i).compareTo(bStr.substring(j));
if (k == 0) // last names match, check entire name
return aStr.compareTo(bStr);
else
return k;
}
}


public class TreeMapSort {
public static void main(String[] args) {
TreeMap tm = new TreeMap(new TComp());
tm.put("John Doe", new Double(3434.34));
tm.put("Tom Smith", new Double(123.22));
tm.put("Jane Baker", new Double(1378.00));
tm.put("Todd Hall", new Double(99.22));
tm.put("Ralph Smith", new Double(-19.08));

System.out.println(tm.toString());
}
}

godaddy2011年8月最新29%优惠码

刚刚想写一篇日志,发现博客居然打不开了,ssh可以登陆到服务器,查看了一下,似乎内存占用率不太正常,也不管那么多了,重启下应该就会没问题的。

几分钟之后,的确可以正常访问了,不知道是什么不能访问,之前使用的uptimedog监控网站运行情况,现在好像不能用了,看来还是要再找一个新的喽。

很久没有折腾域名了,倒是vps捣腾了几个,呵呵。

今天奉上的是godaddy今年8月最新的优惠码,可以优惠29%,而且没有使用的限制,仅三天有限,看到不要错过哦。

优惠码gdz823cp

有效期2011-08-21

迫不及待马上去godaddy

苏州园区公积金新政计算工具

苏州工业园区自2011年7月1日起施行新的公积金政策,为了自己计算方便,写了下面的小程序。

下面是引用苏州工业园区公积金管理中心发布的通知:

关于园区住房公积金缴存基数上、下限标准的业务提示

各参保单位:
根据市住房公积金管理中心苏房金规〔2011〕4号文规定,从2011年7月起住房公积金缴存基数调整为下限1140元/月,上限为12900元/月(行政机关、事业单位暂不调整)。
从2011年7月起参加园区社会保险(公积金)乙类计划缴交住房公积金的单位及员工均按照此缴存基数上、下限标准执行。
特此提示。

苏州工业园区公积金管理中心

2011年7月7日

这个就是苏州园区公积金新政计算工具了,输入工资基数,同时可以选择缴费的时间,比如1年的公积金总计有多少,而30年后你的公积金又有多少呢?这只是个估计,加薪、通胀、政策变动就通通不考虑了,呵呵。

工资基数


甲类公积金

乙类公积金