时光博客 - WEB开发中的可用性和用户体验
查看Kevin的文章

为win7换上XP原生宋体

这两天终于从XP换到win7系统,开始没有注意,后来开PS的时候,发现更换以前在XP下做过的PS图时,宋体被重新载入,变得奇丑无比。后来了解到xp下的宋体为3.12,而win7下面的是5.03

确实没有XP下的宋体好看,无奈,上网找了些方案,有些是不对的,还好,以前的笔记本硬盘里还有XP系统,于是拷贝了份XP下的宋体( simsun.ttf )出来。开始复制到 win7下的 C:\windows\Fonts 下,提示有要覆盖

1.png

大小: 26.71 K
尺寸: 460 x 237
浏览: 284 次
点击打开新窗口浏览全图

反正我在 C:\windows\Fonts下找半天没有发现 simsun.ttf 字体,倒是看见了 simsun EXB.ttf ,也不知道覆盖的是哪一个。覆盖了之后,字体还是没变,于是就只能采用下面的解决方案了。

1、提前下载好xp下宋体文件 (下载已失效)保存下面这个批处理文件win7_simsun_ replace.bat

2、重启系统。这是系统可能有些地方显示有问题了(因为宋体没有了)。不要害怕,使用管理员权限运行cmd.exe,输入以下命令:

  1. cd c:\windows\fonts 
  2. del SIMSUN.TTC.bak 
  3. del SIMSUNB.TTC.bak 

3、在XP的SIMSUN.TTC上面点右键选择安装。重启即可。

OK,看下替换后的效果吧:

2.png

大小: 13.21 K
尺寸: 500 x 132
浏览: 252 次
点击打开新窗口浏览全图

PHP自制密保卡程序

密保卡,之前我写过一篇讨论了下,今天拿出一个改进版的。

这里只是嵌入页面,点击进入独立的演示地址

jQuery的load函数

jqueryload函数,有2种载入方式,一种是GET,一种是POST,下面我们看下手册中记载的说明。

在每一个匹配元素的load事件中绑定一个处理函数。

如果绑定给window对象,则会在所有内容加载后触发,包括窗口,框架,对象和图像。如果绑定在元素上,则当元素的内容加载完毕后触发。

注意:只有当在这个元素完全加载完之前绑定load的处理函数,才会在他加载完后触发。如果之后再绑定就永远不会触发了。所以不要在$(document).ready()里绑定load事件,因为jQuery会在所有DOM加载完成后再绑定load事件。

再来看下关于jQuery的函数介绍

  1. load(url, [data], [callback]) 
  2. url  String  待装入 HTML 网页网址。 
  3. data (可选) Map,String  发送至服务器的 key/value 数据。在jQuery 1.3中也可以接受一个字符串了。 
  4. callback (可选) Callback  载入成功时回调函数。 

data数据是可选取的,如果不填写data数据,jQuery则采用GET方式来请求指定的网页,如果填写了,则采用POST方式,同时将参数data传递给页面。

