04月 11, 2011
CMSWare
No Comments
bug由来:cmsware采集程序中,在获得某篇文章的url地址后,会将该url作为其基础地址,随后在解析文章内容的时候,如果遇到图片地址使用了相对路径的,则用基础地址将其补全为绝对路径。但是这里忽略了一个现象,就是在某些特定环境下,比如专门提供网站rss服务的站点,他们在列表页中列出的文章url只是个转向链接(比如http://www.aaa.com/feed?111),浏览器访问后转向的地址才是文章的真实地址(比如http://www.bbb.com/articles/12345.html)。所以把列表页中获得的文章url(http://www.aaa.com/feed?111)直接作为基础地址是不完备的,应该用程序进行解析,用真实地址(http://www.bbb.com/articles/12345.html))作为基础地址。 Read the rest…
02月 7, 2011
JAVASCRIPT
No Comments
webkit会自动对对象依据键名进行排序,而不是默认按照先定义先调取的顺序
解决办法:最好不用这个方式来遍历数组,实在要用的话,用一个数组来记录键的顺序,或者在for的里面加一个if的判断:
for(var i in array){
if(aray[i]!==null){
……
}
}
02月 6, 2011
浏览器兼容性
No Comments
Google Chrome由于使用Webkit内核,所以存在一个bug,就是字体最小默认为12px,不管你css里怎么定义。用css的解决方法是加上如下定义: Read the rest…
01月 22, 2011
JAVASCRIPT
No Comments
IE有个设定,不知道出于何目的,在用程序创建的元素里不能设置name值,其他浏览器则可用setAttribute(“name”,name)来设置。没办法,新建一个通用函数来解决之
var is_ie=!!(this.n.indexOf(“msie”) >= 0 && document.all && this.db && !this.op);
document.createElementName=function(tagName,name){
if(is_ie){
return document.createElement(“<”+tagName+” name=’”+name+”‘></”+tagName+”>”);
}else{
var ret=document.createElement(tagName);
ret.setAttribute(“name”,name);
return ret;
}
}
is_ie也可以写成一个函数。在createElement里直接跟name信息,是微软的建议。http://msdn.microsoft.com/en-us/library/ms534184.aspx
01月 21, 2011
未分类
No Comments
发现右下角托盘的声音图标没了,而且所有的系统自带音效不见了,但是播放音乐和电影是有声音的。试过了很多常规方法,包括修复工具,都不行,原来问题不是出在声音硬件上,也不是托盘执行文件上,而是系统声音的控制上。
解决方法:开始->运行->键入 regedit,打开‘注册表编辑器’,找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32,新建一个字符串值,名为“wavemapper” 值为“msacm32.drv”。问题解决了,立刻见效。这是最佳方案 。待重新启动PC以后,任务栏的小喇叭就出来了。如果还未出现任务栏的小喇叭,则:控制面板–声音和音频设备–勾选‘将音量图标放入任务栏’。
11月 25, 2010
CMSWare, 未分类
No Comments
图片本地化的用处不用多说,由于很多网站采用了防盗链,所以本地化的时候往往会失败。本地化程序中使用的是copy函数,功能偏弱,所以可以将curl库应用在其中,灵活设置(主要就是添加一个referer),顺利将图片拷贝下来。 Read the rest…
11月 25, 2010
CMSWare, 未分类
No Comments
图片本地化失败的最多原因是源地址不标准,如这种:http://taobao.news.ynet.com/img.db?63307742
解决思路是给它强行加上一个后缀,当然就是jpg了,另外也需要修改下url分析函数。
include/image.class.php5.php,要修改的函数在这里 Read the rest…
11月 24, 2010
JAVASCRIPT
No Comments
Firefox不支持createPopup,然后用下面的代码来替代之 Read the rest…
11月 22, 2010
PHP
No Comments
一、如何选择PHP5.3的VC9版本和VC6版本
VC6版本是使用Visual Studio 6编译器编译,如果PHP是用Apache来架设,那就选择VC6版本。
VC9版本是使用Visual Studio 2008编译器编译,如果PHP是用IIS来架设,那就选择VC9版本。
二、如何选择PHP5.3的Thread Safe和Non Thread Safe版本
从字面上理解,Thread Safe是线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查。
再来看PHP的两种执行方式:ISAPI和FastCGI。
ISAPI执行方式是以DLL动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以ISAPI来执行PHP,建议选择Thread Safe版本;
而FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以FastCGI来执行PHP,建议选择Non Thread Safe版本。