<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type='text/xsl' href='http://bbiao.spaces.live.com/mmm2008-07-24_12.50/rsspretty.aspx?rssquery=en-US;http%3a%2f%2fbbiao.spaces.live.com%2fcategory%2f%e5%bc%80%e5%8f%91%2ffeed.rss' version='1.0'?><rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:msn="http://schemas.microsoft.com/msn/spaces/2005/rss" xmlns:live="http://schemas.microsoft.com/live/spaces/2006/rss" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>妖气重重: 开发</title><description /><link>http://bbiao.spaces.live.com/?_c11_BlogPart_BlogPart=blogview&amp;_c=BlogPart&amp;partqs=cat%25E5%25BC%2580%25E5%258F%2591</link><language>en-US</language><pubDate>Sat, 11 Oct 2008 08:29:30 GMT</pubDate><lastBuildDate>Sat, 11 Oct 2008 08:29:30 GMT</lastBuildDate><generator>Microsoft Spaces v1.1</generator><docs>http://www.rssboard.org/rss-specification</docs><ttl>60</ttl><cf:parentRSS>http://bbiao.spaces.live.com/blog/feed.rss</cf:parentRSS><live:type>blogcategory</live:type><live:identity><live:id>-4467243959638624240</live:id><live:alias>bbiao</live:alias></live:identity><cf:listinfo><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="typelabel" label="Type" /><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="tag" label="Tag" /><cf:group element="category" label="Category" /><cf:sort element="pubDate" label="Date" data-type="date" default="true" /><cf:sort element="title" label="Title" data-type="string" /><cf:sort ns="http://purl.org/rss/1.0/modules/slash/" element="comments" label="Comments" data-type="number" /></cf:listinfo><item><title>Ext学习笔记（一）</title><link>http://bbiao.spaces.live.com/Blog/cns!C201294984BAF810!772.entry</link><description>&lt;div&gt;不怎么敢用“学习笔记”，这种字眼的，害怕自己写得不好，被骂。不过，这次也就认真写次学习笔记吧，Share是一种和平主义的精神，呵呵。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Ext，在最开始的时候，是作为YUI的一个扩展存在的，所以那个时候它的名称是YUI.Ext，后来，Ext作为一个独立的项目进行开发，并不再依赖于YUI，在使用Ext的过程当中，你可以使用Ext-base, Prototype+script.aculo.us，jQuey和YUI四种中的一种，我因为比较习惯使用prototype，所以会选择Prototype+script.aculo.us的组合。jQuery也是一个写得很优美的框架，没有用过，以后抽空看看代码，应该获益匪浅。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Ext官方网站：&lt;a href="http://www.extjs.com/"&gt;http://www.extjs.com&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;JSEclipse：&lt;a href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=labs_jseclipse"&gt;http://www.adobe.com/cfusion/entitlement/index.cfm?e=labs_jseclipse&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;Firebug：&lt;a href="http://www.getfirebug.com/"&gt;http://www.getfirebug.com&lt;/a&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;从Ext的站点上下载最新版本的文件，解压什么的我就不说，我想说一下这个文档的结构：&lt;/div&gt;
&lt;div&gt;├─adapter           存放所有adapter的文件夹&lt;br&gt;├─build               经过压缩（build）过的文件&lt;br&gt;├─docs               文档&lt;br&gt;├─examples         DEMO&lt;br&gt;├─package          按包分类的文件&lt;br&gt;├─resources        资源文件，包括CSS和一些图片&lt;br&gt;└─source            源代码&lt;/div&gt;
&lt;div&gt;使用过程当中，除非你特别介意JS文件的加载是否影响速度，大可只引入ext-all.js和ext-all.css两个文件，Ext在包管理方面，我觉得应该向Dojo学习下。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;JS和CSS引入的顺序：&lt;/div&gt;
&lt;div&gt;&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;js/ext/resources/css/ext-all.css&amp;quot; /&amp;gt;         必须引入&lt;br&gt;&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;js/ext/resources/css/xtheme-aero.css&amp;quot; /&amp;gt; 可选，用来控制主题，并且有其他两个可选值，xtheme-gray.css、xtheme-vista.css。&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;引入JS：按照底层依赖的不同：&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;Ext Stand-alone：&lt;br&gt;&lt;/strong&gt;ext-base.js&lt;br&gt;ext-all.js (or your choice of files) 
&lt;p&gt;&lt;strong&gt;Yahoo! UI (.12+)：&lt;/strong&gt;&lt;br&gt;yui-utilities.js&lt;br&gt;ext-yui-adapter.js&lt;br&gt;ext-all.js (or your choice of files) 
&lt;p&gt;&lt;strong&gt;jQuery (1.1+)：&lt;/strong&gt;&lt;br&gt;jquery.js&lt;br&gt;jquery-plugins.js // required jQuery plugins&lt;br&gt;ext-jquery-adapter.js&lt;br&gt;ext-all.js (or your choice of files) 
&lt;p&gt;&lt;strong&gt;Prototype (1.5+) / Scriptaculous (1.7+)：&lt;br&gt;&lt;/strong&gt;prototype.js&lt;br&gt;scriptaculous.js?load=effects  (or whatever you want to load)&lt;br&gt;ext-prototype-adapter.js&lt;br&gt;ext-all.js (or your choice of files) 
&lt;div&gt;把相应的文件引入到HTML的head里后，你就可以写你自己的第一Ext的Demo了。&lt;/div&gt;
&lt;div&gt;&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;/div&gt;
&lt;div&gt;function InitDialog() {&lt;br&gt;  var dialog = new Ext.BasicDialog(&amp;quot;&lt;font color="#00b0f0"&gt;hello-dlg&lt;/font&gt;&amp;quot;, { &lt;br&gt;          &lt;strong&gt;id: &amp;quot;hello-dialog&amp;quot;,&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;            &lt;/strong&gt;title: &amp;quot;Hello&amp;quot;,&lt;br&gt;          autoTabs:true,&lt;br&gt;          width:500,&lt;br&gt;          height:300,&lt;br&gt;          shadow:true,&lt;br&gt;          minWidth:300,&lt;br&gt;          minHeight:250,&lt;br&gt;          proxyDrag: true&lt;br&gt;  });&lt;br&gt;  dialog.addKeyListener(27, dialog.hide, dialog);&lt;br&gt;  dialog.addButton('Submit', dialog.hide, dialog).disable();&lt;br&gt;  dialog.addButton('Close', dialog.hide, dialog);&lt;br&gt;  &lt;br&gt;  &lt;strong&gt;Ext.ComponentMgr.register(dialog);&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;}&lt;/div&gt;
&lt;div&gt;function OnButtonClick() {&lt;br&gt;  &lt;strong&gt;var dialog = Ext.getCmp(&amp;quot;hello-dialog&amp;quot;);&lt;br&gt;&lt;/strong&gt;  dialog.show();&lt;br&gt;}&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;Ext.onReady(InitDialog);&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;&amp;lt;/script&amp;gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&amp;lt;button onClick=&amp;quot;OnButtonClick();&amp;quot;&amp;gt;Show&amp;lt;/button&amp;gt;&lt;/div&gt;
&lt;div&gt;&amp;lt;div id=&amp;quot;&lt;font color="#0070c0"&gt;hello-dlg&lt;/font&gt;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;             渲染DIV用到的层&lt;/div&gt;
&lt;div&gt;这里有四处要注意一下：&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;id: &amp;quot;hello-dialog&amp;quot;, &lt;/strong&gt;Compoent的ID，有了这个ID才能用ComponentMgr.register来在全局进行注册&lt;br&gt;&lt;strong&gt;Ext.ComponentMgr.register(dialog); &lt;/strong&gt;注册组件&lt;/div&gt;
&lt;div&gt;&lt;strong&gt;var dialog = Ext.getCmp(&amp;quot;hello-dialog&amp;quot;); &lt;/strong&gt;根据ID来得到组件&lt;br&gt;&lt;strong&gt;Ext.onReady(InitDialog); &lt;/strong&gt;Ext.onRead是注册一个在整个页面的DOM构建完成会被执行的函数&lt;/div&gt;
&lt;p&gt;呵呵，第一个例子就出来了，试试看吧~ 
&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-4467243959638624240&amp;page=RSS%3a+Ext%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%ef%bc%88%e4%b8%80%ef%bc%89&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=bbiao.spaces.live.com&amp;amp;GT1=bbiao"&gt;</description><comments>http://bbiao.spaces.live.com/Blog/cns!C201294984BAF810!772.entry#comment</comments><guid isPermaLink="true">http://bbiao.spaces.live.com/Blog/cns!C201294984BAF810!772.entry</guid><pubDate>Tue, 21 Aug 2007 11:19:30 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://bbiao.spaces.live.com/blog/cns!C201294984BAF810!772/comments/feed.rss</wfw:commentRss><wfw:comment>http://bbiao.spaces.live.com/Blog/cns!C201294984BAF810!772.entry#comment</wfw:comment><dcterms:modified>2007-08-22T01:26:59Z</dcterms:modified></item><item><title>动态加载CSS</title><link>http://bbiao.spaces.live.com/Blog/cns!C201294984BAF810!602.entry</link><description>&lt;p&gt;这里说的动态加载是指加载外部CSS文件和动态创建样式表元素，在这里我总结的方法可能不全，但是尽量希望能把自己在使用的过程当中用到的一些方法提供给大家。 &lt;p&gt;&lt;strong&gt;首先来说如何动态加载一个外部的CSS文件：(假设文件名为style.css)&lt;/strong&gt; &lt;p&gt;最没有技术含量的方法：&lt;br&gt;document.write(&amp;quot;&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot;, href=&amp;quot;style.css&amp;quot;&amp;gt;&amp;lt;/link&amp;gt;&amp;quot;); &lt;p&gt;&lt;font color="#0080ff"&gt;@import(style.css)&lt;/font&gt;&lt;br&gt;这种方法只能用在外部CSS文件或style结点中，基本上不能算作是动态。在FF和IE中均可行。 &lt;p&gt;使用document.createStyleSheet()方法&lt;br&gt;这个方法是IE only的，参数可以传递一个样式表中的值，如body{background: blue;}或者是一个外部CSS文件的URL，使用方法如document.createStyleSheet(style.css)，此URL的地址相对于当前页面。 &lt;p&gt;&lt;font color="#0080ff"&gt;动态创建link结点&lt;br&gt;&lt;/font&gt;function LoadCss(cssUrl) {&lt;br&gt;    var link = document.createElement(&amp;quot;link&amp;quot;);&lt;br&gt;    link.rel = &amp;quot;stylesheet&amp;quot;;&lt;br&gt;    link.type = &amp;quot;text/css&amp;quot;;&lt;br&gt;    link.href = &amp;quot;cssUrl&amp;quot;;&lt;br&gt;    document.getElementsByTagName(&amp;quot;body&amp;quot;).item(0).appednChild(link);&lt;br&gt;}&lt;br&gt;这个方法在FF和IE中均可以使用，当然同样的思路还可以来创建style结点，然后使用XMLHttpRequest方法来加载cssURL中的内容，并把创建的style结点的innerHTML设置成XMLHttpRequest的responseText，但由于我认为这是最不经济、最不合理的一种方法，所以在这也就不讲了。 &lt;p&gt;&lt;font color="#0080ff"&gt;更新当前某个link结点&lt;br&gt;&lt;/font&gt;思路同上，但是这种作法是替换掉一个已有的link标签，可以用于更换网站的Theme，基本代码如下：&lt;br&gt;function ChangeTheme(cssUrl) {&lt;br&gt;    var theme = document.getElementByName(&amp;quot;theme&amp;quot;); //假设存在id为theme的结点&lt;br&gt;    theme.href = cssUrl;&lt;br&gt;}&lt;br&gt;这种方法我测试过，在FF和IE中均可行。 &lt;p&gt;&lt;strong&gt;动态创建样式元素&lt;/strong&gt; &lt;p&gt;如果我想在网页上增加一个如下的CSS元素，应该怎么做呢？&lt;br&gt;.focus {&lt;br&gt;    color: red;&lt;br&gt;    font-style: bold;&lt;br&gt;}&lt;br&gt;当然，我可以创建一个style结点，然后把上面这段内容放到innerHTML中，那有没有别的办法呢？到目前为止，我还不知道除了上面那个方法以处一个在FF和IE中均可行的方法。不过在IE中我们可以这样做：&lt;br&gt;var sheet = document.createStyleSheet();&lt;br&gt;sheet.addRule(&amp;quot;.focus&amp;quot;, &amp;quot;color: red; font-style: bold;&amp;quot;); &lt;p&gt;文章中如有不对的地方，欢迎大家给我指正。 &lt;p&gt;&lt;em&gt;&lt;strong&gt;下篇BLOG预告，我将总结一下如何动态的加载一个js文件。&lt;/strong&gt;&lt;/em&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-4467243959638624240&amp;page=RSS%3a+%e5%8a%a8%e6%80%81%e5%8a%a0%e8%bd%bdCSS&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=bbiao.spaces.live.com&amp;amp;GT1=bbiao"&gt;</description><comments>http://bbiao.spaces.live.com/Blog/cns!C201294984BAF810!602.entry#comment</comments><guid isPermaLink="true">http://bbiao.spaces.live.com/Blog/cns!C201294984BAF810!602.entry</guid><pubDate>Sun, 15 Apr 2007 04:05:53 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://bbiao.spaces.live.com/blog/cns!C201294984BAF810!602/comments/feed.rss</wfw:commentRss><wfw:comment>http://bbiao.spaces.live.com/Blog/cns!C201294984BAF810!602.entry#comment</wfw:comment><dcterms:modified>2007-04-15T04:10:06Z</dcterms:modified></item><item><title>关于一个开源QQ去广告显IP插件可行性的论证</title><link>http://bbiao.spaces.live.com/Blog/cns!C201294984BAF810!599.entry</link><description>&lt;div&gt;题目很长，可能读着有些绕口，可以简单地介绍一下。就是利用开源的方式开发一款QQ的插件，用于完成去广告显示IP等功能，类似于珊瑚虫、飘云等的插件。这个呢，是从高二就开始有的一个想法，当时因为技术的原因，自己只会用修改资源文件的方式来去广告，对于显IP则无能为力了。而这个想法现在又出现在脑海里，是因为看了木子（原来木子QQ的开发者）的文章，看到他数落珊瑚虫和其他一些类似插件的行为，木子说到珊瑚虫已经找到了一种营利模式；看到飘云要小范围开源，然后又看了几篇关于类似技术分析的文章，觉得现在如果有时间的话，倒是可以尝试来完成这样一件事情。还有也许是出于个人的一点偏好吧，好多插件现在做得都太大了，我只需要一个Simple的插件就行。呵呵，Simple is beautiful！&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;不过现在自己考虑的主要有以下几个问题：&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;开源的模式是否适用于这类插件的开发，特别是在国内这种环境下。
&lt;li&gt;是否会引起与现在许多类似插件一样的法律问题。
&lt;li&gt;能不能找到志同道合愿意做这件事情的朋友。&lt;/ul&gt;
&lt;p&gt;只希望如果自己决定做了，能够好好地把这件事情做下去。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-4467243959638624240&amp;page=RSS%3a+%e5%85%b3%e4%ba%8e%e4%b8%80%e4%b8%aa%e5%bc%80%e6%ba%90QQ%e5%8e%bb%e5%b9%bf%e5%91%8a%e6%98%beIP%e6%8f%92%e4%bb%b6%e5%8f%af%e8%a1%8c%e6%80%a7%e7%9a%84%e8%ae%ba%e8%af%81&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=bbiao.spaces.live.com&amp;amp;GT1=bbiao"&gt;</description><comments>http://bbiao.spaces.live.com/Blog/cns!C201294984BAF810!599.entry#comment</comments><guid isPermaLink="true">http://bbiao.spaces.live.com/Blog/cns!C201294984BAF810!599.entry</guid><pubDate>Wed, 11 Apr 2007 10:51:55 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://bbiao.spaces.live.com/blog/cns!C201294984BAF810!599/comments/feed.rss</wfw:commentRss><wfw:comment>http://bbiao.spaces.live.com/Blog/cns!C201294984BAF810!599.entry#comment</wfw:comment><dcterms:modified>2007-04-11T10:51:55Z</dcterms:modified></item></channel></rss>