下面看下jQuery 1.4.2里面关于load函数原型的代码:

  1. load: function( url, params, callback ) { 
  2.         if ( typeof url !== "string" ) { 
  3.             return _load.call( this, url ); 
  4.  
  5.         // Don't do a request if no elements are being requested 
  6.         } else if ( !this.length ) { 
  7.             return this
  8.         } 
  9.  
  10.         var off = url.indexOf(" "); 
  11.         if ( off >= 0 ) { 
  12.             var selector = url.slice(off, url.length); 
  13.             url = url.slice(0, off); 
  14.         } 
  15.  
  16.         //默认为使用GET方式请求页面 
  17.         var type = "GET"
  18.  
  19.         // 如果有data参数,检测是否为函数 
  20.         if ( params ) { 
  21.             // If it's a function 
  22.             if ( jQuery.isFunction( params ) ) { 
  23.                 // We assume that it's the callback 
  24.                 callback = params; 
  25.                 params = null
  26.  
  27.             // 不是函数,则构建成一个字符串 
  28.             } else if ( typeof params === "object" ) { 
  29.                 params = jQuery.param( params, jQuery.ajaxSettings.traditional ); 
  30.                 //使用POST方式传递参数 
  31.                 type = "POST"
  32.             } 

也就是我们在处理url页面时,含data参数的时候,比如:ID=1233,USERID=liupeng 我们应该使用$_POST变量来接受,没有data参数的时候使用$_GET。

因为不可及的爱, 所以不可及的忘

p_large_py7z_553800003a7d2d11.jpg

大小: 53.76 K
尺寸: 500 x 452
浏览: 289 次
点击打开新窗口浏览全图

自古多情伤离别,更那堪冷落清秋!
                                                                                      --再看《金粉世家》有感


八妹:七哥,你发什么呆呀?
燕西:燕子去了,有再来的时候;杨柳枯了,有再青的时候;桃花谢了,有再开的时候,有谁能告诉我,为什么我们之间的日子,一去不复返了?
八妹:因为你变了,所以,百合花也谢了,就再也不会开了!
燕西:八妹,你现在长大了,可是你还是不明白,我从来没有改变过,只是周围的环境改变了,我也曾试着改变自己去适应。有太多的事儿我不明白,所以我失败了。就好象葡萄藤上的百合花,终究,会凋谢的!
八妹:那你为什么还要让它开花呢?
燕西:现在我才明白了,花开花谢,都是自然的事情。就好象,我上了一个人的时候,是没有理由的,是自然的!
八妹:那你和清秋姐,不后悔吗?
燕西:花不是开过吗?有什么后悔的!你和谢玉树怎么样了?
八妹:有你这样的先例,我一辈子也不结婚了!
燕西:傻丫头,每个人都是不一样的,你是你,我是我。
八妹:你们不是很相爱吗?你们不是自由婚姻吗?难道这些都是假的吗?你们为什么要变心?为什么?
燕西:我从来没有爱过,除清秋以外其他女人,从来没有过!

人生若只如初见,何事秋风悲画扇?
等闲变却故人心,却道故人心易变。

 时光匆匆,他们已经回不到过去,也许曾经一见倾心,但是再见之时,也许会是伤心之时。若是如此,不如初见时的那份感觉……

“初见惊艳,再见依然”,在我看来,这只是一种美好的愿望。初见,惊艳。蓦然回首,曾经沧海。只怕早已换了人间。

席幕容的《初相遇》,她说:美丽的梦和美丽的诗一样,都是可遇而不可求的,常常在最没能料到的时刻里出现。
林清玄的《法圆师妹》,他说:“每个人的命运其实和荔枝花一样,有些人天生就没有花瓣的,只是默默的开花,默默的结果,在季节的推移中,一株荔枝没有选择的结出它的果实,而一个人也没有能力选择自己的道路吧!”

人生真的就是这个样子吗?我不得而知。

初见惊艳,再见依然。但愿再次见到你的时候,你依然那么美丽如初。
人生如此,浮生如斯,情生情死,乃情之至。不是吗?

我记得了这样一句话:有情不必终老,暗香浮动恰好,无情未必就是决绝,我只要你记着:初见时彼此的微笑……

PS:文章系转载,因为特别喜欢,所以坚持,正是现在自己的写照!

写字

搬完家1个月了,现在住得也算是很舒服了,心里非常满意。有好的生活环境,工作,生活才能更安心。陪同事逛超市,买灯管的时候,意外发现有钢笔卖,而且是我小时候特别想要的一支。于是,连同一打A4纸一块被我带回家了。突然心血来潮,想练练钢笔字,突然想,确实是很久很久就没有碰了。自从不玩大话了,确实心里轻松了不少,感觉人也变开朗了不少。心情开朗,工作起来也特别有精神。暂且不管那500张A4纸,只要写得开心就好。拙劣之笔,切勿见笑 ^ ^

20100903005_800.jpg

大小: 248.2 K
尺寸: 500 x 375
浏览: 326 次
点击打开新窗口浏览全图

201009040101111.jpg

大小: 246.64 K
尺寸: 500 x 375
浏览: 296 次
点击打开新窗口浏览全图

20100904011111.jpg

大小: 257.22 K
尺寸: 500 x 375
浏览: 294 次
点击打开新窗口浏览全图

PS:拍摄的效果不是很好,房间灯光角度不好,用的是新入手的手机 索爱U8i 拍的。

IE6遮罩层select的BUG

ie6的BUG太多,其中一个就是遮罩层(div)遮不住select框,而IE7以上版本是没有此问题的。现在来重现一个bug点击查看演示页面

截图03.jpg

大小: 45.82 K
尺寸: 500 x 183
浏览: 375 次
点击打开新窗口浏览全图

下图为 > IE7 效果:

截图02.jpg

大小: 45.93 K
尺寸: 500 x 175
浏览: 277 次
点击打开新窗口浏览全图

遮罩层在IE下面,是遮不住select下拉选择器的。于是采用一个特殊的方法:

虽说div直接盖不住select但是div可以盖iframe,而iframe可以盖select,所以,把一个iframe来当作div的底,这个div就可以盖住select了.

当使用了iframe后发现,弹出界面是透明白色的,而不是想象中的透明黑色,于是在src中加入一个透明网页:

  1. <html> 
  2.     <head> 
  3.         <title></title> 
  4.     </head> 
  5.     <body style="background-color:#000;"></body> 
  6. </html> 

最后的遮罩层div代码如下:

  1. <div id="overlay"> 
  2.     <iframe style="width:100%;height:100%;position:absolute;visibility:inherit;z-index:-1;" src="touming.html" frameborder="0"></iframe> 
  3. </div> 

问题虽然解决了,但是还是不完美,因为遮罩层显示的时候,虽然遮罩层盖住了select,但是如此同时select也消失不见了 = = !

截图04.jpg

大小: 38.59 K
尺寸: 500 x 176
浏览: 259 次
点击打开新窗口浏览全图

sc create命令行添加/创建/修改服务

添加服务:
sc create BITS binpath= "C:\WINDOWS\system32\svchost.exe -k netsvcs" type= share start= auto displayname= "Background Intelligent Transfer Service" depend= RpcSs/EventSystem
修改描述:
sc description BITS "利用空闲的网络带宽在后台传输文件。如果服务被停用,例如 Windows Update 和 MSN Explorer 的功能将无法自动下载程序和其他信息。如果此服务被禁用,任何依赖它的服务如果没有容错技术以直接通过 IE 传输文件,一旦 BITS 被禁用,就可能无法传输文件。"

添加服务:
sc create PolicyAgent binpath= "C:\WINDOWS\system32\lsass.exe" type= share start= auto displayname= "IPSEC Services" depend= RPCSS/Tcpip/IPSec
修改描述:
sc description PolicyAgent "提供 TCP/IP 网络上客户端和服务器之间端对端的安全。如果此服务被停用,网络上客户端和服务器之间的 TCP/IP 安全将不稳定。如果此服务被禁用,任何依赖它的服务将无法启动。"

SC命令的更多用法请在查看help sc

 

  1. Creates a service entry in the registry and Service Database. 
  2.  
  3. SYNTAX: 
  4. sc create [service name] [binPath= ] <option1> <option2>... 
  5.  
  6. CREATE OPTIONS: 
  7. NOTE: The option name includes the equal sign. 
  8. type<own|share|interact|kernel|filesys|rec> 
  9.        (default = own
  10. start<boot|system|auto|demand|disabled> 
  11.        (default = demand
  12. error<normal|severe|critical|ignore> 
  13.        (default = normal
  14. binPath<BinaryPathName> 
  15. group<LoadOrderGroup> 
  16. tag<yes|no> 
  17. depend<Dependencies(separated by / (forward slash))> 
  18. obj<AccountName|ObjectName> 
  19.        (default = LocalSystem
  20. DisplayName<display name> 
  21. password<password>  

此文关键部分在下面:

提示大家:sc cretate命令后面带的参数比如[binPath= ]的等号后面必须有个空格,没空格你怎么折腾都不行的,哈哈。微软还真搞笑啊,搞这么个功能迷惑人。同样,后面的其它参数比如group= , displayname=的等号后面都需要空格,不然sc create命令不会成功创建服务,只会返回给你帮助信息。

  1. sc create nlsvc binpath"F:\Program Files\NetLimiter 2 Lite\NLClient.exe" typeown startdemand DisplayNameNetLimiter