<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>某人的栖息地 &#187; javascript</title>
	<atom:link href="http://www.ooso.net/tag/javascript/feed" rel="self" type="application/rss+xml" />
	<link>http://www.ooso.net</link>
	<description>Linux + Apache + Mysql + Php + Flash</description>
	<lastBuildDate>Thu, 19 Jan 2012 01:21:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>yepnope.js &#8211; 异步加载资源文件</title>
		<link>http://www.ooso.net/archives/591</link>
		<comments>http://www.ooso.net/archives/591#comments</comments>
		<pubDate>Tue, 08 Mar 2011 05:29:47 +0000</pubDate>
		<dc:creator>Volcano</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[yepnope]]></category>

		<guid isPermaLink="false">http://www.ooso.net/?p=591</guid>
		<description><![CDATA[yepnope.js是一个能够根据输入条件来选择性异步加载资源文件的js脚本，可以在页面上仅加载用户需要的js/css。
典型代码示例
yepnope({
  test : Modernizr.geolocation,

				<span class="readmore"><a href="http://www.ooso.net/archives/591" title="yepnope.js &#8211; 异步加载资源文件">阅读全文（1006字）</a></span>]]></description>
			<content:encoded><![CDATA[<p><a href="http://yepnopejs.com/">yepnope.js</a>是一个能够根据输入条件来选择性异步加载资源文件的js脚本，可以在页面上仅加载用户需要的js/css。</p>
<h2>典型代码示例</h2>
<pre><code>yepnope({
  test : Modernizr.geolocation,
  yep  : 'normal.js',
  nope : ['polyfill.js', 'wrapper.js']
});</code></pre>
<p>当Modernizr.geolocation为真时，加载yep项也就是&#8221;normal.js&#8221;，否则加载nope项——可以同时加载多个文件。</p>
<h2>yepnope和现有的xxx script loader有什么区别？</h2>
<p>个人认为主要 是这两点：</p>
<ul>
<li>可以同时处理javascript以及css</li>
<li>能够按条件加载</li>
</ul>
<h2>yepnope的全部参数</h2>
<pre><code>yepnope([{
  test : /* boolean(ish) - 你要检查真伪的表达式             */,
  yep  : /* array (of strings) | string - test为true时加载这项  */,
  nope : /* array (of strings) | string - test为false时加载这项 */,
  both : /* array (of strings) | string - 什么情况下都加载              */,
  load : /* array (of strings) | string - 什么情况下都加载              */,
  callback : /* function ( testResult, key ) | object { key : fn }   当某个url加载成功时执行相应的方法         */,
  complete : /* function   都加载完成了执行这个方法                                                   */
}, ... ]);</code></pre>
<p>这里的参数都可以是array或者object，在加载多个资源文件的时候有用。</p>
<h3>yepnope加载jquery的实例</h3>
<pre><code>yepnope([{
  load: 'http:/­/ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js',
  complete: function () {
    if (!window.jQuery) {
      yepnope('local/jquery.min.js');
    }
  }
}, {
  load: 'jquery.plugin.js',
  complete: function () {
    jQuery(function () {
      jQuery('div').plugin();
    });
  }
}]);</code></pre>
<p>这段代码异步加载了jquery和jquery.plugin.js，甚至还对jquery加载失败的情况做了一个备用处理。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ooso.net/archives/591/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>如何安装Node.js</title>
		<link>http://www.ooso.net/archives/589</link>
		<comments>http://www.ooso.net/archives/589#comments</comments>
		<pubDate>Sun, 13 Feb 2011 01:34:54 +0000</pubDate>
		<dc:creator>Volcano</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[nodejs]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.ooso.net/?p=589</guid>
		<description><![CDATA[下面分别介绍在Mac, Ubuntu,Centos以及Windows下安装Node.js.
Mac
在Mac下，如果你喜欢用homebrew，那么只用一行就可以装好:
brew install node

				<span class="readmore"><a href="http://www.ooso.net/archives/589" title="如何安装Node.js">阅读全文（1230字）</a></span>]]></description>
			<content:encoded><![CDATA[<p>下面分别介绍在<a href="#mac">Mac</a>, <a href="#ubuntu">Ubuntu</a>,<a href="#centos">Centos</a>以及<a href="#windows">Windows</a>下安装<a href="/tag/nodejs">Node.js</a>.</p>
<h2 id="mac">Mac</h2>
<p>在Mac下，如果你喜欢用<a href="http://github.com/mxcl/homebrew">homebrew</a>，那么只用一行就可以装好:</p>
<pre><code>brew install node</code></pre>
<p>否则，只能考虑手工安装了，步骤如下：</p>
<ul>
<ol>
<li>安装Xcode</li>
<li><a href="http://help.github.com/mac-git-installation/">安装git</a></li>
<li>运行下面的命令行编译node.js
<pre><code>git clone git://github.com/joyent/node.git
cd node
./configure
make
sudo make install</code></pre>
</li>
</ol>
</ul>
<h2 id="ubuntu">Ubuntu</h2>
<ul>
<ol>
<li>安装依赖包
<pre><code>sudo apt-get install g++ curl libssl-dev apache2-utils
sudo apt-get install git-core</code></pre>
</li>
<li>运行下面的命令行:
<pre><code>git clone git://github.com/joyent/node.git
cd node
./configure
make
sudo make install</code></pre>
</li>
</ol>
</ul>
<h2 id="windows">Windows</h2>
<p>用cygwin来安装node，步骤如下:</p>
<ul>
<ol>
<li>安装<a href="http://www.cygwin.com/">cygwin</a>
</li>
<li>在cygwin的目录下，运行setup.exe安装下面列表中的包
<ul>
<li>devel → openssl</li>
<li>devel → g++-gcc</li>
<li>devel → make
</li>
<li>python → python
</li>
<li>devel → git
</li>
</ul>
</li>
<li>运行cygwin
</li>
<li>运行下面的命令行:
<pre><code>git clone git://github.com/joyent/node.git
cd node
./configure
make
sudo make install</code></pre>
</li>
</ol>
</ul>
<h2 id="centos">Centos</h2>
<pre><code>yum install gcc-c++ openssl-devel
wget --no-check-certificate https://github.com/joyent/node/tarball/v0.3.3
tar -xzvf ry-node-v0.3.3-0-g57544ba.tar.gz
cd ry-node-v0.3.3-0-g57544bac1
./configure
make
make install</code></pre>
<h2>Hello Node.js!</h2>
<p>写一段小程序例如hello_node.js来验证安装是否正确：</p>
<pre><code>var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello Node.js\n');
}).listen(8124, "127.0.0.1");
console.log('Server running at http://127.0.0.1:8124/');</code></pre>
<p>用node来运行这段代码</p>
<pre><code>node hello_node.js
Server running at http://127.0.0.1:8124/</code></pre>
<p>现在，用浏览器打开 http://127.0.0.1:8124/ ， 应该能够看到一条好消息。</p>
<h2>参考文档</h2>
<p><a href="http://howtonode.org/how-to-install-nodejs">How to Install Node.js</a></p>
<h2>Update</h2>
<ul>
<li>补充了在centos上安装Node.js的步骤</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ooso.net/archives/589/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>如何在jquery mobile中加载google map api</title>
		<link>http://www.ooso.net/archives/580</link>
		<comments>http://www.ooso.net/archives/580#comments</comments>
		<pubDate>Thu, 13 Jan 2011 07:03:42 +0000</pubDate>
		<dc:creator>Volcano</dc:creator>
				<category><![CDATA[google]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[google-map]]></category>
		<category><![CDATA[jquery-mobile]]></category>

		<guid isPermaLink="false">http://www.ooso.net/?p=580</guid>
		<description><![CDATA[介绍一个用jquery mobile的ajax效果加载google map api，实现地图呈现的例子。
代码示例
首先是代码示例，使用iphone或android之类的手机查看，效果更佳
google map with jquery mobile

				<span class="readmore"><a href="http://www.ooso.net/archives/580" title="如何在jquery mobile中加载google map api">阅读全文（605字）</a></span>]]></description>
			<content:encoded><![CDATA[<p>介绍一个用<a href="/tag/jquery-mobile">jquery mobile</a>的ajax效果加载google map api，实现地图呈现的例子。</p>
<h2>代码示例</h2>
<p>首先是代码示例，使用iphone或android之类的手机查看，效果更佳<br />
<a href="http://www.ooso.net/wp-content/uploads/2010/12/map/">google map with jquery mobile</a></p>
<h2>关键代码说明</h2>
<p><strong>map.js</strong></p>
<p>map.js定义了加载地图的方法initiallize()，这个和常规网页中加载google map是一致的，因此这里不再细述。</p>
<p><strong>map.html</strong></p>
<p>地图的实际页面，在这个页面中不能直接加载google map的api，因为它是采用document.write再次写入script来实现的，所以我们采用callback的方式来加载它，见下面的代码： </p>
<pre><code>head.js(
        "map.js",
        function() {
            head.js("http://maps.google.com/maps/api/js?sensor=true&#038;callback=initialize");
        }
    );</code></pre>
<p>首先用<a href="https://github.com/headjs/headjs">head.js</a>把initialize方法装载进来，然后用callback方式调用google map api。你可以试试用最平常的方式加载这段代码，看看有什么效果。</p>
<pre><code>&lt;script src="map.js"&gt;&lt;/script&gt;
&lt;script src="http://maps.google.com/maps/api/js?sensor=true&#038;callback=initialize"&gt;&lt;/script&gt;</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.ooso.net/archives/580/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>code-prettify &#8212; wordpress语法高亮插件</title>
		<link>http://www.ooso.net/archives/575</link>
		<comments>http://www.ooso.net/archives/575#comments</comments>
		<pubDate>Thu, 02 Dec 2010 12:51:28 +0000</pubDate>
		<dc:creator>Volcano</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[code-pretitty]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://www.ooso.net/?p=575</guid>
		<description><![CDATA[最近基于google-code-prettify实现了一个代码高亮的wordpress插件 &#8212; code-pretttify，测试了下效果还不错，所以我马上把全站的代码高亮插件换成了这个。
这里是code-prettify的项目主页，我会把这个plugin的最新情况更新在这里。
code-prettify的特点


				<span class="readmore"><a href="http://www.ooso.net/archives/575" title="code-prettify &#8212; wordpress语法高亮插件">阅读全文（954字）</a></span>]]></description>
			<content:encoded><![CDATA[<p>最近基于<a href="http://code.google.com/p/google-code-prettify/">google-code-prettify</a>实现了一个代码高亮的<a href="/tag/wordpress">wordpress</a>插件 &#8212; <a href="/code-prettify">code-pretttify</a>，测试了下效果还不错，所以我马上把全站的代码高亮插件换成了这个。</p>
<p>这里是<a href="/code-prettify">code-prettify的项目主页</a>，我会把这个plugin的最新情况更新在这里。</p>
<h2>code-prettify的特点</h2>
<ul>
<li>完全由javascript完成代码高亮，不占用服务器资源</li>
<li>使用简单，只要用&lt;pre&gt;&lt;code&gt;和&lt;/code&gt;&lt;/pre&gt;包住代码，发布即可，这是wordpress编辑器自带的quicktag。</li>
<li>没有添加额外的hook，所以不会和别的wordpress插件产生冲突，绿色无污染</li>
<li>载入速度很快，因为js是在页面尾部加载的，不会堵塞页面的载入！</li>
</ul>
<h2>代码高亮效果演示</h2>
<p><strong>eg:</strong></p>
<pre><code>&lt;pre&gt;&lt;code&gt;
class BigBang {
    function blah() {
        echo "Hello ooso.net";
    }
}
&lt;/code&gt;&lt;/pre&gt;</code></pre>
<p><strong>Effect:</strong></p>
<pre><code>class BigBang {
    function blah() {
        echo "Hello ooso.net";
    }
}</code></pre>
<p>测试objective-c的code prettify效果</p>
<pre><code>TTImageView *thumb = [[[TTImageView alloc] initWithFrame:CGRectMake(30, 30, 0, 0)] autorelease];
[thumb setAutoresizesToImage:YES];
[thumb setURL:@"http://farm4.static.flickr.com/3163/3110335722_7a906f9d8b_m.jpg"];
[self.view addSubview:thumb];
</pre>
<p></code></p>
<h2>code-prettify下载</h2>
<p>暂时把代码托管到<a href="https://github.com/volca/code-prettify">github.com/volca/code-prettify</a>，所以你可以直接使用git下载代码，或者直接从github下载现成的zip包。</p>
<p>代码非常简单，如果你有合适修正，可以试着用github推给我。</p>
<h2>Update</h2>
<p>另外安装了一个全新的wordpress测试，发现一些bug，因为wordpress默认对文本进行格式修正，在代码后面添加了很多br以及p标签，导致插件失效，所以我不得已用php替换了一些内容保证插件的正常运行。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ooso.net/archives/575/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>图片预加载效果的实现</title>
		<link>http://www.ooso.net/archives/423</link>
		<comments>http://www.ooso.net/archives/423#comments</comments>
		<pubDate>Sun, 15 Jun 2008 23:25:48 +0000</pubDate>
		<dc:creator>Volcano</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[picasa]]></category>

		<guid isPermaLink="false">http://www.ooso.net/?p=423</guid>
		<description><![CDATA[使用picasa的时候，注意到它首先是显示模糊的图片，然后图片突然变得清晰，这样做有一定的好处——picasa的图片翻页是用javascript实现的，如果直接载入大图，中间势必会有个空档，用户在这中间会感觉很空虚~~
于是我花了点时间，打探它的实现方式，发觉很简单，不是用的lowsrc之类的标记，而是简单的js。
代码示例
&#60;img id="myImage" src="small_144.jpg" width="640" /&#62;

				<span class="readmore"><a href="http://www.ooso.net/archives/423" title="图片预加载效果的实现">阅读全文（350字）</a></span>]]></description>
			<content:encoded><![CDATA[<p>使用<a href="http://www.picasaweb.com">picasa</a>的时候，注意到它首先是显示模糊的图片，然后图片突然变得清晰，这样做有一定的好处——picasa的图片翻页是用<a href="/?tag=javascript">javascript</a>实现的，如果直接载入大图，中间势必会有个空档，用户在这中间会感觉很空虚~~</p>
<p>于是我花了点时间，打探它的实现方式，发觉很简单，不是用的lowsrc之类的标记，而是简单的js。</p>
<h3>代码示例</h3>
<pre><code>&lt;img id="myImage" src="small_144.jpg" width="640" /&gt;
var img = new Image();
img.src = "http://imghost/big_640_480.jpg";
img.onload = function() {
  document.getElementById('myImage').src = this.src;
}</code></pre>
<p>如此这般，待大图载入完成之后，利用js替换原小图的src，就完成了图片预加载效果。关键点是图片的onload事件利用。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ooso.net/archives/423/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Google AJAX Feed API的冷门用法</title>
		<link>http://www.ooso.net/archives/422</link>
		<comments>http://www.ooso.net/archives/422#comments</comments>
		<pubDate>Sat, 14 Jun 2008 03:14:28 +0000</pubDate>
		<dc:creator>Volcano</dc:creator>
				<category><![CDATA[google]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false">http://www.ooso.net/index.php/archives/422</guid>
		<description><![CDATA[Google AJAX Feed API是google提供的一个很实用的API，我经常用它来跨域获取某些rss feed并展现。但是使用前需要申请一个API KEY，然后才可以在指定网站上使用，如果有多级子域名的话，挨个申请key是一个很烦人的事情，所以也就有了下面说的冷门用法。
Google AJAX Feed API提供了针对Flash或javascript无效这两种环境的额外接口，其中一种可以支持jsonp方式调用，跨域调用feed就全靠它了。
jsonp调用代码示例
&#60;script&#62;

				<span class="readmore"><a href="http://www.ooso.net/archives/422" title="Google AJAX Feed API的冷门用法">阅读全文（351字）</a></span>]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/apis/ajaxfeeds">Google AJAX Feed API</a>是google提供的一个很实用的API，我经常用它来跨域获取某些rss feed并展现。但是使用前需要申请一个API KEY，然后才可以在指定网站上使用，如果有多级子域名的话，挨个申请key是一个很烦人的事情，所以也就有了下面说的冷门用法。</p>
<p>Google AJAX Feed API提供了针对Flash或javascript无效这两种环境的额外接口，其中一种可以支持jsonp方式调用，跨域调用feed就全靠它了。</p>
<h3>jsonp调用代码示例</h3>
<pre><code>&lt;script&gt;
function foo(rss) {
	console.log(rss);
}
&lt;/script&gt;
&lt;script src="http://ajax.googleapis.com/ajax/services/feed/load?q=http%3A%2F%2Ffeed.ooso.net&#038;v=1.0&#038;callback=foo"&gt;&lt;/script&gt;</code></pre>
<p>这段代码中，指定了callback function为<b>foo</b>，所以我预先定义了一个function foo，运行时就可以在<a href="/?tag=firebug">firebug</a>的控制台里清楚的看到返回的json串结构。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ooso.net/archives/422/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>jQuerify书签</title>
		<link>http://www.ooso.net/archives/417</link>
		<comments>http://www.ooso.net/archives/417#comments</comments>
		<pubDate>Tue, 10 Jun 2008 00:35:19 +0000</pubDate>
		<dc:creator>Volcano</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.ooso.net/?p=417</guid>
		<description><![CDATA[我不知道有多少人在使用浏览器的书签，这东东有时候实在是很有用的，比如现在说到的jQuerify书签。
jQuerify书签的功能很简单，那就是在当前页面中直接载入jquery.js，并以一个粉红色的浮动层提示jquery已经载入。书签的源代码如下：
var s=document.createElement('script');
s.setAttribute('src','http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js');

				<span class="readmore"><a href="http://www.ooso.net/archives/417" title="jQuerify书签">阅读全文（1031字）</a></span>]]></description>
			<content:encoded><![CDATA[<p>我不知道有多少人在使用浏览器的书签，这东东有时候实在是很有用的，比如现在说到的<a href="http://www.learningjquery.com/2008/06/updated-jquery-bookmarklet">jQuerify书签</a>。</p>
<p>jQuerify书签的功能很简单，那就是在当前页面中直接载入<a href="/?tag=jquery">jquery.js</a>，并以一个粉红色的浮动层提示jquery已经载入。书签的源代码如下：</p>
<pre><code>var s=document.createElement('script');
s.setAttribute('src','http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js');
if(typeof jQuery!='undefined') {
  var msg='This page was already jQuerified'
} else {
  document.getElementsByTagName('head')[0].appendChild(s);
  var msg='This page is now jQuerified'
}
var el=document.createElement('div');
  el.style.position='fixed';
  el.style.height='30';
  el.style.width='200';
  el.style.margin='0 auto 0 auto';
  el.id='jq-kswedberg';
  el.style.top='0';
  el.style.left='40%';
  el.style.padding='5px 10px 5px 10px';
  el.style.backgroundColor='#f99';
  el.innerHTML=msg;
var b=document.getElementsByTagName('body')[0];
b.appendChild(el);
window.setTimeout(function() {
  jQuery('#jq-kswedberg').fadeOut('slow',function() {
	jQuery(this).remove()
  });
}, 2500);
void(s);</code></pre>
<p>书签的链接在下边，如果是firefox的话，可以直接拖拽到firefox的书签栏上。</p>
<p>» <a href="javascript:var%20s=document.createElement('script');s.setAttribute('src','http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js');if(typeof%20jQuery!='undefined'){var%20msg='This%20page%20was%20already%20jQuerified'}else{document.getElementsByTagName('head')[0].appendChild(s);var%20msg='This%20page%20is%20now%20jQuerified'}var%20el=document.createElement('div');el.style.position='fixed';el.style.height='30';el.style.width='200';el.style.margin='0%20auto%200%20auto';el.id='jq-kswedberg';el.style.top='0';el.style.left='40%';el.style.padding='5px%2010px%205px%2010px';el.style.backgroundColor='#f99';el.innerHTML=msg;var%20b=document.getElementsByTagName('body')[0];b.appendChild(el);window.setTimeout(function()%20{jQuery('#jq-kswedberg').fadeOut('slow',function(){jQuery(this).remove()});},2500);void(s);">jQuerify</a> «</p>
<p>这里用到了<a href="http://www.ooso.net/index.php/archives/404">最近说到的google cdn</a>，速度可是足够快的。在使用书签之后，就可以尽情享受jquery的便利了，比如在firebug的console输入：</p>
<pre><code>$('body').background('#ffc')</code></pre>
<p>你会看到屏幕的背景色变黄了:)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ooso.net/archives/417/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>jQuery UI 1.5</title>
		<link>http://www.ooso.net/archives/419</link>
		<comments>http://www.ooso.net/archives/419#comments</comments>
		<pubDate>Mon, 09 Jun 2008 10:55:09 +0000</pubDate>
		<dc:creator>Volcano</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.ooso.net/?p=419</guid>
		<description><![CDATA[jQuery UI 1.5正式版发布，仍然保持了jquery简单易用的特点。
简化的API调用
这个版本最大的改进是重新定义了API规则，之前API提供的95%以上的方法都移除了，取而代之的是更简单的调用规则，每个plugin只保留了一个方法，以draggable为例：


				<span class="readmore"><a href="http://www.ooso.net/archives/419" title="jQuery UI 1.5">阅读全文（503字）</a></span>]]></description>
			<content:encoded><![CDATA[<p><a href="http://ui.jquery.com">jQuery UI 1.5正式版发布</a>，仍然保持了jquery简单易用的特点。</p>
<h3>简化的API调用</h3>
<p>这个版本最大的改进是重新定义了API规则，之前API提供的95%以上的方法都移除了，取而代之的是更简单的调用规则，每个plugin只保留了一个方法，以draggable为例：</p>
<ul>
<li>$(”div”).draggable() 创建一个拖拽对象</li>
<li>$(”div”).draggable(”destroy”) 删掉拖拽对象</li>
<li>$(”div”).draggable(”method”) 呼叫这个plugin的其它方法</li>
</ul>
<h3>jQuery UI的另外一个杀手级应用——ThemeRoller</h3>
<p><a href="http://ui.jquery.com/themeroller"><img src="http://jquery.com/blog/wp-content/uploads/2008/06/themeRoller_ui_full.png" alt="ThemeRoller" /></a></p>
<p>利用ThemeRoller，你只要几分钟就可以创建一个自己的主题，可以方便调整色彩并预览效果，在调整满意之后，还能将主题的图片和css以zip包下载，算是相当贴心的一个功能，只可惜从国内访问过去速度有些抱歉。</p>
<p><a href="/?tag=jquery">jQuery</a> UI 1.5的整个包包大小是1.78M，相比yui来说是有过之而无不及。好在包内的各个demo都是真材实料，相当精彩，大一点也无妨。</p>
<p>更详细的信息请看：<a href="http://jquery.com/blog/2008/06/09/jquery-ui-v15-released-focus-on-consistent-api-and-effects/">jQuery UI v1.5 Released, Focus on Consistent API and Effects</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ooso.net/archives/419/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>我也试用YUI Uploader</title>
		<link>http://www.ooso.net/archives/405</link>
		<comments>http://www.ooso.net/archives/405#comments</comments>
		<pubDate>Fri, 30 May 2008 01:58:11 +0000</pubDate>
		<dc:creator>Volcano</dc:creator>
				<category><![CDATA[flash]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[yui]]></category>
		<category><![CDATA[上传]]></category>

		<guid isPermaLink="false">http://www.ooso.net/index.php/archives/405</guid>
		<description><![CDATA[早就知道YUI里面有Uploader这么一个上传组件，可以按住ctrl多选文件上传(就像flickr那样的上传)，并且可以支持进度条，这样对用户来说是相当方便的。
由于YUI Uploader是利用javascript + flash实现的，所以用户的浏览器上只要有flash player就可以使用，也不需要额外安装别的插件了，这显然也是YUI Uploader的一大优势。
我的YUI Uploader试用之旅


				<span class="readmore"><a href="http://www.ooso.net/archives/405" title="我也试用YUI Uploader">阅读全文（1128字）</a></span>]]></description>
			<content:encoded><![CDATA[<p>早就知道<a href="http://developer.yahoo.com/yui/">YUI</a>里面有Uploader这么一个上传组件，可以按住ctrl多选文件上传(就像flickr那样的上传)，并且可以支持进度条，这样对用户来说是相当方便的。</p>
<p>由于YUI Uploader是利用javascript + <a href="/?tag=flash">flash</a>实现的，所以用户的浏览器上只要有flash player就可以使用，也不需要额外安装别的插件了，这显然也是YUI Uploader的一大优势。</p>
<h3>我的YUI Uploader试用之旅</h3>
<ul>
<li>首先<a href="http://developer.yahoo.com/yui/examples/uploader/assets/uploader-advanced.zip">下载Uploader批量上传页的html源文件</a></li>
<li>解压后放置在你的web服务器上，比如我就是在自己的台式机上安装了一个xampp</li>
<li>现在需要一个处理上传操作的后端程序，在这里我是用php简单的写了一个，如果你用别的语言也是不成问题的。在<b>uploader-advanced-source.html</b>的同一目录下放置<b>upload.php</b>，源文件如下：
<pre><code>foreach ($_FILES as $fieldName =&gt; $file) {
	$name = md5(microtime());
	move_uploaded_file($file['tmp_name'], "./" . $name . '.jpg');
	echo $fieldName . ' uploaded!';
}</code></pre>
</li>
<li>下载http://yui.yahooapis.com/2.5.1/build/uploader/assets/uploader.swf，然后把<b>uploader.swf</b>放在和<b>upload.php</b>的同一目录下，这是为了避免javascript和flash交互过程中出现跨域问题。</li>
<li>修改uploader-advanced-source.html
<ul>
<li>把&#8221;YOUR UPLOAD URL GOES HERE&#8221;替换成你的upload.php所在的url，比如我的就是http://localhost/yui/upload.php
<li>把YAHOO.widget.Uploader.SWFURL修改成你的uploader.swf实际url</li>
</ul>
</li>
<li>现在访问uploader-advanced-source.html，试试批量上传功能吧</li>
</ul>
<h3>试用的一点补充</h3>
<ul>
<li>这个例子里面的php源文件只是考虑上传n张jpg文件的情况，可根据实际情况调整。</li>
<li>上传后的文件名是md5随机加密的，在upload.php同一目录可见</li>
<li>由于flash的bug，运行在windows下的firefox无法正确获得flash传递过来的cookie，如果上传应用对cookie有依赖，可能会需要做额外的处理。</li>
<li><del>为了能够确切的显示上传进度条，可能需要php 5.2的<a href="http://pecl.php.net/package/APC">apc</a>扩展支持</del></li>
<li>上传进度由flash完成</li>
<li>YUI 2.5.2已经附上uploader.swf的actionscript，有一定的学习价值</li>
</ul>
<h3>贴一张Uploader使用效果图</h3>
<p><img src="http://developer.yahoo.com/yui/examples/uploader/assets/uploader-advanced.jpg" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ooso.net/archives/405/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>利用Google Ajax Library API加速常用js类库的载入</title>
		<link>http://www.ooso.net/archives/404</link>
		<comments>http://www.ooso.net/archives/404#comments</comments>
		<pubDate>Wed, 28 May 2008 06:56:58 +0000</pubDate>
		<dc:creator>Volcano</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.ooso.net/index.php/archives/404</guid>
		<description><![CDATA[google前不久推出了Google Ajax Library API，说白了就是提供几个知名js库的host，目前有:

jQuery
prototype

				<span class="readmore"><a href="http://www.ooso.net/archives/404" title="利用Google Ajax Library API加速常用js类库的载入">阅读全文（497字）</a></span>]]></description>
			<content:encoded><![CDATA[<p>google前不久推出了<a href="http://googleajaxsearchapi.blogspot.com/2008/05/speed-up-access-to-your-favorite.html">Google Ajax Library API</a>，说白了就是提供几个知名js库的host，目前有:</p>
<ul>
<li><a href="http://code.google.com/apis/ajaxlibs/documentation/index.html#jquery">jQuery</a></li>
<li><a href="http://code.google.com/apis/ajaxlibs/documentation/index.html#prototype">prototype</a></li>
<li><a href="http://code.google.com/apis/ajaxlibs/documentation/index.html#script_aculo_us">script.aculo.us</a></li>
<li><a href="http://code.google.com/apis/ajaxlibs/documentation/index.html#mootools">MooTools</a></li>
<li><a href="http://code.google.com/apis/ajaxlibs/documentation/index.html#dojo">dojo</a></li>
</ul>
<p><a href="/?tag=google">google</a>提供的这批js类库都有使用cdn，同时提供压缩和非压缩版本，并gzip输出。比如Prototype在未压缩前是124k，压缩后则只有30k，而jquery经过瘦身以后，也是从97k降到了16k。</p>
<p>这项服务的意义在于，如果各个网站都使用google提供的某个js类库比如jquery，那么由于浏览器缓存的缘故，用户就可以避免下载相同内容的js，这样也就能提高js的载入速度了。</p>
<h2>google ajax library api使用方法</h2>
<p><b>传统方式</b></p>
<pre><code>&lt;script src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.2/prototype.js"&gt;&lt;/script&gt;</code></pre>
<p><b>使用google.load载入</b></p>
<pre><code>&lt;script src="http://www.google.com/jsapi"&gt;&lt;/script&gt;
&lt;script&gt;
// Load jQuery
google.load("jquery", "1");
&lt;/script&gt;</code></pre>
<p>下面是一段小小的视频用来解释它的工作原理:<br />
<object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/4F4Jb1ssEvI&#038;hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/4F4Jb1ssEvI&#038;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></p>
<h2>Update</h2>
<p>昨天在某个小页面上尝试引入google提供的jquery.min.js，结果让我大失所望，虽然有时候访问速度很快，但是偶尔能刷出22秒以上的响应时间，如果是这样不稳定的话，那么实在是不敢放心使用。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ooso.net/archives/404/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>用greasemonkey生成土豆的豆单下载清单</title>
		<link>http://www.ooso.net/archives/400</link>
		<comments>http://www.ooso.net/archives/400#comments</comments>
		<pubDate>Sun, 18 May 2008 23:51:35 +0000</pubDate>
		<dc:creator>Volcano</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[flv]]></category>
		<category><![CDATA[greasemonkey]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[土豆]]></category>

		<guid isPermaLink="false">http://www.ooso.net/?p=400</guid>
		<description><![CDATA[前一阵忙里偷闲上土豆补看了一小段“机动战士高达Seed”，但是我这的网络有点垃圾，看的断断续续，十分不爽，折腾了一下午也就看了两三段。一怒之下，写了个greasemonkey脚本，生成土豆的豆单下载清单，配合快车批量下载，速度不要太快~
使用方法

首先你需要使用firefox浏览器

				<span class="readmore"><a href="http://www.ooso.net/archives/400" title="用greasemonkey生成土豆的豆单下载清单">阅读全文（397字）</a></span>]]></description>
			<content:encoded><![CDATA[<p>前一阵忙里偷闲上土豆补看了一小段“机动战士高达Seed”，但是我这的网络有点垃圾，看的断断续续，十分不爽，折腾了一下午也就看了两三段。一怒之下，写了个<a href="/index.php?tag=greasemonkey">greasemonkey</a>脚本，生成土豆的豆单下载清单，配合快车批量下载，速度不要太快~</p>
<h3>使用方法</h3>
<ul>
<li>首先你需要使用<a href="http://www.firefox.com">firefox浏览器</a></li>
<li>安装firefox的<a href="https://addons.mozilla.org/zh-CN/firefox/addon/748">greasemonkey插件</a></li>
<li>安装<a href="https://addons.mozilla.org/zh-CN/firefox/addon/1843">firebug插件</a>并重启firefox</li>
<li>安装<a href="http://customcode.googlecode.com/files/TudouDownloadList.user.js">TudouDownloadList</a>，如果greasemonkey安装正确的话，点击之前的链接应该会弹出一个安装框。</li>
<li>去访问土豆的豆单播放页，比如<a href="http://www.tudou.com/playlist/playindex.do?lid=676944">机动战士高达seed</a>，呼出firebug(按F12就可以了)，你会看到firebug的控制台里生成了一批flv文件的列表</li>
<li>复制这批flv文件的url，保存为后缀为.lst的文件</li>
<li>使用flashget导入列表即可批量下载土豆豆单了</li>
</ul>
<h3>补充</h3>
<p>为了能使用快车正常下载，你需要把下图所示的小勾去掉。<br />
<img src="http://www.ooso.net/wp-content/uploads/2008/05/flashget.jpg" alt="flashget" title="flashget"  /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ooso.net/archives/400/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AIR入门者推荐阅读 &#8212; AIR for JavaScript Developers</title>
		<link>http://www.ooso.net/archives/390</link>
		<comments>http://www.ooso.net/archives/390#comments</comments>
		<pubDate>Sat, 26 Apr 2008 03:36:24 +0000</pubDate>
		<dc:creator>Volcano</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[air]]></category>

		<guid isPermaLink="false">http://www.ooso.net/index.php/archives/390</guid>
		<description><![CDATA[O&#8217;reilly的电子书 AIR for JavaScript 更新了。可以在这里免费下载。
这本书按照 创造共用方式授权，这意味着你不仅仅可以合法的免费下载，还可以按照自己的意愿做些修改。我翻看了一些章节，这本书对于AIR的html + js开发者来说，是一本很好的入门教程。这次更新的内容还包括AIR的安全模型介绍。
]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.insideria.com/assets_c/2008/04/airbookcover-thumb-100x165.png" align="left" /><a href="http://onair.adobe.com/blogs/onair/2008/04/17/adobe-air-for-javascript-developers-pocketguide-now-available/">O&#8217;reilly的电子书 AIR for JavaScript 更新</a>了。可以<a href="http://www.insideria.com/upload/2008/04/weekend_reading/AIRforJSDevPocketGuide.pdf">在这里免费下载</a>。</p>
<p>这本书按照 <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/">创造共用方式授权</a>，这意味着你不仅仅可以合法的免费下载，还可以按照自己的意愿做些修改。我翻看了一些章节，这本书对于AIR的html + js开发者来说，是一本很好的入门教程。这次更新的内容还包括<a href="/?tag=air">AIR</a>的安全模型介绍。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ooso.net/archives/390/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>在wordpress.org上提交了inline-js</title>
		<link>http://www.ooso.net/archives/386</link>
		<comments>http://www.ooso.net/archives/386#comments</comments>
		<pubDate>Fri, 04 Apr 2008 01:35:45 +0000</pubDate>
		<dc:creator>Volcano</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://www.ooso.net/?p=386</guid>
		<description><![CDATA[前几天在wordpress.org的plugin list里提交了inline-js，这是我写的第一个wordpress插件，估计实用价值和使用者都不是太多:)但是我想如果有更多的使用者对这个plugin提一些意见的话，可能会更加完善，很希望能看到这个插件能持续发展，如果我能挤出更多的时间来维护的话。
]]></description>
			<content:encoded><![CDATA[<p>前几天在wordpress.org的plugin list里提交了<a href="http://wordpress.org/extend/plugins/inline-javascript/">inline-js</a>，这是我写的第一个<a href="/index.php?tag=wordpress">wordpress</a>插件，估计实用价值和使用者都不是太多:)但是我想如果有更多的使用者对这个plugin提一些意见的话，可能会更加完善，很希望能看到这个插件能持续发展，如果我能挤出更多的时间来维护的话。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ooso.net/archives/386/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Adobe AIR教程for HTML/JAVASCRIPT开发者</title>
		<link>http://www.ooso.net/archives/354</link>
		<comments>http://www.ooso.net/archives/354#comments</comments>
		<pubDate>Mon, 24 Mar 2008 00:52:15 +0000</pubDate>
		<dc:creator>Volcano</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[dreamweaver]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://www.ooso.net/?p=354</guid>
		<description><![CDATA[最近不是太有空，加上泡网络时间太长，对新鲜事物的敏感度有所下降。因此当Adobe出了个AIR，我还是兴趣缺缺，没功夫去试用。
但是兴趣这玩意可能也有些生理周期，前几天突然来了神把这个AIR好好端详一番，却发觉网上暂时没有适合我这种初级新手看的AIR教程，鼓捣了几天，仍然是毫无进展，我甚至连个hello world之类的简单air package都打不出来。也许小时候特意去踩过狗屎，因此现在我又走上狗屎运，在即将放弃的前一刻找到了一篇比较细致的AIR教程，记录下来，好记性不如烂键盘。
俺目前的情况是，没有安装Dreamweaver，Flash之类的软件，只用一些免费软件，所以我只打算写html/javascript之类的代码，flash方面的暂时不涉及，另外adobe提供的dreamweaver air sdk也是用不上，可谓一穷二白。

				<span class="readmore"><a href="http://www.ooso.net/archives/354" title="Adobe AIR教程for HTML/JAVASCRIPT开发者">阅读全文（1679字）</a></span>]]></description>
			<content:encoded><![CDATA[<p>最近不是太有空，加上泡网络时间太长，对新鲜事物的敏感度有所下降。因此当Adobe出了个<a href="/index.php?tag=air">AIR</a>，我还是兴趣缺缺，没功夫去试用。</p>
<p>但是兴趣这玩意可能也有些生理周期，前几天突然来了神把这个AIR好好端详一番，却发觉网上暂时没有适合我这种初级新手看的AIR教程，鼓捣了几天，仍然是毫无进展，我甚至连个hello world之类的简单air package都打不出来。也许小时候特意去踩过狗屎，因此现在我又走上狗屎运，在即将放弃的前一刻找到了一篇比较细致的AIR教程，记录下来，好记性不如烂键盘。</p>
<p>俺目前的情况是，没有安装Dreamweaver，Flash之类的软件，<a href="http://www.ooso.net/index.php/archives/178">只用一些免费软件</a>，所以我只打算写html/javascript之类的代码，flash方面的暂时不涉及，另外adobe提供的dreamweaver air sdk也是用不上，可谓一穷二白。</p>
<h3>第一步 &#8212; 安装Adobe AIR和Adobe AIR SDK</h3>
<p>如果你还没装，可以<a href="http://www.adobe.com/go/air">去网站上下载Adobe AIR Runtime和Adobe AIR SDK</a>.</p>
<p>装完Adobe AIR SDK以后，为了方便，你还需要把它的bin目录添加到系统的path变量下，这样你可以直接运行它的打包和debug工具。</p>
<p><span id="more-354"></span></p>
<h3>第二步 &#8212; 创建一些目录</h3>
<p>接下来创建一些目录来放置代码，比如：</p>
<blockquote><p>/appname/<br />
/appname/source/<br />
/appname/source/icons/<br />
/appname/build/
</p></blockquote>
<h3>第三步 &#8212; 创建一个Application Descriptor</h3>
<p>AIR需要一个Application Descriptor来描述它的内容和属性，这是一个XML格式的文件。</p>
<p>它的文件名是<strong>application.xml</strong>，放置在<strong>/appname/source/</strong>目录。</p>
<pre><code>&lt;application xmlns="http://ns.adobe.com/air/application/1.0"&gt;
  &lt;id&gt;com.example.appname &lt;/id&gt;
  &lt;version&gt;1.0 &lt;/version&gt;
  &lt;filename&gt;AppName &lt;/filename&gt;
  &lt;initialWindow&gt;
    &lt;content&gt;index.html &lt;/content&gt;
    &lt;visible&gt;true &lt;/visible&gt;
    &lt;width&gt;600&lt;/width&gt;
    &lt;height&gt;600&lt;/height&gt;
  &lt;/initialWindow&gt;
  &lt;icon&gt;
    &lt;image16x16&gt;icons/appname-16.png&lt;/image16x16&gt;
    &lt;image32x32&gt;icons/appname-32.png&lt;/image32x32&gt;
    &lt;image48x48&gt;icons/appname-48.png&lt;/image48x48&gt;
    &lt;image128x128&gt;icons/appname-128.png&lt;/image128x128&gt;
  &lt;/icon&gt;
&lt;/application&gt;</code></pre>
<p>这个xml文件很有些复杂，也很有一些历史，最可恶的是AIR beta1到后来的beta2乃至最后的1.0，从来就没统一过，变了又变，所以我在网上找到的一些教程都失效了，只能针对早期的beta版使用。</p>
<p>关于它的详细内容，可以参考模板，在adobe sdk安装目录下的<strong>templates/descriptor-template.xml</strong>.</p>
<h3>第四步 &#8212; 创建你的应用</h3>
<p>下一步，创建一个index.html.</p>
<pre><code>&lt;html&gt;
&lt;head&gt;
  &lt;title&gt;My Window Title&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;h1&gt;Hello World&lt;/h1&gt;
&lt;/body&gt;
&lt;/html&gt;</code></pre>
<p>如果需要添加css,javascript以及图片，可以在/appname/source/下创建子目录放进去，就像平常写web应用那样。</p>
<h3>第五步 &#8212; 测试你的应用</h3>
<p>如果你已经配置好了path环境变量（见第一步,需要重启电脑），下面很简单，首先打开一个命令行窗口，进入/appname/source/目录，然后运行：</p>
<blockquote><p>adl application.xml</p></blockquote>
<p>一切顺利的话，你的应用应该已经跑起来了，一个弹出的AIR应用窗口好不容易的展示它的第一次。</p>
<h3>第六步 &#8212; 打包你的AIR应用</h3>
<p>在很多磕磕碰碰，反复调试之后，你可能已经完成了应用，现在你准备向朋友或者网上的菜鸟炫耀一下你的处女作。那么我们开始打包，这一步其实比我想象的要简单。</p>
<p>首先需要生成一个签名Certificate，并放置在应用的根目录<strong>/appname/</strong></p>
<blockquote><p>adt -certificate -cn SelfSign -ou Dev -o &#8220;Example&#8221; -c US 2048-RSA cert.pfx 换成你的密码</p></blockquote>
<p>然后就是进入source目录打包：</p>
<blockquote><p>adt -package -storetype pkcs12 -keystore ../cert.pfx ../build/AirTest.air application.xml .</p></blockquote>
<p>不出意外的话，会当场生成一个<strong>AppName.air</strong>文件，你可以安装一下感受亲手做的第一个Air应用。</p>
<p>原文：<a href="http://www.petefreitag.com/item/667.cfm">Adobe AIR Tutorial for HTML / JavaScript Developers</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ooso.net/archives/354/feed</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
		<item>
		<title>JQUERY和YUI混用出现的问题</title>
		<link>http://www.ooso.net/archives/347</link>
		<comments>http://www.ooso.net/archives/347#comments</comments>
		<pubDate>Sat, 22 Mar 2008 03:06:30 +0000</pubDate>
		<dc:creator>Volcano</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[yui]]></category>

		<guid isPermaLink="false">http://www.ooso.net/?p=347</guid>
		<description><![CDATA[有道是一山不容二虎，其实我本不该把JQUERY和YUI夹杂在一块使用，虽然它们各有长短，结合使用的确能够相得益彰，但是暗地里还存着什么矛盾和冲突，这就不是随便刷新一下网页能够看出来的。
列一下最近碰到的问题，备忘。
混用时，YUI的Event在ie6下表现异常
下面代码中，没能在window.onload事件中弹出一个alert弹出窗口。

				<span class="readmore"><a href="http://www.ooso.net/archives/347" title="JQUERY和YUI混用出现的问题">阅读全文（342字）</a></span>]]></description>
			<content:encoded><![CDATA[<p>有道是一山不容二虎，其实我本不该把<a href="/index.php?tag=jquery">JQUERY</a>和<a href="/index.php?tag=yui">YUI</a>夹杂在一块使用，虽然它们各有长短，结合使用的确能够相得益彰，但是暗地里还存着什么矛盾和冲突，这就不是随便刷新一下网页能够看出来的。</p>
<p>列一下最近碰到的问题，备忘。</p>
<h3>混用时，YUI的Event在ie6下表现异常</h3>
<p>下面代码中，没能在window.onload事件中弹出一个alert弹出窗口。</p>
<pre><code>&lt;script&gt;
YAHOO.util.Event.on(window, 'load', function() {alert('hello');});
&lt;/script&gt;</code></pre>
<p>猜想是jQuery重写了window.onload事件引起冲突，解决办法，使用jQuery的event。</p>
<pre><code>&lt;script&gt;
jQuery.event.add(window, "load", function() {alert('hello');});
&lt;/script&gt;</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.ooso.net/archives/347/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>inline-js 0.4 —— wordpress plugin</title>
		<link>http://www.ooso.net/archives/379</link>
		<comments>http://www.ooso.net/archives/379#comments</comments>
		<pubDate>Mon, 10 Mar 2008 16:30:25 +0000</pubDate>
		<dc:creator>Volcano</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://www.ooso.net/index.php/archives/379</guid>
		<description><![CDATA[Inline-js plugin minor update. It now work fine with exec-php plugin.
Download
Inline-js 0.4
详细信息

				<span class="readmore"><a href="http://www.ooso.net/archives/379" title="inline-js 0.4 —— wordpress plugin">阅读全文（107字）</a></span>]]></description>
			<content:encoded><![CDATA[<p>Inline-js plugin minor update. It now work fine with exec-php plugin.</p>
<h3>Download</h3>
<p><a href="http://customcode.googlecode.com/files/inline-js.latest.zip">Inline-js 0.4</a></p>
<h3>详细信息</h3>
<p><a href="http://www.ooso.net/index.php/inline-js">inline-js wordpress plugin</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ooso.net/archives/379/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>YUI 2.5.0发布</title>
		<link>http://www.ooso.net/archives/382</link>
		<comments>http://www.ooso.net/archives/382#comments</comments>
		<pubDate>Thu, 21 Feb 2008 07:02:46 +0000</pubDate>
		<dc:creator>Volcano</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[yahoo]]></category>
		<category><![CDATA[yui]]></category>

		<guid isPermaLink="false">http://www.ooso.net/index.php/archives/382</guid>
		<description><![CDATA[YUI 2.5.0发布。
2月20日，YUI Team发布了YUI的最新版本2.5.0。增加了6个全新的组件：Layout Manager, Uploader(结合Flash和Javascript的多文件上传引擎), Resize Utility, ImageCropper, Cookie Utility和ProfilerViewer Control。同时这一版还提升了DataTable Control的功能和Slider Control增加了双滑块功能。
这个版本中的Uploader以及ImageCropper应该是相当有用的控件

				<span class="readmore"><a href="http://www.ooso.net/archives/382" title="YUI 2.5.0发布">阅读全文（432字）</a></span>]]></description>
			<content:encoded><![CDATA[<p><a href="/?tag=yui">YUI</a> 2.5.0发布。</p>
<blockquote><p>2月20日，YUI Team发布了YUI的最新版本2.5.0。增加了6个全新的组件：Layout Manager, Uploader(结合Flash和Javascript的多文件上传引擎), Resize Utility, ImageCropper, Cookie Utility和ProfilerViewer Control。同时这一版还提升了DataTable Control的功能和Slider Control增加了双滑块功能。</p></blockquote>
<p>这个版本中的Uploader以及ImageCropper应该是相当有用的控件</p>
<ul>
<li>Uploader采用<a href="/?tag=javascript">javascript</a>和flash，不仅支持多文件上传，更可以直观的查看上传进度，以前虽然有类似的代码，但是组件化的代码显然通用性和可用性更好。</li>
<li>ImageCroper可用于制作图片切片，基于YUI的Dragdrop和Resize</li>
</ul>
<h3>与YUI 2.5.0相关的链接</h3>
<ul>
<li><a href="http://developer.yahoo.com/yui">http://developer.yahoo.com/yui</a></li>
<li><a href="http://www.yuiblog.cn/2008/02/21/47/">yuiblog.cn</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ooso.net/archives/382/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>用来看新浪新闻的greasemonkey脚本</title>
		<link>http://www.ooso.net/archives/302</link>
		<comments>http://www.ooso.net/archives/302#comments</comments>
		<pubDate>Mon, 18 Feb 2008 13:23:36 +0000</pubDate>
		<dc:creator>Volcano</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[greasemonkey]]></category>
		<category><![CDATA[插件]]></category>
		<category><![CDATA[新浪]]></category>

		<guid isPermaLink="false">http://www.ooso.net/index.php/archives/302</guid>
		<description><![CDATA[刚从灾区长沙回到北京，那段时间虽然是隔三岔五的停电停水，俺还没忘趁着来电爬到新浪上面看看近期新闻，也好对最近的形势有些了解。闲着无聊写了个greasemonkey脚本，把新浪的新闻页右边那块没营养的内容统统隐藏掉。
放出来给需要的同学下载。
安装这个脚本的步骤


				<span class="readmore"><a href="http://www.ooso.net/archives/302" title="用来看新浪新闻的greasemonkey脚本">阅读全文（248字）</a></span>]]></description>
			<content:encoded><![CDATA[<p>刚从灾区长沙回到北京，那段时间虽然是隔三岔五的停电停水，俺还没忘趁着来电爬到新浪上面看看近期新闻，也好对最近的形势有些了解。闲着无聊写了个<a href="/index.php?tag=greasemonkey">greasemonkey</a>脚本，把新浪的新闻页右边那块没营养的内容统统隐藏掉。</p>
<p>放出来给需要的同学下载。</p>
<h3>安装这个脚本的步骤</h3>
<ul>
<li>首先你必须是使用<a href="/index.php?tag=firefox">firefox</a>浏览器</li>
<li><a href="https://addons.mozilla.org/zh-CN/firefox/addon/748">安装greasemonkey插件</a></li>
<li><a href="http://customcode.googlecode.com/files/NewsSina.user.js">下载俺的NewsSina greasemonkey脚本</a>，如果你已经安装好greasemonkey，点击前面的链接应该会弹出一个安装窗口</li>
<li>去新浪的新闻页上看看，右边的内容还有吗？</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ooso.net/archives/302/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>YUI中国本地版</title>
		<link>http://www.ooso.net/archives/370</link>
		<comments>http://www.ooso.net/archives/370#comments</comments>
		<pubDate>Sun, 20 Jan 2008 08:31:02 +0000</pubDate>
		<dc:creator>Volcano</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[yahoo]]></category>
		<category><![CDATA[yui]]></category>

		<guid isPermaLink="false">http://www.ooso.net/index.php/archives/370</guid>
		<description><![CDATA[去年yahoo提供了公开的yui主机，这样即便自己没有server也可以直接使用yui的便利。但是由于主机在国外，访问速度不是很理想。现在终于有了本地版的yui hosting，访问速度有大的飞跃。
2008年1月14日雅虎中国正式发布本地版的YUI 2.4.1，今后将与YUI保持同步更新。这对国内的YUI使用者来说绝对是一个好消息，本地版的YUI采用了本地CDN部署，对于国内用户来说访问速度更快(图一)，比较访问国际YUI主机的速度(图二)快了至少5倍以上。
使用firebug查看载入速度


				<span class="readmore"><a href="http://www.ooso.net/archives/370" title="YUI中国本地版">阅读全文（259字）</a></span>]]></description>
			<content:encoded><![CDATA[<p>去年<a href="/index.php?tag=yahoo">yahoo</a>提供了公开的yui主机，这样即便自己没有server也可以直接使用yui的便利。但是由于主机在国外，访问速度不是很理想。现在终于有了本地版的yui hosting，访问速度有大的飞跃。</p>
<blockquote><p>2008年1月14日雅虎中国正式发布本地版的YUI 2.4.1，今后将与YUI保持同步更新。这对国内的YUI使用者来说绝对是一个好消息，本地版的YUI采用了本地CDN部署，对于国内用户来说访问速度更快(图一)，比较访问国际YUI主机的速度(图二)快了至少5倍以上。</p></blockquote>
<h2>使用<a href="/index.php?tag=firebug">firebug</a>查看载入速度</h2>
<p><img width="98%" src="http://www.yuiblog.cn/wp-content/uploads/2008/01/yui2_1_4_all_js_files.PNG" alt="cn yui host" /></p>
<p>原文：<a href="http://www.yuiblog.cn/2008/01/14/yui%e6%9c%ac%e5%9c%b0%e7%89%88%e5%8f%91%e5%b8%83/">YUI Blog China</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ooso.net/archives/370/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>YUI 2.3.0的Rich Text Editor</title>
		<link>http://www.ooso.net/archives/367</link>
		<comments>http://www.ooso.net/archives/367#comments</comments>
		<pubDate>Sun, 05 Aug 2007 00:05:56 +0000</pubDate>
		<dc:creator>Volcano</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[yui]]></category>

		<guid isPermaLink="false">http://www.ooso.net/index.php/archives/367</guid>
		<description><![CDATA[YUI 2.3.0正式发布了。这个版本新增了一些新的组件，其中最大的亮点是它的Rich Text Editor (beta)，样式见下图：


YUI Rich Text Editor的特点

				<span class="readmore"><a href="http://www.ooso.net/archives/367" title="YUI 2.3.0的Rich Text Editor">阅读全文（299字）</a></span>]]></description>
			<content:encoded><![CDATA[<p><a href="http://developer.yahoo.com/yui/">YUI</a> 2.3.0正式发布了。这个版本新增了一些新的组件，其中最大的亮点是它的Rich Text Editor (beta)，样式见下图：<br />
<img src='http://www.ooso.net/wp-content/uploads/2007/08/rte.gif' alt='YUI Rich Text Editor' /></p>
<ul>
<h1>YUI Rich Text Editor的特点</h1>
<li><a href="http://developer.yahoo.com/yui/articles/gbs/">标识为A级的浏览器</a>支持良好，跨浏览器也有很好的表现</li>
<li>扩充方便，可以添加你自己的button</li>
<li>从图片上看，这个编辑器还支持直接从flickr抓取图片——可惜flickr在国内已经被和谐&#8230;</li>
</ul>
<ul>
<h1>YUI 2.3.0另外新增的5个组件</h1>
<li>Base CSS</li>
<li>YUILoader Utility (beta)</li>
<li>ImageLoader Utility (experimental)</li>
<li>Color Picker Control (beta)</li>
<li>YUI Test Utility (beta)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ooso.net/archives/367/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>javascript在ie和firefox下的一些差异</title>
		<link>http://www.ooso.net/archives/362</link>
		<comments>http://www.ooso.net/archives/362#comments</comments>
		<pubDate>Tue, 31 Jul 2007 00:40:30 +0000</pubDate>
		<dc:creator>Volcano</dc:creator>
				<category><![CDATA[firefox]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[ie]]></category>

		<guid isPermaLink="false">http://www.ooso.net/index.php/archives/362</guid>
		<description><![CDATA[javascript在ie和firefox下,运行结果有一些差异。下面把最近碰到的情况做个记录，以后也会不断补充以备忘。

object操作
firefox:可支持

				<span class="readmore"><a href="http://www.ooso.net/archives/362" title="javascript在ie和firefox下的一些差异">阅读全文（395字）</a></span>]]></description>
			<content:encoded><![CDATA[<p>javascript在ie和<a href="/index.php?tag=firefox">firefox</a>下,运行结果有一些差异。下面把最近碰到的情况做个记录，以后也会不断补充以备忘。</p>
<ul>
<h2>object操作</h2>
<li>firefox:可支持
<pre><code>var obj = { 'key' : 'aaa', }</code></pre>
</li>
<li>ie:不支持
<pre><code>var obj = { 'key' : 'aaa', }</code></pre>
<p> 会报javascript错误,最后的&#8221;<strong>,</strong>&#8220;必须去掉</li>
<h2><a href="/index.php?tag=javascript">javascript</a>对select元素的option操作</h2>
<li>firefox:可直接设置
<pre><code>option.text = 'foooooooo';</code></pre>
</li>
<li>ie:只能设置
<pre><code>option.innerHTML = 'fooooooo';</code></pre>
</li>
<h2>删除一个select的option</h2>
<li>firefox:可以
<pre><code>select.options.remove(selectedIndex);</code></pre>
</li>
<li>ie7:可以用
<pre><code>select.options[i] = null;</code></pre>
</li>
<li>ie6:需要写
<pre><code>select.options[i].outerHTML = null;</code></pre>
</li>
</ul>
<p>真是万恶的浏览器。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ooso.net/archives/362/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Ajax Vs Flash</title>
		<link>http://www.ooso.net/archives/353</link>
		<comments>http://www.ooso.net/archives/353#comments</comments>
		<pubDate>Fri, 20 Jul 2007 00:11:01 +0000</pubDate>
		<dc:creator>Volcano</dc:creator>
				<category><![CDATA[ajax]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.ooso.net/index.php/archives/353</guid>
		<description><![CDATA[在RIA应用中,到底应该使用Ajax,还是使用Flash呢?它们各有长处,让人难以取舍.下面就它们的特点做一个小小的总结.

Javascript
+ 不需要额外的插件.

				<span class="readmore"><a href="http://www.ooso.net/archives/353" title="Ajax Vs Flash">阅读全文（282字）</a></span>]]></description>
			<content:encoded><![CDATA[<p>在RIA应用中,到底应该使用<a href="index.php?tag=ajax">Ajax</a>,还是使用Flash呢?它们各有长处,让人难以取舍.下面就它们的特点做一个小小的总结.</p>
<ul>
<h1>Javascript</h1>
<li>+ 不需要额外的插件.</li>
<li>- 不同的浏览器下可能会产生不同的行为</li>
<li>- 不能访问音视频设备</li>
<li>- 可能会有少数用户会关闭javascript</li>
<li>- 如果你写的代码很烂,大家都能看到</li>
</ul>
<ul>
<h1>Flash</h1>
<li>- 需要额外安装插件</li>
<li>+ 在各种浏览器上,如果flash player的版本一致,那么flash的行为也会基本一致</li>
<li>- 用户可能不会安装有相同版本的flash player</li>
<li>+ 可以直接访问音视频设备</li>
<li>- 可能会有很多用户屏蔽flash</li>
<li>+ 如果你写的代码很烂,不用担心,大家都看不到</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.ooso.net/archives/353/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>jquery和greasemonkey齐上阵</title>
		<link>http://www.ooso.net/archives/346</link>
		<comments>http://www.ooso.net/archives/346#comments</comments>
		<pubDate>Tue, 03 Jul 2007 22:27:01 +0000</pubDate>
		<dc:creator>Volcano</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[greasemonkey]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.ooso.net/index.php/archives/346</guid>
		<description><![CDATA[jquery写起来真的很简单，连我这刚接触jquery不久的新人都能很快用它码出大段的javascript。唯一的坏处是代码里充斥了大量的$。既然写javascript如此简单，那么用jquery+greasemonkey插件同时干活怎么样呢？
这里是一段提醒jquery已经载入的脚本，为了避免和页面上原有的代码冲突，得运行$.noConflict().
// All your GM code must be inside this function
function letsJQuery() {

				<span class="readmore"><a href="http://www.ooso.net/archives/346" title="jquery和greasemonkey齐上阵">阅读全文（901字）</a></span>]]></description>
			<content:encoded><![CDATA[<p><a href="http://docs.jquery.com">jquery</a>写起来真的很简单，连我这刚接触<a href="index.php?tag=jquery">jquery</a>不久的新人都能很快用它码出大段的javascript。唯一的坏处是代码里充斥了大量的<strong>$</strong>。既然写javascript如此简单，那么用jquery+greasemonkey插件同时干活怎么样呢？</p>
<p>这里是一段提醒jquery已经载入的脚本，为了避免和页面上原有的代码冲突，得运行$.noConflict().</p>
<pre><code>// All your GM code must be inside this function
function letsJQuery() {
//make sure there is no conflict between jQuery and other libraries
$.noConflict()
//notify that jQuery is running...
  $('&lt;div&gt;jQuery is running!&lt;/div&gt;')
	.css({padding: '10px', background: '#ffc', position: 'absolute',top: '0', width: '100%'})
	.prependTo('body')
	.fadeIn('fast')
	.animate({opacity: 1.0}, 300)
	.fadeOut('fast', function() {
	  $(this).remove();
	});
//start custom jQuery scripting.
}</code></pre>
<p>引入jquery.js只用简单的一行，感谢greasemonkey!</p>
<pre><code>GM_JQ.src = 'http://jquery.com/src/jquery-latest.js';</code></pre>
<h3>载入jquery的脚本</h3>
<pre><code>var GM_JQ = document.createElement('script');
GM_JQ.src = 'http://code.jquery.com/jquery-latest.js';
GM_JQ.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(GM_JQ);</code></pre>
<p>原文:<a href="http://www.learningjquery.com/2007/02/have-your-jquery-fun-on-any-site-with-greasemonkey">Have Your jQuery Fun on Any Site with Greasemonkey</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ooso.net/archives/346/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>在页面中动态载入外部javascript</title>
		<link>http://www.ooso.net/archives/312</link>
		<comments>http://www.ooso.net/archives/312#comments</comments>
		<pubDate>Tue, 12 Jun 2007 15:03:40 +0000</pubDate>
		<dc:creator>Volcano</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://www.ooso.net/index.php/archives/312</guid>
		<description><![CDATA[有时候需要在网页中某个div载入之后，动态引入一段javascript，IE下的解决方案：
newjs.onreadystatechange = function () {
        if (newjs.readyState == 'loaded') {
            // ready!

				<span class="readmore"><a href="http://www.ooso.net/archives/312" title="在页面中动态载入外部javascript">阅读全文（1118字）</a></span>]]></description>
			<content:encoded><![CDATA[<p>有时候需要在网页中某个div载入之后，动态引入一段<a href="index.php?tag=javascript">javascript</a>，IE下的解决方案：</p>
<pre><code>newjs.onreadystatechange = function () {
        if (newjs.readyState == 'loaded') {
            // ready!
        }
    }

    newjs.onload = function () {
        // ready!
    }</code></pre>
<p>主要利用了onload以及onreadystatechange事件。把这个加以利用，也能动态载入外部css。下面是同时适合Ie/<a href="http://firefox.viewc.com">firefox</a>的写法。</p>
<p><span id="more-312"></span></p>
<pre><code>var css;
function include_css(css_file) {
    var html_doc = document.getElementsByTagName('head')[0];
    css = document.createElement('link');
    css.setAttribute('rel', 'stylesheet');
    css.setAttribute('type', 'text/css');
    css.setAttribute('href', css_file);
    html_doc.appendChild(css);

    // alert state change
    css.onreadystatechange = function () {
        if (css.readyState == 'complete') {
            alert('CSS onreadystatechange fired');
        }
    }
    css.onload = function () {
        alert('CSS onload fired');
    }
    return false;
}

var js;
function include_js(file) {
    var html_doc = document.getElementsByTagName('head')[0];
    js = document.createElement('script');
    js.setAttribute('type', 'text/javascript');
    js.setAttribute('src', file);
    html_doc.appendChild(js);

    js.onreadystatechange = function () {
        if (js.readyState == 'complete') {
            alert('JS onreadystate fired');
        }
    }

    js.onload = function () {
        alert('JS onload fired');
    }
    return false;
}</code></pre>
<p>这里是<a href="http://www.phpied.com/files/jinc/test_ready_onload.html">Demo</a>，有动态载入css以及js的例子。</p>
<h1>原文地址</h1>
<p><a href="http://www.phpied.com/javascript-include-ready-onload/">http://www.phpied.com/javascript-include-ready-onload/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ooso.net/archives/312/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>YUI 2.3.0 即将发布</title>
		<link>http://www.ooso.net/archives/318</link>
		<comments>http://www.ooso.net/archives/318#comments</comments>
		<pubDate>Mon, 11 Jun 2007 00:07:14 +0000</pubDate>
		<dc:creator>Volcano</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[yui]]></category>

		<guid isPermaLink="false">http://www.ooso.net/index.php/archives/318</guid>
		<description><![CDATA[YUI 2.3.0 即将发布,最迟七月份可以看到。新的YUI组件和特点:

1.  Rich Text Editor
The YUI RTE beta comprises an editor window and toolbar, the latter of which has a simple, extensible plugin architecture.  It will feature full A-grade support.  (Dav Glass)

				<span class="readmore"><a href="http://www.ooso.net/archives/318" title="YUI 2.3.0 即将发布">阅读全文（2057字）</a></span>]]></description>
			<content:encoded><![CDATA[<p>YUI 2.3.0 即将发布,最迟七月份可以看到。新的<a href="http://developer.yahoo.com/yui/">YUI</a>组件和特点:</p>
<blockquote><p>
1.  Rich Text Editor<br />
The <a href="index.php?tag=yui">YUI</a> RTE beta comprises an editor window and toolbar, the latter of which has a simple, extensible plugin architecture.  It will feature full A-grade support.  (Dav Glass)</p>
<p>2.  ImageLoader Utility<br />
Images often constitute the most data-heavy parts of a page, but many times users load images that they never see — because the image is below the fold, because it is in an obscured tab in a TabView, etc.  The YUI ImageLoader is a new, experimental component that allows you to defer the loading of images based on criteria you specify and to then load those images when a specific &#8220;trigger&#8221; is hit.  In some cases, use of ImageLoader can significantly reduce bandwidth and increase performance. (Matt Mlinac)</p>
<p>3.  Base CSS<br />
YUI&#8217;s Reset CSS normalizes browser CSS styles by stripping out browser-defined styles; this allows you to begin your CSS styles with all style decisions being intentional rather than inherited.  YUI&#8217;s Base CSS will help you begin the process of making your styles intentional by providing a common set of treatments that most implementations share. (Nate Koechley)</p>
<p>4.  Color Picker<br />
Previous versions of YUI shipped a Color Picker example as part of the Slider Control.  In 2.3, we&#8217;re formalizing Color Picker and completing its API to make it easier to implement this powerful control in your apps. (Adam Moore)</p></blockquote>
<p>Notable Changes to Existing Components:</p>
<blockquote><p>1.  Button<br />
Button remains in beta as we modify the architecture a bit.  As of 2.3, the SplitButton implementation will replace MenuButton and be generic — allowing you to implement Buttons that have Menus or any other sub-control you wish. (Todd Kloots)</p>
<p>2.  Connection Manager<br />
YUI&#8217;s XHR utility will be enhanced with a Custom Event API that adds granularity to the interesting moments you can pipe into on your XHR transactions. (Thomas Sha)</p>
<p>3.  DataTable<br />
DataTable will undergo a major rearchitecture as it evolves to its second beta.  Details on the DataTable evolution for 2.3 will be presented during an open conference call for all interested implementers during the second half of June.  An invitation to the call will be sent out to this list a week prior to that call. (Jenny Han)</p>
<p>4.  Browser History Manager<br />
Browser History Manager comes out of experimental status with 2.3 and is promoted to beta, accompanied by several bug fixes and some key enhancements requested by YUI implementers during the experimental phase. (Julien Lecomte)</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.ooso.net/archives/318/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

