Tuesday, November 18, 2008

今天整理文档, blog一下, 备忘: getNamedItem

getNamedItem以前做xml解析经常用到的函数, 在document dom中也是可用的,
用于获取某个标签的私有属性(非rfc标准的),
这个属性, IE会自动给解析出来, 例如dom.customize_field_name, 就直接可以访问,
Firefox却不会自动给解析,
只能用dom.attributes.getNamedItem('customize_field_name').value访问,

最后通用一点就是都用dom.attributes.getNamedItem('customize_field_name').value, IE下也是支持的

Friday, November 07, 2008

CI Email notification

在cruisecontrol标签之后, project标签之前, 添加plugin, 方便多个project共享htmlemail的通用设置, 例:
<plugin name="htmlemail"
mailhost="mail.mailserver.com"
username="notification@mailserver.com"
password="password"
reportsuccess="always"
returnaddress="notification@mailserver.com"
skipusers="false"
subjectprefix="CI"
defaultsuffix=""
buildresultsurl="http://serveraddress:7777/buildresults/${project.name}"
/>
在project的publishers节点下, 添加htmlemail通知任务:
<onfailure>
<htmlemail>
//只要构建失败, 就发邮件给emp1
<always address="emp1@mailserver.com"/>
// emp2, emp3可以映射到emp2@mailserver.com, emp3@mailserver.com
//此处设置的意思是, 如果本次构建失败了, 则通知提交代码的人 ,
提交代码的人的SCM帐户名称从recently modifications中可以拿到,
然后map就是完成从SCM帐户到email帐户的映射, alias ='emp2'中的emp2就表示SCM的帐户名称.
<map alias="emp2" address="emp2@mailserver.com"/>
<map alias="emp3" address="emp3@mailserver.com"/>
</htmlemail>
</onfailure>

John Resig

John Resig, the creator and lead developer of the jQuery JavaScript library.
His blog address: http://ejohn.org/, we can learn more about
javascript from his articles.

"Object()" or "new Object()" in javascript

We can implement an Object, which can be instance by "Object()" or
"new Object()", here's an example:

function User(name, age){
//if ( !(this instanceof User) )这个也是可以工作的, 但是arguments.callee更通用

if ( !(this instanceof arguments.callee) )
return new User(name, age);

this.name = name + " - " + age;
}

var user = User("xlty", 27); <==> var user = new User("xlty", 27);

flexible arguments

more generic usage of "apply":

Math.min accept a list of number:
> Math.min(1,43);

We want to pass an array to Math.min
> Math.min.apply( Math, array );