<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.planabc.net/styles/feedsky2.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.planabc.net" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/planabc" type="application/rss+xml"></fs:self_link><lastBuildDate>Thu, 04 Sep 2008 05:14:50 GMT</lastBuildDate><title>PlanABC - 怿飞’s Blog</title><description>落草为根—专注前端技术&amp;&amp;关注用户体验</description><image><url>http://www.feedsky.com/images/feedsky_logologo.gif</url><title>PlanABC - 怿飞’s Blog</title><link>http://www.planabc.net</link></image><link>http://www.planabc.net</link><language>en</language><pubDate>Thu, 04 Sep 2008 06:18:55 GMT</pubDate><item><title>Google Chrome 浏览器支持的 CSS 选择器</title><link>http://item.feedsky.com/~feedsky/planabc/~7049616/110879340/5157647/1/item.html</link><wfw:commentRss>http://www.planabc.net/2008/09/04/google-chrome_browser_css_selector_support/feed/</wfw:commentRss><description>Google Chrome 浏览器是基于 Safari 正在使用的 Webkit 引擎，使用的版本是 AppleWebKit/525.13 。不过 Safari3.1 使用的是最新版本：AppleWebKit/525.18。
那 Google Chrome 浏览器对 CSS 选择器的支持又如何呢？感谢 Engage 公司的女前端开发工程师 Estelle 测试整理的《Google Chrome Browser CSS Selector Support》：http://www.evotech.net/blog/2008/09/google-chrome-browser-css-selector-support/
您可能还对这些日志感兴趣position:relative 的使用限制 (13)line-height 属性的继承问题 (14)如何给 legend 标签设定宽度 (8)如何跨浏览器使用连续字符的换行 (8)两个不太常用的 CSS Hack (14)图片垂直居中的使用技巧 (31...</description><category>HTML/CSS/XML/XSL</category><category>CSS</category><category>Chrome</category><category>google</category><pubDate>Thu, 04 Sep 2008 13:14:50 +0800</pubDate><author>怿飞</author><comments>http://www.planabc.net/2008/09/04/google-chrome_browser_css_selector_support/#comments</comments><guid isPermaLink="false">http://www.planabc.net/?p=91</guid><dc:creator>怿飞</dc:creator><fs:srclink>http://www.planabc.net/2008/09/04/google-chrome_browser_css_selector_support/</fs:srclink><fs:srcfeed>http://www.planabc.net/feed/</fs:srcfeed><fs:itemid>feedsky/planabc/~7049616/110879340/5157647</fs:itemid></item><item><title>使用 window.name 解决跨域问题</title><link>http://item.feedsky.com/~feedsky/planabc/~7049616/110879341/5157647/1/item.html</link><wfw:commentRss>http://www.planabc.net/2008/09/01/window_name_transport/feed/</wfw:commentRss><description>window.name 传输技术，原本是 Thomas Frank 用于解决 cookie 的一些劣势（每个域名 4 x 20 Kb 的限制、数据只能是字符串、设置和获取 cookie 语法的复杂等等）而发明的（详细见原文：《Session variables without cookies》），后来 Kris Zyp 在此方法的基础上强化了 window.name 传输  ，并引入到了 Dojo  （dojox.io.windowName），用来解决跨域数据传输问题。
window.name 的美妙之处：name 值在不同的页面（甚至不同域名）加载后依旧存在，并且可以支持非常长的 name 值（2MB）。
window.name 传输技术的基本原理和步骤为：

name 在浏览器环境中是一个全局/window对象的属性，且当在 frame 中加载新页面时，name 的属性值依旧保持不变。通过在 iframe 中加载一个资源，该目标页面将设置 frame 的 name 属性。此 name 属性值可被获取到，以访问 Web 服务发送的信息。但 name 属性仅对相同域名的 fram...</description><category>JS/Ajax/AS/Flex</category><category>window</category><category>frame</category><pubDate>Mon, 01 Sep 2008 00:59:27 +0800</pubDate><author>怿飞</author><comments>http://www.planabc.net/2008/09/01/window_name_transport/#comments</comments><guid isPermaLink="false">http://www.planabc.net/?p=90</guid><dc:creator>怿飞</dc:creator><fs:srclink>http://www.planabc.net/2008/09/01/window_name_transport/</fs:srclink><fs:srcfeed>http://www.planabc.net/feed/</fs:srcfeed><fs:itemid>feedsky/planabc/~7049616/110879341/5157647</fs:itemid></item><item><title>跨浏览器的本地存储（二）：DOM:Storage</title><link>http://item.feedsky.com/~feedsky/planabc/~7049616/110879342/5157647/1/item.html</link><wfw:commentRss>http://www.planabc.net/2008/08/14/dom_storage/feed/</wfw:commentRss><description>DOM Storage，是基于 Web Applications 1.0 specification 中介绍的 Structured client-side storage。相比 Cookies 来说，DOM Stroage 空间更大、更安全、更易于使用的。目前它只在基于Moziila的浏览器中可以使用，从 Firefox2 开始。
一、DOM:Storage: sessionStorage
浏览器支持：Firefox 2.0+
基本语法：

// 设置 key 值
sessionStorage.key = value;
// 获取 key 值
value = sessionStorage.key;

备注：

作为每个 window 对象的属性存在的全局对象，即：可以通过 sessionStorage 或者 window.sessionStorage 来访问它们。
sessionStorage 含有一个在页面会话有效期内（只要页面没有关闭，一个页面会话就始终保持着，且当页面被重新载入或恢复时“复活”，而打开一个新的标签页或新窗口都会初始化新的会话）可用的存储区域。
sessionStorage 持有那些应该保存的临时数据，一旦浏览器突然被刷新时，可恢复。
sessionStorage 暂时...</description><category>DOM</category><category>HTML/CSS/XML/XSL</category><category>cookie</category><category>store</category><pubDate>Thu, 14 Aug 2008 14:34:03 +0800</pubDate><author>怿飞</author><comments>http://www.planabc.net/2008/08/14/dom_storage/#comments</comments><guid isPermaLink="false">http://www.planabc.net/?p=89</guid><dc:creator>怿飞</dc:creator><fs:srclink>http://www.planabc.net/2008/08/14/dom_storage/</fs:srclink><fs:srcfeed>http://www.planabc.net/feed/</fs:srcfeed><fs:itemid>feedsky/planabc/~7049616/110879342/5157647</fs:itemid></item><item><title>position:relative 的使用限制</title><link>http://item.feedsky.com/~feedsky/planabc/~7049616/110879343/5157647/1/item.html</link><wfw:commentRss>http://www.planabc.net/2008/08/13/limited_use_of_position_relative/feed/</wfw:commentRss><description>在 W3C 规范中 position 是可以使用在任何元素上的，但 position:relative 却有部分例外：
The effect of &amp;#8216;position:relative&amp;#8217; on table-row-group, table-header-group, table-footer-group, table-row, table-column-group, table-column, table-cell, and table-caption elements is undefined.
经测试，在浏览器（IE 除外）中给 table 定义 position:relative 属性是无效的。如果的确需要在表格中使用该属性，建议在单元格中嵌套一个 div 元素，再在其上设置 position:relative 属性来模拟。
您可能还对这些日志感兴趣Google Chrome 浏览器支持的 CSS 选择器 (6)line-height 属性的继承问题 (14)如何给 legend 标签设定宽度 (8)如何跨浏览器使用连续字符的换行 (8)两个不太常用的 CSS Hack (14)图片垂直居中的使用技巧 (31...</description><category>HTML/CSS/XML/XSL</category><category>CSS</category><category>position</category><pubDate>Wed, 13 Aug 2008 09:35:02 +0800</pubDate><author>怿飞</author><comments>http://www.planabc.net/2008/08/13/limited_use_of_position_relative/#comments</comments><guid isPermaLink="false">http://www.planabc.net/?p=88</guid><dc:creator>怿飞</dc:creator><fs:srclink>http://www.planabc.net/2008/08/13/limited_use_of_position_relative/</fs:srclink><fs:srcfeed>http://www.planabc.net/feed/</fs:srcfeed><fs:itemid>feedsky/planabc/~7049616/110879343/5157647</fs:itemid></item><item><title>跨浏览器的本地存储（一）：userData behavior</title><link>http://item.feedsky.com/~feedsky/planabc/~7049616/110879344/5157647/1/item.html</link><wfw:commentRss>http://www.planabc.net/2008/08/05/userdata_behavior/feed/</wfw:commentRss><description>前言
现在最流行的本地存储莫过于 cookie 的应用，但浏览器对 cookie 有很多限制，最大的限制在于其对cookie 总大小，仅为 4K 左右（包括名（name）、值（value）和等号）。
对于复杂一点的应用和需求，仅有的 4K 大小还是有点相形见绌，其实很多浏览器（IE、Firefox、Safari）本身也提供了自己的本地存储的功能，或许在特定的环境下能满足我们。
一、userData behavior
浏览器支持：IE5.0 或以上
基本语法：

XML：&amp;#60;Prefix: CustomTag id=sID style=&amp;#8221;behavior:url(&amp;#8217;#default#userData&amp;#8217;)&amp;#8221; /&amp;#62;
HTML： &amp;#60;ELEMENT style=&amp;#8221;behavior:url(&amp;#8217;#default#userData&amp;#8217;)&amp;#8221; id=sID&amp;#62;object.style.behavior = &amp;#8220;url(&amp;#8217;#default#userData&amp;#8217;)&amp;#8221;
Script： object.addBehavior (&amp;#8221;#default#userData&amp;#8221;)

属性：

expires —— 设置或者获取 userData behavior 保存数据的失效日期。
XMLDocument —— 获取 XML ...</description><category>cookie</category><category>JS/Ajax/AS/Flex</category><category>store</category><pubDate>Tue, 05 Aug 2008 17:47:26 +0800</pubDate><author>怿飞</author><comments>http://www.planabc.net/2008/08/05/userdata_behavior/#comments</comments><guid isPermaLink="false">http://www.planabc.net/?p=87</guid><dc:creator>怿飞</dc:creator><fs:srclink>http://www.planabc.net/2008/08/05/userdata_behavior/</fs:srclink><fs:srcfeed>http://www.planabc.net/feed/</fs:srcfeed><fs:itemid>feedsky/planabc/~7049616/110879344/5157647</fs:itemid></item><item><title>XHTML1.1 Tags List</title><link>http://item.feedsky.com/~feedsky/planabc/~7049616/110879345/5157647/1/item.html</link><wfw:commentRss>http://www.planabc.net/2008/07/31/xhtml11_tags_list/feed/</wfw:commentRss><description>http://ore.to/htmllint/tagslist.cgi?HTMLVersion=XHTML11
您可能还对这些日志感兴趣HTML5中 b 和 i 标签将语义化 (6)XSL中如何将CDATA输出为HTML (0)Default style sheet for HTML 4 (0...</description><category>HTML/CSS/XML/XSL</category><category>XHTML</category><category>HTML</category><pubDate>Thu, 31 Jul 2008 11:09:24 +0800</pubDate><author>怿飞</author><comments>http://www.planabc.net/2008/07/31/xhtml11_tags_list/#comments</comments><guid isPermaLink="false">http://www.planabc.net/?p=86</guid><dc:creator>怿飞</dc:creator><fs:srclink>http://www.planabc.net/2008/07/31/xhtml11_tags_list/</fs:srclink><fs:srcfeed>http://www.planabc.net/feed/</fs:srcfeed><fs:itemid>feedsky/planabc/~7049616/110879345/5157647</fs:itemid></item><item><title>Firefox 下 innerHTML 的一个 BUG</title><link>http://item.feedsky.com/~feedsky/planabc/~7049616/110879346/5157647/1/item.html</link><wfw:commentRss>http://www.planabc.net/2008/07/30/innerhtml_bug_in_firefox/feed/</wfw:commentRss><description>今天同事 明城 在项目中碰到一个 BUG，代码具体如下：
&amp;#60;!DOCTYPE html PUBLIC &amp;#34;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;#34; &amp;#34;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;#34;&amp;#62;
&amp;#60;html xmlns=&amp;#34;http://www.w3.org/1999/xhtml&amp;#34;&amp;#62;
&amp;#60;head&amp;#62;
&amp;#60;meta http-equiv=&amp;#34;Content-Type&amp;#34; content=&amp;#34;text/html; charset=gb2312&amp;#34; /&amp;#62;
&amp;#60;title&amp;#62;Firefox下innerHTML的一个BUG&amp;#60;/title&amp;#62;
&amp;#60;style type=&amp;#34;text/css&amp;#34;&amp;#62;
    a { display: block; border: 1px solid red;}
    div { display: inline; border: 1px solid red;}
&amp;#60;/style&amp;#62;
&amp;#60;/head&amp;#62;
&amp;#60;body&amp;#62;
&amp;#60;a href=&amp;#34;javascript:change();&amp;#34;&amp;#62;change&amp;#60;div id=&amp;#34;count&amp;#34;&amp;#62;20&amp;#60;/div&amp;#62;aaa&amp;#60;/a&amp;#62;
&amp;#60;script type=&amp;#34;text/javascript&amp;#34;&amp;#62;
function change() {
    var count = document.getElementById('count');
    var [......</description><category>innerHTML</category><category>HTML/CSS/XML/XSL</category><category>Firfox</category><category>bug</category><pubDate>Wed, 30 Jul 2008 15:43:09 +0800</pubDate><author>怿飞</author><comments>http://www.planabc.net/2008/07/30/innerhtml_bug_in_firefox/#comments</comments><guid isPermaLink="false">http://www.planabc.net/?p=85</guid><dc:creator>怿飞</dc:creator><fs:srclink>http://www.planabc.net/2008/07/30/innerhtml_bug_in_firefox/</fs:srclink><fs:srcfeed>http://www.planabc.net/feed/</fs:srcfeed><fs:itemid>feedsky/planabc/~7049616/110879346/5157647</fs:itemid></item><item><title>Firebug Lite</title><link>http://item.feedsky.com/~feedsky/planabc/~7049616/110879347/5157647/1/item.html</link><wfw:commentRss>http://www.planabc.net/2008/07/29/frebug_lite/feed/</wfw:commentRss><description>Firebug Lite 源自 Firebug ，可使用在IE、Opera、Safari 浏览器上。最新版本为 Firebug Lite 1.2 ，不仅包含了旧版本的console.log 命令，还可查看 DOM 元素、跟踪 XHRs，操纵 HTML、 CSS 和 JavaScript 。
Firebug Lite 可以在页面中插入调试：
&amp;#60;script type='text/javascript' src='http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js'&amp;#62;&amp;#60;/script&amp;#62;
还可以创建 Firebug Lite 书签调试（推荐）：
javascript:var firebug=document.createElement('script');firebug.setAttribute('src','http://getfirebug.com/releases/lite/1.2/firebug-lite-compressed.js');document.body.appendChild(firebug);(function(){if(window.pi&amp;#038;&amp;#038;window.firebug){firebug.init();}else{setTimeout(arguments.callee);}})();void(firebug);
当然你也可以将文件下载到本地调试。
更多介绍请看：http://getfirebug.com/lite.html
您可能还对这些日志感兴趣如何让 Firefox 2 和 Firefox 3 版本并存 (13)IETester (17)前端开...</description><category>HTML/CSS/XML/XSL</category><category>工具</category><category>Firebug</category><pubDate>Tue, 29 Jul 2008 15:18:18 +0800</pubDate><author>怿飞</author><comments>http://www.planabc.net/2008/07/29/frebug_lite/#comments</comments><guid isPermaLink="false">http://www.planabc.net/?p=84</guid><dc:creator>怿飞</dc:creator><fs:srclink>http://www.planabc.net/2008/07/29/frebug_lite/</fs:srclink><fs:srcfeed>http://www.planabc.net/feed/</fs:srcfeed><fs:itemid>feedsky/planabc/~7049616/110879347/5157647</fs:itemid></item><item><title>line-height 属性的继承问题</title><link>http://item.feedsky.com/~feedsky/planabc/~7049616/110879348/5157647/1/item.html</link><wfw:commentRss>http://www.planabc.net/2008/07/25/unitless-line-heights/feed/</wfw:commentRss><description>淘宝商城的 detail 页面“产品详情”部分是商家自定义区块，曾出现这样一个问题：
&amp;#60;style type=&quot;text/css&quot;&amp;#62;
p {
    line-height:17px;
}
&amp;#60;/style&amp;#62;

&amp;#60;div class=&amp;#34;mdse-detail&amp;#34;&amp;#62;
    &amp;#60;p&amp;#62;
        &amp;#60;strong style=&amp;#34;font-size:30px&amp;#34;&amp;#62;
            品牌：XZX&amp;#60;br /&amp;#62;
            市场价：145元&amp;#60;br /&amp;#62;
       [......</description><category>HTML/CSS/XML/XSL</category><category>CSS</category><category>line-height</category><pubDate>Fri, 25 Jul 2008 13:19:53 +0800</pubDate><author>怿飞</author><comments>http://www.planabc.net/2008/07/25/unitless-line-heights/#comments</comments><guid isPermaLink="false">http://www.planabc.net/?p=83</guid><dc:creator>怿飞</dc:creator><fs:srclink>http://www.planabc.net/2008/07/25/unitless-line-heights/</fs:srclink><fs:srcfeed>http://www.planabc.net/feed/</fs:srcfeed><fs:itemid>feedsky/planabc/~7049616/110879348/5157647</fs:itemid></item><item><title>如何给 legend 标签设定宽度</title><link>http://item.feedsky.com/~feedsky/planabc/~7049616/110879349/5157647/1/item.html</link><wfw:commentRss>http://www.planabc.net/2008/07/24/legend_width/feed/</wfw:commentRss><description>我们在做表单的时候经常会使用到这样的结构：
&amp;#60;fieldset&amp;#62;
    &amp;#60;legend&amp;#62;哪些浏览器legend标签设定的宽度有效&amp;#60;/legend&amp;#62;
    &amp;#60;input type=&quot;checkbox&quot; value=&quot;ie6&quot; name=&quot;width&quot; id=&quot;ie6&quot; checked=&quot;checked&quot; /&amp;#62;&amp;#60;label for=&quot;ie6&quot;&amp;#62;IE6&amp;#60;/label&amp;#62;
    &amp;#60;input type=&quot;checkbox&quot; value=&quot;ie7&quot; name=&quot;width&quot; id=&quot;ie7&quot;checked=&quot;checked&quot; /&amp;#62;&amp;#60;label for=&quot;firefox&quot;&amp;#62;IE7&amp;#60;/label&amp;#62;
    &amp;#60;input type=&quot;checkbox&quot; value=&quot;firefox2&quot; name=&quot;width&quot; id=&quot;firefox2&quot; /&amp;#62;&amp;#60;label for=&quot;firefox2&quot;&amp;#62;Firefox2&amp;#60;/label&amp;#62;
    &amp;#60;input type=&quot;checkbox&quot; value=&quot;firefox3&quot; name=&quot;width&quot; id=&quot;firefox3&quot; /&amp;#62;&amp;#60;label for=&quot;firefox3&quot;&amp;#62;Firefox3&amp;#60;/label&amp;#62;
    &amp;#60;input type=&quot;checkbox&quot; value=&quot;opera&quot; name=&quot;width&quot; id=&quot;opera&quot; checked=&quot;checked&quot; [......</description><category>HTML/CSS/XML/XSL</category><category>legend</category><category>CSS</category><pubDate>Thu, 24 Jul 2008 17:28:41 +0800</pubDate><author>怿飞</author><comments>http://www.planabc.net/2008/07/24/legend_width/#comments</comments><guid isPermaLink="false">http://www.planabc.net/?p=82</guid><dc:creator>怿飞</dc:creator><fs:srclink>http://www.planabc.net/2008/07/24/legend_width/</fs:srclink><fs:srcfeed>http://www.planabc.net/feed/</fs:srcfeed><fs:itemid>feedsky/planabc/~7049616/110879349/5157647</fs:itemid></item><item><title>iphone 浏览器缓存的几个注意点</title><link>http://item.feedsky.com/~feedsky/planabc/~7049616/110879350/5157647/1/item.html</link><wfw:commentRss>http://www.planabc.net/2008/07/23/iphone-cacheability/feed/</wfw:commentRss><description>正确设置 expires 或 cache-control 头才可缓存组件；
遵循“最少最近使用（least recently used (LRU)）原则；
单个组件最大限制为 25KB，当大于 25KB，则不会被缓存；
最多可能缓存 19 个 25KB 的组件，缓存总限制为 475KB-500KB。
gzipped 压缩对缓存文件不起作用，先解码后缓存。
重启后缓存不会被保留。

详细阅读：《Performance Research, Part 5: iPhone Cacheability - Making it Stick》（需要用代理才可以看到）
您可能还对这些日志感兴趣WAP2.0知识分享PPT (20...</description><category>WAP技术</category><category>cache</category><category>iphone</category><pubDate>Wed, 23 Jul 2008 13:44:47 +0800</pubDate><author>怿飞</author><comments>http://www.planabc.net/2008/07/23/iphone-cacheability/#comments</comments><guid isPermaLink="false">http://www.planabc.net/?p=81</guid><dc:creator>怿飞</dc:creator><fs:srclink>http://www.planabc.net/2008/07/23/iphone-cacheability/</fs:srclink><fs:srcfeed>http://www.planabc.net/feed/</fs:srcfeed><fs:itemid>feedsky/planabc/~7049616/110879350/5157647</fs:itemid></item><item><title>如何跨浏览器使用连续字符的换行</title><link>http://item.feedsky.com/~feedsky/planabc/~7049616/110879351/5157647/1/item.html</link><wfw:commentRss>http://www.planabc.net/2008/07/03/cross_browser_word_breaker/feed/</wfw:commentRss><description>由于连续的字符（字母、符号、数字）在默认情况下是不换行的，可能会破坏整个界面布局。
那如何解决这个问题呢？
在 IE 和 Safari 1.3+ 下相对比较容易解决，使用 CSS 属性 word-wrap: break-word;。有朋友会问为什么不是使用 word-break:break-all; ，因为有一个特殊的情况，该属性无法解决换行——连续的英文标点符号。
注：word-break 主要使用在 CJK 文本，即：中文（Chinese）、日文（Japanese）、韩文（Korean）。
而 Firefox 和 Opera 浏览器，无法识别  word-wrap: break-word; 和 word-break:break-all; 属性。可以通过脚本给连续字符的每个字符之间插入 \ u8203 的字符（该字符在非 IE 浏览下不占据空间），使连续变为了不连续，达到了换行的效果。
breakWord = function(dEl){
    var dWalker = document.createTreeWalker(dEl, NodeFilter.SHOW_TEXT, null, false);
    var node,s,c = String.fromCharCode('8203');
    while (dW...</description><category>HTML/CSS/XML/XSL</category><category>CSS</category><pubDate>Thu, 03 Jul 2008 20:33:22 +0800</pubDate><author>怿飞</author><comments>http://www.planabc.net/2008/07/03/cross_browser_word_breaker/#comments</comments><guid isPermaLink="false">http://www.planabc.net/?p=80</guid><dc:creator>怿飞</dc:creator><fs:srclink>http://www.planabc.net/2008/07/03/cross_browser_word_breaker/</fs:srclink><fs:srcfeed>http://www.planabc.net/feed/</fs:srcfeed><fs:itemid>feedsky/planabc/~7049616/110879351/5157647</fs:itemid></item><item><title>解决 IE6 内存泄露的另类方法</title><link>http://item.feedsky.com/~feedsky/planabc/~7049616/110879352/5157647/1/item.html</link><wfw:commentRss>http://www.planabc.net/2008/07/03/ie6_memory_leak_fix/feed/</wfw:commentRss><description>Hedger Wang 在国内 blog 上得到的方法：使用 try &amp;#8230; finally 结构来使对象最终为 null ，以阻止内存泄露。
其中举了个例子：
function createButton() {
    var obj = document.createElement(&quot;button&quot;);
    obj.innerHTML = &quot;click me&quot;;
    obj.onclick = function() {
        //handle onclick
    }

    obj.onmouseover = function() {
  [......</description><category>IE6</category><category>JS/Ajax/AS/Flex</category><category>javascript</category><pubDate>Thu, 03 Jul 2008 13:46:39 +0800</pubDate><author>怿飞</author><comments>http://www.planabc.net/2008/07/03/ie6_memory_leak_fix/#comments</comments><guid isPermaLink="false">http://www.planabc.net/?p=79</guid><dc:creator>怿飞</dc:creator><fs:srclink>http://www.planabc.net/2008/07/03/ie6_memory_leak_fix/</fs:srclink><fs:srcfeed>http://www.planabc.net/feed/</fs:srcfeed><fs:itemid>feedsky/planabc/~7049616/110879352/5157647</fs:itemid></item><item><title>两个不太常用的 CSS Hack</title><link>http://item.feedsky.com/~feedsky/planabc/~7049616/110879353/5157647/1/item.html</link><wfw:commentRss>http://www.planabc.net/2008/06/26/two_css_hack_not_commonly_used/feed/</wfw:commentRss><description>1、仅 Safari  和 Opera  识别的 Hack
@media all and (min-width: 0px) {
/* Safari and Opera  rules here */
}

或者
@media screen and (-webkit-min-device-pixel-ratio:0) {
/* Safari and Opera rules here */
}
注：这里所指代的 Safari  和 Opera 一般为最新版本。
2、仅 Firefox 3 和 IE7 识别的 Hack
selector, x:-moz-any-link, x:default {
/* Firefox 3  and IE7 rules here */
}
注：由于 Firefox 2 和 [......</description><category>HTML/CSS/XML/XSL</category><category>Firfox</category><category>Safari</category><category>hack</category><category>CSS</category><pubDate>Thu, 26 Jun 2008 10:45:13 +0800</pubDate><author>怿飞</author><comments>http://www.planabc.net/2008/06/26/two_css_hack_not_commonly_used/#comments</comments><guid isPermaLink="false">http://www.planabc.net/?p=78</guid><dc:creator>怿飞</dc:creator><fs:srclink>http://www.planabc.net/2008/06/26/two_css_hack_not_commonly_used/</fs:srclink><fs:srcfeed>http://www.planabc.net/feed/</fs:srcfeed><fs:itemid>feedsky/planabc/~7049616/110879353/5157647</fs:itemid></item><item><title>如何使用 JavaScript 创建可维护的幻灯片效果</title><link>http://item.feedsky.com/~feedsky/planabc/~7049616/110879354/5157647/1/item.html</link><wfw:commentRss>http://www.planabc.net/2008/06/18/how_to_create_a_maintainable_dynamic_slide_show_in_javascript/feed/</wfw:commentRss><description>@import 'http://www.planabc.net/demo/slideshow/slideshow.css';

下面是幻灯片效果的 样例 ：





显然，效果很实用。对于这个效果，我们并不解释如何去使用效果库，而是讲解如何创建类似的效果，并保持他的可用性，分离式（unobtrusive），可维护性（让未来的维护者，在不需要修改你的脚本的情况下，修改图片，外观或文本标签）。
无 JavaScript 状态下，用户将看到下面的效果：





添加和移除图片、改变图片的顺序以及添加标题，这些在 HTML 中都很容易做到。并且最后的解决并不意味着维护者需要懂任何 JavaScript 或者在源码中搜索在哪里修改 CSS 的 class, id 或者文本标签。
你有没有准备好花费一些时间去一步一步的尝试创建这个效果？
第一步：分析问题（Analizing the problem）
创建一个好的脚本，第一步应该是去分析哪些是你要完成的：我们想要创建一个照片...</description><category>slideshow</category><category>JS/Ajax/AS/Flex</category><category>javascript</category><pubDate>Wed, 18 Jun 2008 20:47:13 +0800</pubDate><author>怿飞</author><comments>http://www.planabc.net/2008/06/18/how_to_create_a_maintainable_dynamic_slide_show_in_javascript/#comments</comments><guid isPermaLink="false">http://www.planabc.net/?p=76</guid><dc:creator>怿飞</dc:creator><fs:srclink>http://www.planabc.net/2008/06/18/how_to_create_a_maintainable_dynamic_slide_show_in_javascript/</fs:srclink><fs:srcfeed>http://www.planabc.net/feed/</fs:srcfeed><fs:itemid>feedsky/planabc/~7049616/110879354/5157647</fs:itemid></item><item><title>针对 IE8 的 hack</title><link>http://item.feedsky.com/~feedsky/planabc/~7049616/110879355/5157647/1/item.html</link><wfw:commentRss>http://www.planabc.net/2008/06/17/ie8_beta1_hack/feed/</wfw:commentRss><description>前言：对于 Hack 的使用，一直以来不提倡，应该尽可能的知道为什么，从根本上去解决问题，而不要遇到问题就 Hack，我们应该对代码“不作恶”，尽少使用，甚至不用。
对于 IE8 beta1 可以尝试下面的 Hack：
/*/ selector { &amp;#8230; } /**/
此规则仅 IE8 beta1 识别，而其他 A-grade 浏览器都不识别。
不过这个 Hack 也许会在 IE 的 beta2 版本或正式版中被修复，暂可作为 IE8  beta1 调试之用。
您可能还对这些日志感兴趣IE &amp;#8220;+&amp;#8221; CSS Hack研究 (6)翻译:The Underscore Hack (0)IE7 下hack的方法 (0)两个不太常用的 CSS Hack (14)IETester (17)前端开发 IE 中的常用调试工具 (10...</description><category>HTML/CSS/XML/XSL</category><category>hack</category><category>IE</category><pubDate>Tue, 17 Jun 2008 23:11:50 +0800</pubDate><author>怿飞</author><comments>http://www.planabc.net/2008/06/17/ie8_beta1_hack/#comments</comments><guid isPermaLink="false">http://www.planabc.net/?p=77</guid><dc:creator>怿飞</dc:creator><fs:srclink>http://www.planabc.net/2008/06/17/ie8_beta1_hack/</fs:srclink><fs:srcfeed>http://www.planabc.net/feed/</fs:srcfeed><fs:itemid>feedsky/planabc/~7049616/110879355/5157647</fs:itemid></item><item><title>innerHTML 的一些问题</title><link>http://item.feedsky.com/~feedsky/planabc/~7049616/110879356/5157647/1/item.html</link><wfw:commentRss>http://www.planabc.net/2008/06/17/the_problem_with_innerhtml/feed/</wfw:commentRss><description>innerHTML 属性的使用非常流行，因为他提供了简单的方法完全替代一个 HTML 元素的内容。另外一个方法是使用 DOM Level 2 API（removeChild, createElement, appendChild）。但很显然，使用 innerHTML 修改 DOM tree 是非常容易且有效的方法。然而，你需要知道 innerHTML 有一些自身的问题：

当 HTML 字符串包含一个标记为 defer 的 script 标签（&amp;#60;script defer&amp;#62;&amp;#8230;&amp;#60;/script&amp;#62;）时，如 innerHTML 属性处理不当，在 Internet Explorer 上会引起脚本注入攻击。
设置 innerHTML 将会破坏现有的已注册了事件处理函数的 HTML 元素，会在某些浏览器上引起内存泄露的潜在危险。

还有几个其他次要的缺点，也值得一提的：

你不能得到刚刚创建的元素的引用，需要你手动添加代码才能取得那些引用（使用 DOM APIs）。
你不能在所有浏览器的所有 HTML 元素上设置 innerHTML 属性（比如，Internet Explore...</description><category>innerHTML</category><category>JS/Ajax/AS/Flex</category><category>优化</category><pubDate>Tue, 17 Jun 2008 12:09:26 +0800</pubDate><author>怿飞</author><comments>http://www.planabc.net/2008/06/17/the_problem_with_innerhtml/#comments</comments><guid isPermaLink="false">http://www.planabc.net/?p=75</guid><dc:creator>怿飞</dc:creator><fs:srclink>http://www.planabc.net/2008/06/17/the_problem_with_innerhtml/</fs:srclink><fs:srcfeed>http://www.planabc.net/feed/</fs:srcfeed><fs:itemid>feedsky/planabc/~7049616/110879356/5157647</fs:itemid></item><item><title>如何在本地使用 Yahoo! BrowserPlus</title><link>http://item.feedsky.com/~feedsky/planabc/~7049616/110879357/5157647/1/item.html</link><wfw:commentRss>http://www.planabc.net/2008/06/04/hacking_browserplus_to_work_locally/feed/</wfw:commentRss><description>对于 Yahoo! BrowserPlus 的使用是有限制的（源自《How can I use BrowserPlus on my site?》）：  
During the &amp;#8220;sneak peek,&amp;#8221; BrowserPlus can only used on sites owned by Yahoo! or its partners. Our first full public release will make BrowserPlus available for use by 3rd party developers.
同时也包括限制本地的文件，对于想先睹为快的我们来说，很失落。不过现在通过 Skylar WoodwardL 的 hack 方法，修改下本地文件，就可以让轻松突破原本的本地文件限制，尝试一下吧，嘿嘿……
找到系统上 Permissions 文件夹下的 Permissions 文件：

Mac：/Users/[you]/Library/Application Support/Yahoo!/BrowserPlus/
Windows XP：c:\\Documents And [......</description><category>Yahoo</category><category>前端技术动态</category><pubDate>Wed, 04 Jun 2008 20:24:43 +0800</pubDate><author>怿飞</author><comments>http://www.planabc.net/2008/06/04/hacking_browserplus_to_work_locally/#comments</comments><guid isPermaLink="false">http://www.planabc.net/?p=74</guid><dc:creator>怿飞</dc:creator><fs:srclink>http://www.planabc.net/2008/06/04/hacking_browserplus_to_work_locally/</fs:srclink><fs:srcfeed>http://www.planabc.net/feed/</fs:srcfeed><fs:itemid>feedsky/planabc/~7049616/110879357/5157647</fs:itemid></item><item><title>Yahoo! BrowserPlus</title><link>http://item.feedsky.com/~feedsky/planabc/~7049616/110879358/5157647/1/item.html</link><wfw:commentRss>http://www.planabc.net/2008/05/29/a_peek_into_yahoo_browserplus/feed/</wfw:commentRss><description>BrowserPlus 到底是什么，又能做什么？
BrowserPlus 是 Yahoo! 最近刚发布一个 Web 扩展的平台：终端用户需安装他，而开发者可以通过一个小的 JavaScript 库使用他的特性。平台现有的一些属性包括：

从桌面的拖拽；
用户断图片的处理（裁切，翻转和滤镜）；
桌面通知。

BrowserPlus 最独特的特性是他能在运行中更新和添加服务，而无需重新启动浏览器或甚至加载页面。对于用户，这意味着没有更多的中断或安装运行，而 Yahoo! 去处理软件分发的复杂性以及升级。对于开发者，这意味着能够通过一个简单的函数引用检查和激活新的服务（当然待用户批准）。
目前支持哪些平台：

Windows XP
Windows Vista
Mac OS X 10.4, Tiger (intel only)
Mac OS X 10.5, Leopard (intel only) 

目前支持哪些浏览器：

在 Mac 上支持 Firefox 2 (或高于) 和 Safari 3
在 Windows 上支持 Internet Explorer 7 和 Firefox 2 (...</description><category>Yahoo</category><category>浏览器</category><category>前端技术动态</category><pubDate>Thu, 29 May 2008 17:49:21 +0800</pubDate><author>怿飞</author><comments>http://www.planabc.net/2008/05/29/a_peek_into_yahoo_browserplus/#comments</comments><guid isPermaLink="false">http://www.planabc.net/?p=73</guid><dc:creator>怿飞</dc:creator><fs:srclink>http://www.planabc.net/2008/05/29/a_peek_into_yahoo_browserplus/</fs:srclink><fs:srcfeed>http://www.planabc.net/feed/</fs:srcfeed><fs:itemid>feedsky/planabc/~7049616/110879358/5157647</fs:itemid></item><item><title>如何让 Firefox 2 和 Firefox 3 版本并存</title><link>http://item.feedsky.com/~feedsky/planabc/~7049616/110879359/5157647/1/item.html</link><wfw:commentRss>http://www.planabc.net/2008/05/29/how_to_run_both_firefox_2_and_firefox_3_together/feed/</wfw:commentRss><description>最新的 Firefox 2 版本为  Firefox 2.0.0.14， Firefox 3 版本为 Firefox 3.0rc1。主流依然是 Firefox 2.0.0.14，但由于在不久的将来 Firefox 2 会升级到 Firefox 3，对于我们前端是好消息（更好更优的功能），也是坏消息（提前进入“作战”状态，现在就应该开始测试网站在 Firefox 3 下的兼容性了！）。
大家都知道 IE 有多版本集成的软件（比如：IETester），而 Firefox 的多版本如何解决呢？
下面提供两个方案：
1、针对Windows的用户：《How to Run both Firefox 2 and Firefox 3 Together》，不爱看或者看不懂英文的，还可以《如何让Firefox2和Firefox3在Windows下共存？》。
2、针对其他平台的用户（aoao 提供的方案）：Firefox 装 3.0 的，再安装个 Flock1.x（内核为Firefox 2），就可以并存两个版本，某些插件不支持新版可装 Nightly Tester Tools 来解决。
您可能还对这些日志感兴趣Firefox 下 innerHTML 的一...</description><category>Firfox</category><category>工具</category><category>前端技术动态</category><pubDate>Thu, 29 May 2008 11:39:45 +0800</pubDate><author>怿飞</author><comments>http://www.planabc.net/2008/05/29/how_to_run_both_firefox_2_and_firefox_3_together/#comments</comments><guid isPermaLink="false">http://www.planabc.net/?p=72</guid><dc:creator>怿飞</dc:creator><fs:srclink>http://www.planabc.net/2008/05/29/how_to_run_both_firefox_2_and_firefox_3_together/</fs:srclink><fs:srcfeed>http://www.planabc.net/feed/</fs:srcfeed><fs:itemid>feedsky/planabc/~7049616/110879359/5157647</fs:itemid></item></channel></rss>