﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-Yok</title><link>http://www.cnblogs.com/Yok/</link><description>苦海无涯，回头是岸啊</description><language>zh-cn</language><lastBuildDate>Mon, 06 Jul 2009 12:42:18 GMT</lastBuildDate><pubDate>Mon, 06 Jul 2009 12:42:18 GMT</pubDate><ttl>60</ttl><item><title>js动态代理</title><link>http://www.cnblogs.com/Yok/archive/2009/05/23/js_dynamic_proxy.html</link><dc:creator>Yok</dc:creator><author>Yok</author><pubDate>Fri, 22 May 2009 16:06:00 GMT</pubDate><guid>http://www.cnblogs.com/Yok/archive/2009/05/23/js_dynamic_proxy.html</guid><wfw:comment>http://www.cnblogs.com/Yok/comments/1487247.html</wfw:comment><comments>http://www.cnblogs.com/Yok/archive/2009/05/23/js_dynamic_proxy.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.cnblogs.com/Yok/comments/commentRss/1487247.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Yok/services/trackbacks/1487247.html</trackback:ping><description><![CDATA[<p>最近公司的产品陆续跟其他网站有合作，麻烦的是每个网站都有个性化的需求，有的需要自己的logo，有的需要定制的广告。</p>
<p>例如默认我们显示的是Google广告 <a target="_blank" href="http://www.wangchao.net.cn/bbsdetail_1950471.html">http://www.wangchao.net.cn/bbsdetail_1950471.html</a><br />
</p>
<p>但是此站需要专门显示旅游类广告 <a target="_blank" href="http://www.wangchao.net.cn/bbsdetail_1950471.html">http://www.wangchao.net.cn/bbsdetail_1950471.html</a></p>
<p>产品的UI相当复杂，hard code 当然是不能接受的。此时我很怀念我当年在.net用的Windsor，于是马上弄了个动态代理出来（对动态语言来说是小菜一碟），让我能给特定的宿主网站通过添加额外的js文件注入自己定制的代码<br />
</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);">&nbsp;interceptors&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;{};<br />
&nbsp;&nbsp;&nbsp;&nbsp;$.intercept&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(name,&nbsp;func){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);">&nbsp;parts&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;name.split(</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">.</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);">&nbsp;owner&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;window;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">for</span><span style="color: rgb(0, 0, 0);">&nbsp;(</span><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);">&nbsp;i&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0);">0</span><span style="color: rgb(0, 0, 0);">;&nbsp;i&nbsp;</span><span style="color: rgb(0, 0, 0);">&lt;</span><span style="color: rgb(0, 0, 0);">&nbsp;parts.length&nbsp;</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);">;&nbsp;i</span><span style="color: rgb(0, 0, 0);">++</span><span style="color: rgb(0, 0, 0);">){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;owner&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;owner[parts[i]];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);">&nbsp;(</span><span style="color: rgb(0, 0, 0);">!</span><span style="color: rgb(0, 0, 0);">owner)&nbsp;</span><span style="color: rgb(0, 0, 255);">break</span><span style="color: rgb(0, 0, 0);">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);">&nbsp;(owner){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);">&nbsp;funcName&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;parts[parts.length&nbsp;</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);">];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);">&nbsp;target&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;owner[funcName];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);">&nbsp;(</span><span style="color: rgb(0, 0, 0);">!</span><span style="color: rgb(0, 0, 0);">(owner&nbsp;</span><span style="color: rgb(0, 0, 0);">&amp;&amp;</span><span style="color: rgb(0, 0, 0);">&nbsp;target)){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;interceptors[name]&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;func;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;owner[funcName]&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">this</span><span style="color: rgb(0, 0, 0);">.__invocation__&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;target;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;func.apply(</span><span style="color: rgb(0, 0, 255);">this</span><span style="color: rgb(0, 0, 0);">,&nbsp;arguments)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;$._&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(name,&nbsp;func,&nbsp;scope,&nbsp;args){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);">&nbsp;interceptor&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;interceptors[name];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);">&nbsp;(interceptor){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scope&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;scope&nbsp;</span><span style="color: rgb(0, 0, 0);">||</span><span style="color: rgb(0, 0, 0);">&nbsp;window;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scope.__invocation__&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;func;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);">&nbsp;interceptor.apply(scope,&nbsp;args&nbsp;</span><span style="color: rgb(0, 0, 0);">||</span><span style="color: rgb(0, 0, 0);">&nbsp;[]);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">else</span><span style="color: rgb(0, 0, 0);">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);">&nbsp;func.apply(scope,&nbsp;args&nbsp;</span><span style="color: rgb(0, 0, 0);">||</span><span style="color: rgb(0, 0, 0);">&nbsp;[]);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
})()</span></div>
<p>&nbsp;</p>
<p>&nbsp;要拦截函数很简单，以被拦截的函数名和用于拦截的函数为参数</p>
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: rgb(0, 0, 0);">$.intercept&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">objectName.methodName</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">,&nbsp;</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(){<br />
</span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">do&nbsp;something</span><span style="color: rgb(0, 128, 0);"><br />
//</span><span style="color: rgb(0, 128, 0);">and&nbsp;invoke&nbsp;the&nbsp;original&nbsp;method&nbsp;if&nbsp;needed</span><span style="color: rgb(0, 128, 0);"><br />
</span><span style="color: rgb(0, 0, 255);">&nbsp;&nbsp;&nbsp; this</span><span style="color: rgb(0, 0, 0);">.__invocation();<br />
})</span></div>
<p>&nbsp;</p>
<p>当然现实中我的代码里的函数几乎都是私有或匿名的（这是避免命名冲突的最佳实践），并且我通常只想修改其中的一两行代码。于是我再写多了个方法，实现实时包装和调用。<br />
</p>
<p>原本是这样<br />
</p>
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: rgb(0, 0, 0);">$(</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">#clickMe2</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">).click(</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(){<br />
&nbsp;&nbsp; &nbsp; alert(</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">这是匿名函数，休想跨作用域追捕</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">);<br />
</span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;&nbsp; alert($(</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">#content</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">).text());<br />
});</span></div>
<p>&nbsp;</p>
<p>&nbsp;改成这样，就可以照样用 intercept() 插一脚了，虽然原来的代码也需要修改，但是至少它不包含自定义的逻辑</p>
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: rgb(0, 0, 0);">$(</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">#clickMe2</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">).click(</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;$._(</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">fuck_them_up</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">,&nbsp;</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">这是匿名函数，休想跨作用域追捕</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert($(</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">#content</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">).text());<br />
&nbsp;&nbsp;&nbsp;&nbsp;});<br />
});</span></div>
<p>&nbsp;</p>
<p>Demo，看看点intercept me之前和之后点 click me 会有什么不同？<br />
</p>
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">&nbsp;fuckThemUp(s){<br />
&nbsp;&nbsp;&nbsp;&nbsp;alert(s);<br />
}<br />
$(</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">#clickMe</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">).click(</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;fuckThemUp($(</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">#content</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">).text());<br />
});<br />
$(</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">#interceptMe</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">).click(</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;$.intercept(</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">fuckThemUp</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">,&nbsp;</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(s){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">河蟹来了!</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;s.replace(</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">修脚刀</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">,&nbsp;</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">水果刀</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;s.replace(</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">特殊服务</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">,&nbsp;</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">异性洗浴服务</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s&nbsp;</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">&nbsp;s.replace(</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">按倒</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">,&nbsp;</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">推坐</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">this</span><span style="color: rgb(0, 0, 0);">.__invocation__(s);<br />
&nbsp;&nbsp;&nbsp;&nbsp;});<br />
});<br />
$(</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">#clickMe2</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">).click(</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;$._(</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">fuck_them_up</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">,&nbsp;</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">这是匿名函数，休想跨作用域追捕</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;});<br />
});<br />
$(</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">#interceptMe2</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">).click(</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(){<br />
&nbsp;&nbsp;&nbsp;&nbsp;$.intercept(</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">fuck_them_up</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">,&nbsp;</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(s){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">还不抓到你?</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;});<br />
});</span></div>
<p>&nbsp;</p>
<p id="content">&nbsp;2009年5月10日，湖北巴东县野三关镇政府招商协调办公室主任邓贵大、黄德智等人在镇雄风宾馆梦幻城消费，要求女服务员（邓玉娇）提供&#8220;特殊服务&#8221;， 拿出一叠钱炫耀并朝头、肩部搧击，还两次将按倒在沙发上。邓玉娇用修脚刀将对方两人刺伤，邓贵大被刺伤喉部，经抢救无效死亡。</p>
<p><input id="clickMe" value="click me" type="button" /> <input id="interceptMe" value="intercept me" type="button" /> &nbsp; &nbsp; &nbsp;&nbsp; 匿名函数的拦截： <input id="clickMe2" value="click me" type="button" /> <input id="interceptMe2" value="intercept me" type="button" /></p>
<script src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"></script>
<script src="http://zoomino-gadget.googlecode.com/svn/trunk/js/interceptor.js"></script>
<div id="zoomino-container">
<script src="http://www.zoomino.cn/zoomino/resources/entry"></script>
</div>
<script>
function fuckThemUp(s){
alert(s);
}
$('#clickMe').click(function(){
fuckThemUp($('#content').text());
});
$('#interceptMe').click(function(){
$.intercept('fuckThemUp', function(s){
alert('河蟹来了!');
s = s.replace(/修脚刀/, '水果刀');
s = s.replace(/特殊服务/, '异性洗浴服务');
s = s.replace(/按倒/, '推坐');
this.__invocation__(s);
});
});
$('#clickMe2').click(function(){
$._('fuck_them_up', function(){
alert('这是匿名函数，休想跨作用域追捕');
});
});
$('#interceptMe2').click(function(){
$.intercept('fuck_them_up', function(s){
alert('还不抓到你?');
});
});
</script>
<img src ="http://www.cnblogs.com/Yok/aggbug/1487247.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48008/" target="_blank">IBM发布全球首款开源智能编译器</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>Hammett joined Microsoft</title><link>http://www.cnblogs.com/Yok/archive/2008/07/29/1255462.html</link><dc:creator>Yok</dc:creator><author>Yok</author><pubDate>Tue, 29 Jul 2008 04:11:00 GMT</pubDate><guid>http://www.cnblogs.com/Yok/archive/2008/07/29/1255462.html</guid><wfw:comment>http://www.cnblogs.com/Yok/comments/1255462.html</wfw:comment><comments>http://www.cnblogs.com/Yok/archive/2008/07/29/1255462.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/Yok/comments/commentRss/1255462.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Yok/services/trackbacks/1255462.html</trackback:ping><description><![CDATA[<p>在ASP.NET MVC开发期间，Hammett已经是这个项目的顾问。在Scott的怂恿下，他最近加入了m$，作为MEF (Managed Extensibility Framework) team的项目经理。同时他也得到了特许，可以继续开发Caslte。</p>
<p>Hammett一直在他的Blog上批评webform，并且他声明不会因为加入m$而改变态度，这事表明了m$在技术方向上正朝多元化的方向发展。 而Hammett的作品也不会因为&#8220;非官方&#8221;，&#8220;开源&#8221;等原罪得不到.NET社区的接受。这对m$和开源社区来说都是一件好事情。</p>
<p>&nbsp;<a href="http://hammett.castleproject.org/?p=312">http://hammett.castleproject.org/?p=312</a></p><img src ="http://www.cnblogs.com/Yok/aggbug/1255462.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48007/" target="_blank">IE颓势不减 微软下月公布最新浏览器架构</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>鼻炎无端端好了</title><link>http://www.cnblogs.com/Yok/archive/2008/05/30/1210729.html</link><dc:creator>Yok</dc:creator><author>Yok</author><pubDate>Fri, 30 May 2008 06:46:00 GMT</pubDate><guid>http://www.cnblogs.com/Yok/archive/2008/05/30/1210729.html</guid><wfw:comment>http://www.cnblogs.com/Yok/comments/1210729.html</wfw:comment><comments>http://www.cnblogs.com/Yok/archive/2008/05/30/1210729.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/Yok/comments/commentRss/1210729.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Yok/services/trackbacks/1210729.html</trackback:ping><description><![CDATA[十几年来一直受鼻炎困扰，往死里塞，长期缺氧，身体状况一直都很差。但是最近竟然无缘无故的好了<img src="http://www.cnblogs.com/Emoticons/QQ/04.gif"  alt="" /><br />
不过最近的生活确实有变化，一是换了公司，离家有20分钟路，有时我还会跑着上下班，运动量大了。<br />
二是鼻炎消失之前，感冒了一场，并且到最后还整个脸肿了（以前从没试过），很痛，鼻涕还带血，吃了不少感冒和消炎药。<br />
以前为这个问题看了不少医生，吃了不少药，看的医生老少分成两派：老的都说我是体质不好，多锻炼就行了；年轻的都说我是严重的鼻甲肥大和鼻中隔偏曲，一定得做部分鼻甲切除手术。看来还是老医生比较有水平。虽然病愈的原因不明，但是这两样是肯定对鼻炎患者有好处的：多做运动；少用收缩鼻粘膜血管的药
<img src ="http://www.cnblogs.com/Yok/aggbug/1210729.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48002/" target="_blank">竞争日趋激烈 微软欲借 Windows 7 扭转战局</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>罚抄100遍</title><link>http://www.cnblogs.com/Yok/archive/2008/03/18/1110801.html</link><dc:creator>Yok</dc:creator><author>Yok</author><pubDate>Tue, 18 Mar 2008 01:16:00 GMT</pubDate><guid>http://www.cnblogs.com/Yok/archive/2008/03/18/1110801.html</guid><wfw:comment>http://www.cnblogs.com/Yok/comments/1110801.html</wfw:comment><comments>http://www.cnblogs.com/Yok/archive/2008/03/18/1110801.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/Yok/comments/commentRss/1110801.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Yok/services/trackbacks/1110801.html</trackback:ping><description><![CDATA[我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了，我再也不让小猫爬出去了
<img src ="http://www.cnblogs.com/Yok/aggbug/1110801.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48001/" target="_blank">上海电信计划2012年80%用户实现100M带宽</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>Castle Team宣布Castle将与ASP.NET MVC整合</title><link>http://www.cnblogs.com/Yok/archive/2007/10/09/917860.html</link><dc:creator>Yok</dc:creator><author>Yok</author><pubDate>Tue, 09 Oct 2007 03:07:00 GMT</pubDate><guid>http://www.cnblogs.com/Yok/archive/2007/10/09/917860.html</guid><wfw:comment>http://www.cnblogs.com/Yok/comments/917860.html</wfw:comment><comments>http://www.cnblogs.com/Yok/archive/2007/10/09/917860.html#Feedback</comments><slash:comments>12</slash:comments><wfw:commentRss>http://www.cnblogs.com/Yok/comments/commentRss/917860.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Yok/services/trackbacks/917860.html</trackback:ping><description><![CDATA[<p>MS宣布推出ASP.NET MVC Framework：<a href="http://www.cnblogs.com/Dah/archive/2007/10/08/916958.html">http://www.cnblogs.com/Dah/archive/2007/10/08/916958.html</a> &nbsp;</p>
<p>看了看上面的特性，概念几乎是全抄Castle的，见惯不怪了，nant / msbuild, nunit / mstest&#8230;&#8230; 无论如何，这对开发人员来说会是好事，ms必然能创造出更好的开发环境。</p>
<p>ASP.NET MVC还会使用aspx，但是它没有viewstate，没有postback，所以它在这里只是个模板引擎，并不那么邪恶。而且ms还开放了接口，能让Castle这样的第三方产品结合进来。Castle Team也表态，MS的MVC推出后，Castle部分的项目将会与其整合：</p>
<p><strong>To The .Net Community,</strong></p>
<p>You are probably wondering how the recently announced Microsoft MVC project will compete with Castle's MonoRail. </p>
<p>We think that any attempt to offer more productive tools, better testability and better separation of concerns is valuable, no matter who is the author. We are certainly pleased to see that Microsoft is delivering something that allows a more agile and productive type of web software development. </p>
<p>We also believe that MonoRail has been providing the same thing for the past two and half years, and will continue to do so. We're grateful that MS has chosen to offer integration points for Monorail and the Castle stack and as soon as it's available we will be working to integrate it with the rest of our projects. </p>
<p>Is MS' MVC better? Worse? Only once we have used both will we be able to tell. </p>
<p>Yours sincerely, <br />
<br />
<strong>The Castle Project PMC<br />
<br />
</strong></p>
 <img src ="http://www.cnblogs.com/Yok/aggbug/917860.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/48000/" target="_blank">数万名网友签名抗议星际争霸2取消局域网功能</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>邪恶的webform</title><link>http://www.cnblogs.com/Yok/archive/2007/09/28/fuck_webform.html</link><dc:creator>Yok</dc:creator><author>Yok</author><pubDate>Fri, 28 Sep 2007 08:06:00 GMT</pubDate><guid>http://www.cnblogs.com/Yok/archive/2007/09/28/fuck_webform.html</guid><wfw:comment>http://www.cnblogs.com/Yok/comments/909480.html</wfw:comment><comments>http://www.cnblogs.com/Yok/archive/2007/09/28/fuck_webform.html#Feedback</comments><slash:comments>95</slash:comments><wfw:commentRss>http://www.cnblogs.com/Yok/comments/commentRss/909480.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Yok/services/trackbacks/909480.html</trackback:ping><description><![CDATA[摘要: 你们真的以为webform易学易用？  &nbsp;&nbsp;<a href='http://www.cnblogs.com/Yok/archive/2007/09/28/fuck_webform.html'>阅读全文</a><img src ="http://www.cnblogs.com/Yok/aggbug/909480.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47999/" target="_blank">Silverlight打造杰克逊纪念专题</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>MonoRail FAQ</title><link>http://www.cnblogs.com/Yok/archive/2007/09/14/893155.html</link><dc:creator>Yok</dc:creator><author>Yok</author><pubDate>Fri, 14 Sep 2007 07:49:00 GMT</pubDate><guid>http://www.cnblogs.com/Yok/archive/2007/09/14/893155.html</guid><wfw:comment>http://www.cnblogs.com/Yok/comments/893155.html</wfw:comment><comments>http://www.cnblogs.com/Yok/archive/2007/09/14/893155.html#Feedback</comments><slash:comments>15</slash:comments><wfw:commentRss>http://www.cnblogs.com/Yok/comments/commentRss/893155.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Yok/services/trackbacks/893155.html</trackback:ping><description><![CDATA[摘要: MonoRail的文档已经比较全面，我再写教程似乎是重复劳动了。所以这里以FAQ的形式把我的心得分享出来<br><br>&nbsp;&nbsp;<a href='http://www.cnblogs.com/Yok/archive/2007/09/14/893155.html'>阅读全文</a><img src ="http://www.cnblogs.com/Yok/aggbug/893155.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47998/" target="_blank">传诺基亚正在开发Android手机</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>MonoRail资源汇总</title><link>http://www.cnblogs.com/Yok/archive/2007/09/11/890189.html</link><dc:creator>Yok</dc:creator><author>Yok</author><pubDate>Tue, 11 Sep 2007 13:49:00 GMT</pubDate><guid>http://www.cnblogs.com/Yok/archive/2007/09/11/890189.html</guid><wfw:comment>http://www.cnblogs.com/Yok/comments/890189.html</wfw:comment><comments>http://www.cnblogs.com/Yok/archive/2007/09/11/890189.html#Feedback</comments><slash:comments>15</slash:comments><wfw:commentRss>http://www.cnblogs.com/Yok/comments/commentRss/890189.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Yok/services/trackbacks/890189.html</trackback:ping><description><![CDATA[摘要: &nbsp;&nbsp;<a href='http://www.cnblogs.com/Yok/archive/2007/09/11/890189.html'>阅读全文</a><img src ="http://www.cnblogs.com/Yok/aggbug/890189.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47996/" target="_blank">7月编程语言排行榜</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>招.net and/or javascript程序员（广州）</title><link>http://www.cnblogs.com/Yok/archive/2007/06/07/775257.html</link><dc:creator>Yok</dc:creator><author>Yok</author><pubDate>Thu, 07 Jun 2007 06:29:00 GMT</pubDate><guid>http://www.cnblogs.com/Yok/archive/2007/06/07/775257.html</guid><wfw:comment>http://www.cnblogs.com/Yok/comments/775257.html</wfw:comment><comments>http://www.cnblogs.com/Yok/archive/2007/06/07/775257.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/Yok/comments/commentRss/775257.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Yok/services/trackbacks/775257.html</trackback:ping><description><![CDATA[<p>我们使用castle和nhibernate进行互联网开发。现在需要招聘若干.net或web ui程序员。</p>
<p>.net程序员要求：</p>
<ul>
    <li>熟悉.net framework
    <li>熟悉面向对象概念
    <li>懂javascript及xhtml </li>
</ul>
<p>web ui程序员要求：</p>
<ul>
    <li>熟悉javascript，xhtml，css，actionscript等 </li>
</ul>
<p>对服务端和客户端开发都感兴趣的，或者担心搞javascript没发展前途的，可以两边都干</p>
<p>我和<a href="http://henryfan.cnblogs.com/">henry</a>在同一家公司，<a href="http://wj.cnblogs.com/">叶子</a>也在公司兼职过，技术环境还是不错的，开发部老手比较多。有兴趣的请发简历到<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#119;&#111;&#110;&#103;&#95;&#121;&#111;&#107;&#64;&#104;&#111;&#116;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;">wong_yok@hotmail.com</a><br></p>
<img src ="http://www.cnblogs.com/Yok/aggbug/775257.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47995/" target="_blank">Google Voice 上手</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>javascript版贪食蛇</title><link>http://www.cnblogs.com/Yok/archive/2007/05/06/736752.html</link><dc:creator>Yok</dc:creator><author>Yok</author><pubDate>Sat, 05 May 2007 16:47:00 GMT</pubDate><guid>http://www.cnblogs.com/Yok/archive/2007/05/06/736752.html</guid><wfw:comment>http://www.cnblogs.com/Yok/comments/736752.html</wfw:comment><comments>http://www.cnblogs.com/Yok/archive/2007/05/06/736752.html#Feedback</comments><slash:comments>23</slash:comments><wfw:commentRss>http://www.cnblogs.com/Yok/comments/commentRss/736752.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Yok/services/trackbacks/736752.html</trackback:ping><description><![CDATA[摘要: :)&nbsp;&nbsp;<a href='http://www.cnblogs.com/Yok/archive/2007/05/06/736752.html'>阅读全文</a><img src ="http://www.cnblogs.com/Yok/aggbug/736752.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47994/" target="_blank">Google号召社区力量为互联网加速</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item></channel></rss>