<?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>YY in Limbo 混沌海狂想 &#187; Firefox</title>
	<atom:link href="http://www.limboy.com/category/web/fx/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.limboy.com</link>
	<description>这里既空虚又充实，没有规则，没有约束，创造来自思考，生存依赖想像，现实源自梦想</description>
	<lastBuildDate>Fri, 07 Oct 2011 19:33:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>HTML5, CSS3, ES5&#8230;新的web标准和浏览器支持一览</title>
		<link>http://www.limboy.com/2009/06/29/html5-css3-es5-support/</link>
		<comments>http://www.limboy.com/2009/06/29/html5-css3-es5-support/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 00:40:26 +0000</pubDate>
		<dc:creator>Dexter.Yy</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[web服务/应用]]></category>
		<category><![CDATA[代码]]></category>

		<guid isPermaLink="false">http://www.limboy.com/2009/06/29/html5-css3-es5-support/</guid>
		<description><![CDATA[好罢这篇本来是我私下做的笔记，我特别喜欢在Evernote上做备忘的笔记，虽然上次看到漏屋老师的文章里说我现在的年龄才刚刚进入记忆力的巅峰期……但是我的自信心仍然屡受打击！比如跟别人讨论The Dark Knight里小丑在医院对检察官说了什么让他变成双面人，我一句对白都想不起来，还有big bang theory s2里penny玩age of conan时的人物名字是&#8221;Queen Penelope&#8221;，我看的时候印象很深，一个月后就连奥德赛都想不起来了。留份笔记总觉得心里踏实些……啊又跑题了
本文整理了一些最重要（或者说人气比较高罢）的新标准，虽然它们多数还只是w3c的草案，离Recommendation级别还早，却已经成为新一轮浏览器大战中备受追捧的明星，开发者社区里也涌现出大量相关的demo和API封装，有些已经进入生产环境（比如google在iphone上实现的gmail离线应用），其实我觉得如今的web领域里，从厂商私有技术转换成委员会标准再转换成通用技术产生杀手级应用的周期已经显著的加速了，是因为现在web application的需求太高了么…… UPDATE：刚才在solidot发软文的时候我突然想明白怎么表述这个问题：其实现在很多浏览器厂商同时也是基于浏览器的应用开发者和web标准的制定者，就好像修筑舞台的工程师同时也是舞台上的演员和舞蹈动作的导演一样，所以google, mozilla, apple们都在不遗余力的实现那些有利于开发web应用的技术标准，即时它们还是W3C Working Draft，相比之下IE team就比较缺乏动力，果然计划经济缺乏活力亚XD……
由于是源自笔记，对每个条目我只会列出称呼和语法特征，暂时没时间写详细的解释和可执行的示例，但是会给出相关的文档地址，除了列出已经支持该特性的浏览器，也会为不支持的浏览器提供替代/过渡的实现。
===================废话结束的分割线=======================
CSS3 Media queries
对整个外链css文件和部分css代码使用的媒体类型侦测，人气高的原因显然是因为移动设备……
&#60;link media=“all and (orientation:portrait)” src=&#34;screen.css&#34; type=&#34;text/css&#34;&#62;
@media all and (min-color: 4) { ... }
w3c标准：http://www.w3.org/TR/css3-mediaqueries/
MDC文档：https://developer.mozilla.org/En/CSS/Media_queries
Opera文档：http://www.opera.com/docs/specs/css/
支持：Firefox 3.5+, Safari 3+, Opera 7+

CSS3 2D Transforms
css变形，有人用这个实现伪3d效果以及旋转效果的jquery插件
-moz-transform: rotate(-45deg) skew(15deg, 15deg);
sprite.style['-webkit-transform'] = 'rotate(' + v + 'rad)';
w3c标准：http://www.w3.org/TR/css3-2d-transforms/
MDC文档：https://developer.mozilla.org/En/CSS/CSS_transform_functions
webkit博客的介绍: http://webkit.org/blog/130/css-transforms/
支持：Firefox 3.5+, Safari 3.1+
替代/过渡：IE5.5+ Matrix Filter http://msdn.microsoft.com/en-us/library/ms533014(VS.85).aspx

CSS3 Transitions and [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.limboy.com/2009/06/29/html5-css3-es5-support/bwjpg/' rel='attachment wp-att-239' title='bw.jpg'><img src='http://www.limboy.com/wp-content/uploads/2009/06/bw.jpg' alt='bw.jpg' style="float:left;border:0;margin:0 10px 0 0;" /></a>好罢这篇本来是我私下做的笔记，我特别喜欢在<a target="_blank"  href="http://evernote.com/">Evernote</a>上做备忘的笔记，虽然上次看到<a target="_blank"  href="http://cache.tianya.cn/publicforum/content/english/1/121795.shtml">漏屋老师的文章</a>里说我现在的年龄才刚刚进入记忆力的巅峰期……但是我的自信心仍然屡受打击！比如跟别人讨论The Dark Knight里小丑在医院对检察官说了什么让他变成双面人，我一句对白都想不起来，还有big bang theory s2里penny玩age of conan时的人物名字是&#8221;Queen Penelope&#8221;，我看的时候印象很深，一个月后就连奥德赛都想不起来了。留份笔记总觉得心里踏实些……啊又跑题了</p>
<p>本文整理了一些最重要（或者说人气比较高罢）的新标准，虽然它们多数还只是w3c的草案，离Recommendation级别还早，却已经成为新一轮浏览器大战中备受追捧的明星，开发者社区里也涌现出大量相关的demo和API封装，有些已经进入生产环境（比如google在iphone上实现的<a target="_blank"  href="http://www.wired.com/epicenter/2009/02/google-turns-to/">gmail离线应用</a>），其实我觉得如今的web领域里，从厂商私有技术转换成委员会标准再转换成通用技术产生杀手级应用的周期已经显著的加速了<span id="more-238"></span>，是因为现在web application的需求太高了么…… <strong>UPDATE：</strong>刚才在solidot发软文的时候我突然想明白怎么表述这个问题：其实现在很多浏览器厂商同时也是基于浏览器的应用开发者和web标准的制定者，就好像修筑舞台的工程师同时也是舞台上的演员和舞蹈动作的导演一样，所以google, mozilla, apple们都在不遗余力的实现那些有利于开发web应用的技术标准，即时它们还是W3C Working Draft，相比之下IE team就比较缺乏动力，果然计划经济缺乏活力亚XD……</p>
<p>由于是源自笔记，对每个条目我只会列出称呼和语法特征，暂时没时间写详细的解释和可执行的示例，但是会给出相关的文档地址，除了列出已经支持该特性的浏览器，也会为不支持的浏览器提供替代/过渡的实现。</p>
<p>===================废话结束的分割线=======================</p>
<h3>CSS3 Media queries</h3>
<p>对整个外链css文件和部分css代码使用的媒体类型侦测，人气高的原因显然是因为移动设备……</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Olive;">&lt;</span><span style="color: Green;">link</span><span style="color: Gray;"> </span><span style="color: #00008b;">media</span><span style="color: Gray;">=“</span><span style="color: #00008b;">all</span><span style="color: Gray;"> </span><span style="color: #00008b;">and</span><span style="color: Gray;"> (</span><span style="color: #00008b;">orientation:portrait</span><span style="color: Gray;">)” </span><span style="color: #00008b;">src</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">screen.css</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">type</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">text/css</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span></li></ol></div>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: #00008b;">@media</span><span style="color: Gray;"> </span><span style="color: Blue;">all</span><span style="color: Gray;"> </span><span style="color: Blue;">and</span><span style="color: Gray;"> (min-color: 4) </span><span style="color: Olive;">{</span><span style="color: Gray;"> ... </span><span style="color: Olive;">}</span></li></ol></div>
<p>w3c标准：<a target="_blank"  href="http://www.w3.org/TR/css3-mediaqueries/">http://www.w3.org/TR/css3-mediaqueries/</a><br />
MDC文档：<a target="_blank"  href="https://developer.mozilla.org/En/CSS/Media_queries">https://developer.mozilla.org/En/CSS/Media_queries</a><br />
Opera文档：<a target="_blank"  href="http://www.opera.com/docs/specs/css/">http://www.opera.com/docs/specs/css/</a></p>
<p><strong style="color:#ff6600;">支持：Firefox 3.5+, Safari 3+, Opera 7+</strong><br />
<br/></p>
<h3>CSS3 2D Transforms</h3>
<p>css变形，有人用这个实现<a target="_blank"  href="http://ajaxian.com/archives/fun-with-3d-css-and-video">伪3d效果</a>以及<a target="_blank"  href="http://www.zachstronaut.com/projects/rotate3di/">旋转效果的jquery插件</a></p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Gray;">-moz-transform: </span><span style="color: Blue;">rotate</span><span style="color: Gray;">(-45</span><span style="color: Blue;">deg</span><span style="color: Gray;">) </span><span style="color: Blue;">skew</span><span style="color: Gray;">(15</span><span style="color: Blue;">deg</span><span style="color: Gray;">, 15</span><span style="color: Blue;">deg</span><span style="color: Gray;">);</span></li></ol></div>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">sprite</span><span style="color: Gray;">.</span><span style="color: Blue;">style</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">-webkit-transform</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">'</span><span style="color: Red;">rotate(</span><span style="color: #8b0000;">'</span><span style="color: Gray;"> + </span><span style="color: Blue;">v</span><span style="color: Gray;"> + </span><span style="color: #8b0000;">'</span><span style="color: Red;">rad)</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;</span></li></ol></div>
<p>w3c标准：<a target="_blank"  href="http://www.w3.org/TR/css3-2d-transforms/">http://www.w3.org/TR/css3-2d-transforms/</a><br />
MDC文档：<a target="_blank"  href="https://developer.mozilla.org/En/CSS/CSS_transform_functions">https://developer.mozilla.org/En/CSS/CSS_transform_functions</a><br />
webkit博客的介绍: <a target="_blank"  href="http://webkit.org/blog/130/css-transforms/">http://webkit.org/blog/130/css-transforms/</a></p>
<p><strong style="color:#ff6600;">支持：Firefox 3.5+, Safari 3.1+</strong><br />
<strong style="color:#ff6600;">替代/过渡：IE5.5+ Matrix Filter <a target="_blank"  href="http://msdn.microsoft.com/en-us/library/ms533014(VS.85).aspx">http://msdn.microsoft.com/en-us/library/ms533014(VS.85).aspx</a></strong><br />
<br/></p>
<h3>CSS3 Transitions and CSS Animations</h3>
<p>备受期待的css动画，webkit团队提出的草案，transition实现简单的属性渐变，animation定义更复杂的动画效果</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Gray;">transition-property: </span><span style="color: Blue;">width</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">transition-duration: 1</span><span style="color: Blue;">s</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">animation-name: '</span><span style="color: Blue;">diagonal-slide</span><span style="color: Gray;">';</span></li>
<li><span style="color: Gray;">animation-duration: 5</span><span style="color: Blue;">s</span><span style="color: Gray;">;</span></li>
<li><span style="color: Gray;">animation-iteration-count: 10;</span></li>
<li><span style="color: #00008b;">@keyframes</span><span style="color: Gray;"> '</span><span style="color: Blue;">diagonal-slide</span><span style="color: Gray;">' </span><span style="color: Olive;">{}</span></li></ol></div>
<p>w3c标准：<a target="_blank"  href="http://www.w3.org/TR/css3-transitions/">http://www.w3.org/TR/css3-transitions/</a><br />
w3c标准：<a target="_blank"  href="http://www.w3.org/TR/css3-animations/">http://www.w3.org/TR/css3-animations/</a><br />
webkit博客的介绍：<a target="_blank"  href="http://webkit.org/blog/138/css-animation/">http://webkit.org/blog/138/css-animation/</a><br />
约翰同学的介绍：<a target="_blank"  href="http://ejohn.org/blog/css-animations-and-javascript/">http://ejohn.org/blog/css-animations-and-javascript/</a></p>
<p><strong style="color:#ff6600;">支持：Safari 3.1+</strong><br />
<br/></p>
<h3>CSS3 Downloadable fonts</h3>
<p>能在网页里嵌入任意字体是设计师的梦想……不过这里支持的也仅限truetype和opentype</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: #00008b;">@font</span><span style="color: Gray;">-</span><span style="color: Blue;">face</span><span style="color: Gray;"> </span><span style="color: Olive;">{}</span></li></ol></div>
<p>w3c标准：<a target="_blank"  href="http://www.w3.org/TR/css3-fonts/#font-resources">http://www.w3.org/TR/css3-fonts/#font-resources</a><br />
MSDN文档：<a target="_blank"  href="http://msdn.microsoft.com/en-us/library/ms530303(VS.85).aspx">http://msdn.microsoft.com/en-us/library/ms530303(VS.85).aspx</a><br />
MDC文档：<a target="_blank"  href="https://developer.mozilla.org/en/CSS/@font-face">https://developer.mozilla.org/en/CSS/@font-face</a></p>
<p><strong style="color:#ff6600;">支持：Firefox 3.5+, Safari 3.1+, Opera 10.0+, IE4.0+</strong><br />
<br/></p>
<h3>附赠：其他CSS3 property的兼容性</h3>
<p>ppk同学维护的文档: <a target="_blank"  href="http://www.quirksmode.org/css/contents.html">http://www.quirksmode.org/css/contents.html</a><br />
css3.info维护的文档：<a target="_blank"  href="http://www.css3.info/modules/selector-compat/">http://www.css3.info/modules/selector-compat/</a><br />
一个测试页面：<a target="_blank"  href="http://westciv.com/iphonetests/">http://westciv.com/iphonetests/</a><br />
<br/></p>
<h3>HTML5 DOM Storage</h3>
<p>简洁的持久存储，键值对的形式</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">window.localStorage</span></li>
<li><span style="color: Blue;">window.sessionStorage</span><span style="color: Gray;"> //可跨域，标签页关掉就清空</span></li></ol></div>
<p>w3c标准：<a target="_blank"  href="http://www.w3.org/TR/webstorage/">http://www.w3.org/TR/webstorage/</a><br />
ppk同学维护的兼容性列表：<a target="_blank"  href="http://www.quirksmode.org/dom/html5.html#localstorage">http://www.quirksmode.org/dom/html5.html#localstorage</a><br />
MDC文档：<a target="_blank"  href="https://developer.mozilla.org/en/DOM/Storage">https://developer.mozilla.org/en/DOM/Storage</a><br />
MSDN文档：<a target="_blank"  href="http://msdn.microsoft.com/en-us/library/cc197062(VS.85).aspx">http://msdn.microsoft.com/en-us/library/cc197062(VS.85).aspx</a></p>
<p><strong style="color:#ff6600;">支持：Firefox 3.5+, Safari 4.0+, IE 8.0+</strong><br />
<br/></p>
<h3>HTML5 Offline Application Cache</h3>
<p>用一个manifest文件缓存静态资源（图片,css, js之类）在离线状态下使用，不是结构化数据</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Olive;">&lt;</span><span style="color: Green;">html</span><span style="color: Gray;"> </span><span style="color: #00008b;">manifest</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">foo.manifest</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span></li></ol></div>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">CACHE MANIFEST</li>
<li>index.html</li>
<li>style/default.css</li>
<li>images/logo.png</li></ol></div>
<p>w3c标准：<a target="_blank"  href="http://www.w3.org/TR/offline-webapps/#offline">http://www.w3.org/TR/offline-webapps/#offline</a><br />
MDC文档：<a target="_blank"  href="https://developer.mozilla.org/en/Offline_resources_in_Firefox">https://developer.mozilla.org/en/Offline_resources_in_Firefox</a></p>
<p><strong style="color:#ff6600;">支持：Firefox 3.5+</strong><br />
<br/></p>
<h3>HTML5 Database Storage</h3>
<p>本地数据库，支持sql，最早是google gears实现，现在的w3c草案的编辑也是google的工程师……但奇怪的是，gears的api跟现在的草案不兼容，chrome甚至为了保留捆绑的gears的数据库api而删除了webkit实现的html5 api……而google在iphone上实现gmail离线功能的时候又采用webkit的api……真纠结……</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">db</span><span style="color: Gray;"> = </span><span style="color: Teal;">window</span><span style="color: Gray;">.</span><span style="color: Blue;">openDatabase</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">notes</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Gray;">, </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">The Example Notes App!</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: Maroon;">1048576</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">db</span><span style="color: Gray;">.</span><span style="color: Blue;">transaction</span><span style="color: Olive;">(</span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">tx</span><span style="color: Olive;">)</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">{</span></li>
<li><span style="color: Blue;">tx</span><span style="color: Gray;">.</span><span style="color: Blue;">executeSql</span><span style="color: Olive;">(</span><span style="color: Gray;">‘</span><span style="color: Blue;">SELECT</span><span style="color: Gray;"> * </span><span style="color: Blue;">FROM</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">Notes</span><span style="color: Gray;">’, </span><span style="color: Olive;">[]</span><span style="color: Gray;">, </span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">tx</span><span style="color: Gray;">, </span><span style="color: Blue;">rs</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{})</span><span style="color: Gray;">;</span></li>
<li><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<p>w3c标准：<a target="_blank"  href="http://www.w3.org/TR/offline-webapps/#sql">http://www.w3.org/TR/offline-webapps/#sql</a><br />
webkit博客的介绍：<a target="_blank"  href="http://webkit.org/blog/126/webkit-does-html5-client-side-database-storage/">http://webkit.org/blog/126/webkit-does-html5-client-side-database-storage/</a><br />
iphone的文档：<a target="_blank"  href="http://developer.apple.com/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/UsingtheJavascriptDatabase/UsingtheJavascriptDatabase.html#//apple_ref/doc/uid/TP40007256-CH3-SW1">http://developer.apple.com/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/UsingtheJavascriptDatabase/UsingtheJavascriptDatabase.html#//apple_ref/doc/uid/TP40007256-CH3-SW1</a></p>
<p><strong style="color:#ff6600;">支持：Safari 3.1+</strong><br />
<strong style="color:#ff6600;">替代/过渡：Gears <a target="_blank"  href="http://code.google.com/p/gears/wiki/Database2API">http://code.google.com/p/gears/wiki/Database2API</a></strong><br />
<br/></p>
<h3>HTML5 Web Workers</h3>
<p>多线程，在后台执行复杂运算，不能操作dom，线程之间通过消息事件通信</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">myWorker</span><span style="color: Gray;"> = </span><span style="color: Green;">new</span><span style="color: Gray;"> </span><span style="color: Blue;">Worker</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">my_worker.js</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">myWorker</span><span style="color: Gray;">.</span><span style="color: Blue;">onmessage</span><span style="color: Gray;"> = </span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">event</span><span style="color: Olive;">)</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">{</span><span style="color: Gray;"> </span><span style="color: Blue;">event</span><span style="color: Gray;">.</span><span style="color: Blue;">data</span><span style="color: Gray;"> </span><span style="color: Olive;">}</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">myWorker</span><span style="color: Gray;">.</span><span style="color: Blue;">postMessage</span><span style="color: Olive;">(</span><span style="color: Blue;">str</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li></ol></div>
<p>w3c标准：<a target="_blank"  href="http://www.w3.org/TR/workers/">http://www.w3.org/TR/workers/</a><br />
MDC文档：<a target="_blank"  href="https://developer.mozilla.org/En/Using_web_workers">https://developer.mozilla.org/En/Using_web_workers</a></p>
<p><strong style="color:#ff6600;">支持：Firefox 3.5+</strong><br />
<strong style="color:#ff6600;">替代/过渡：Gears <a target="_blank"  href="http://code.google.com/p/gears/wiki/HTML5WorkerProposal">http://code.google.com/p/gears/wiki/HTML5WorkerProposal</a></strong><br />
<br/></p>
<h3>HTML5 Geolocation</h3>
<p>地理api</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Teal;">window</span><span style="color: Gray;">.</span><span style="color: Teal;">navigator</span><span style="color: Gray;">.</span><span style="color: Blue;">geolocation</span></li></ol></div>
<p>w3c标准：<a target="_blank"  href="http://www.w3.org/TR/geolocation-API/">http://www.w3.org/TR/geolocation-API/</a><br />
MDC文档：<a target="_blank"  href="https://developer.mozilla.org/En/Using_geolocation">https://developer.mozilla.org/En/Using_geolocation</a></p>
<p><strong style="color:#ff6600;">支持：Firefox 3.5+</strong><br />
<strong style="color:#ff6600;">替代/过渡：Gears <a target="_blank"  href="http://code.google.com/p/gears/wiki/GeolocationAPI">http://code.google.com/p/gears/wiki/GeolocationAPI</a></strong><br />
<br/></p>
<h3>HTML5 Drag and Drop</h3>
<p>原生拖拽事件</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">ondragstart</span></li>
<li><span style="color: Blue;">ondrag</span></li>
<li><span style="color: Blue;">ondragend</span></li>
<li><span style="color: #ffa500;">//拖拽过程中</span></li>
<li><span style="color: Blue;">ondragenter</span></li>
<li><span style="color: Blue;">ondragover</span></li>
<li><span style="color: Blue;">ondragleave</span></li>
<li><span style="color: Blue;">ondrop</span></li></ol></div>
<p>w3c标准：<a target="_blank"  href="http://www.w3.org/TR/html5/editing.html#dnd">http://www.w3.org/TR/html5/editing.html#dnd</a><br />
MDC文档：<a target="_blank"  href="https://developer.mozilla.org/En/DragDrop/Drag_and_Drop">https://developer.mozilla.org/En/DragDrop/Drag_and_Drop</a><br />
apple文档：<a target="_blank"  href="http://developer.apple.com/documentation/AppleApplications/Conceptual/SafariJSProgTopics/Tasks/DragAndDrop.html#//apple_ref/doc/uid/30001233">http://developer.apple.com/documentation/AppleApplications/Conceptual/SafariJSProgTopics/Tasks/DragAndDrop.html#//apple_ref/doc/uid/30001233</a></p>
<p><strong style="color:#ff6600;">支持：Firefox 3.5+, Safari 2.0+, Chrome 1.0+, IE 5.0+</strong><br />
<br/></p>
<h3>HTML5 Audio and Video</h3>
<p>用html标签来嵌入视频音频的好处并非是“开源格式”，而是“开放性”，让多媒体可以与其他页面元素交互，或者<a target="_blank"  href="http://blog.mozbox.org/post/2009/04/12/Firefox-35:-a-new-experiment-with-Canvas-Video">用页面技术去跟视频“mashup”</a>，这种随意组合和交互的能力是web技术兴盛的基石，也是像flash这类封闭RIA容器最大的缺点。</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Olive;">&lt;</span><span style="color: Green;">video</span><span style="color: Gray;"> </span><span style="color: #00008b;">controls</span><span style="color: Olive;">&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">source</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">src</span><span style="color: Gray;">=“</span><span style="color: #00008b;">zombie</span><span style="color: Gray;">.</span><span style="color: #00008b;">ogg</span><span style="color: Gray;">” </span><span style="color: #00008b;">type</span><span style="color: Gray;">=“</span><span style="color: #00008b;">video</span><span style="color: Gray;">/</span><span style="color: Green;">ogg</span><span style="color: Gray;">”</span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Olive;">&lt;</span><span style="color: Green;">source</span><span style="color: Gray;">&nbsp;</span><span style="color: #00008b;">src</span><span style="color: Gray;">=“</span><span style="color: #00008b;">zombie</span><span style="color: Gray;">.</span><span style="color: #00008b;">mp4</span><span style="color: Gray;">″ </span><span style="color: #00008b;">type</span><span style="color: Gray;">=“</span><span style="color: #00008b;">video</span><span style="color: Gray;">/</span><span style="color: Green;">mp4</span><span style="color: Gray;">″</span><span style="color: Olive;">/&gt;</span></li>
<li><span style="color: Olive;">&lt;/</span><span style="color: Green;">video</span><span style="color: Olive;">&gt;</span></li></ol></div>
<p>MDC文档：<a target="_blank"  href="https://developer.mozilla.org/En/Using_audio_and_video_in_Firefox">https://developer.mozilla.org/En/Using_audio_and_video_in_Firefox</a><br />
webkit博客的介绍：<a target="_blank"  href="http://webkit.org/blog/140/html5-media-support/">http://webkit.org/blog/140/html5-media-support/</a></p>
<p><strong style="color:#ff6600;">支持：Firefox 3.5+, Safari 3.0+, Chrome 3.0+</strong><br />
<strong style="color:#ff6600;">替代/过渡：用video标签嵌套embed <a target="_blank"  href="http://hacks.mozilla.org/2009/06/html5-video-fallbacks-markup/">http://hacks.mozilla.org/2009/06/html5-video-fallbacks-markup/</a></strong><br />
<br/></p>
<h3>HTML5 Canvas</h3>
<p>apple发明，最早应用于dashboard，目前主流的js图像技术，mozilla已经在实现OpenGL ES标准的<a target="_blank"  href="http://blog.vlad1.com/2007/11/26/canvas-3d-gl-power-web-style/">Canvas 3D</a>了，另外据说ie team为支持canvas<a target="_blank"  href="http://processingjs.org/blog/?p=77">做了大量工作</a>……实际上canvas api相当底层，特别是交互方面，不如svg直观，所以出现了很多封装它的库</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">ctx</span><span style="color: Gray;"> = $</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">#canvas</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)[</span><span style="color: Maroon;">0</span><span style="color: Olive;">]</span><span style="color: Gray;">.</span><span style="color: Blue;">getContext</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">2d</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">ctx</span><span style="color: Gray;">.</span><span style="color: Blue;">fillStyle</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">#00A308</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">ctx</span><span style="color: Gray;">.</span><span style="color: Blue;">beginPath</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">ctx</span><span style="color: Gray;">.</span><span style="color: Blue;">arc</span><span style="color: Olive;">(</span><span style="color: Maroon;">220</span><span style="color: Gray;">, </span><span style="color: Maroon;">220</span><span style="color: Gray;">, </span><span style="color: Maroon;">50</span><span style="color: Gray;">, </span><span style="color: Maroon;">0</span><span style="color: Gray;">, </span><span style="color: Teal;">Math</span><span style="color: Gray;">.</span><span style="color: Blue;">PI</span><span style="color: Gray;">*</span><span style="color: Maroon;">2</span><span style="color: Gray;">, </span><span style="color: Green;">true</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">ctx</span><span style="color: Gray;">.</span><span style="color: Blue;">closePath</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">ctx</span><span style="color: Gray;">.</span><span style="color: Blue;">fill</span><span style="color: Olive;">()</span><span style="color: Gray;">;</span></li></ol></div>
<p>MDC文档：<a target="_blank"  href="https://developer.mozilla.org/en/Canvas_tutorial">https://developer.mozilla.org/en/Canvas_tutorial</a></p>
<p><strong style="color:#ff6600;">支持：Firefox 1.5+, Safari 2.0+, Chrome 1.0+, Opera 9.0+</strong><br />
<strong style="color:#ff6600;">替代/过渡：excanvas.js <a target="_blank"  href="http://code.google.com/p/explorercanvas/">http://code.google.com/p/explorercanvas/</a></strong><br />
<br/></p>
<h3>SVG</h3>
<p>w3c标准：<a target="_blank"  href="http://www.w3.org/TR/SVG12/">http://www.w3.org/TR/SVG12/</a><br />
IBM DW教程：<a target="_blank"  href="http://www.ibm.com/developerworks/cn/views/xml/tutorials.jsp?cv_doc_id=84896">http://www.ibm.com/developerworks/cn/views/xml/tutorials.jsp?cv_doc_id=84896</a></p>
<p><strong style="color:#ff6600;">支持：Firefox 1.5+, Safari 3.0+, Chrome 1.0+, Opera 9.0+</strong><br />
<strong style="color:#ff6600;">替代/过渡：raphael.js <a target="_blank"  href="http://raphaeljs.com/">http://raphaeljs.com/</a></strong><br />
<br/></p>
<h3>XMLHttpRequest 2</h3>
<p>主要是增加跨域能力以及请求过程中的事件</p>
<p>w3c标准：<a target="_blank"  href="http://www.w3.org/TR/XMLHttpRequest2/">http://www.w3.org/TR/XMLHttpRequest2/</a><br />
MDC文档：<a target="_blank"  href="https://developer.mozilla.org/En/Using_XMLHttpRequest#Monitoring_progress">https://developer.mozilla.org/En/Using_XMLHttpRequest#Monitoring_progress</a><br />
XDomainRequest (XDR)<br />
MSDN文档：<a target="_blank"  href="http://msdn.microsoft.com/en-us/library/cc288060(VS.85).aspx">http://msdn.microsoft.com/en-us/library/cc288060(VS.85).aspx</a></p>
<p><strong style="color:#ff6600;">支持：Firefox 3.5+（实现了部分）, IE 8.0+（实现了部分）</strong><br />
<br/></p>
<h3>Access Control</h3>
<p>千呼万唤的跨域访问控制，目前firefox3.5和ie8有一些不同，ie8搞的XDR和XDM我也不知道是不是准备提交给w3c标准化的东西……</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline">Access-Control-Allow-Origin: http://foo.example</li></ol></div>
<p>w3c标准：<a target="_blank"  href="http://www.w3.org/TR/cors/">http://www.w3.org/TR/cors/</a><br />
MDC文档：<a target="_blank"  href="https://developer.mozilla.org/En/HTTP_Access_Control">https://developer.mozilla.org/En/HTTP_Access_Control</a><br />
Cross-document Messaging (XDM)<br />
MSDN文档：<a target="_blank"  href="http://msdn.microsoft.com/en-us/library/cc197057(VS.85).aspx">http://msdn.microsoft.com/en-us/library/cc197057(VS.85).aspx</a></p>
<p><strong style="color:#ff6600;">支持：Firefox 3.5+, IE8.0+</strong><br />
<br/></p>
<h3>E4X (ECMA-357)</h3>
<p>Firefox和ActionScript3早就实现了的东西……不过其实现在json这么流行，有没有E4X好像都无所谓了～（瞎说的，其实在js代码里直接写dom对象而不是html字符串，会方便很多）</p>
<p>MDC文档：<a target="_blank"  href="https://developer.mozilla.org/en/E4X">https://developer.mozilla.org/en/E4X</a></p>
<p><strong style="color:#ff6600;">支持：Firefox 1.5+</strong><br />
<br/></p>
<h3>ECMAScript 5  Native JSON</h3>
<p>原生的JSON支持，速度和安全性都比eval强一百倍亚一百倍，另外要注意Douglas Crockford的json2.js是一个用js实现的js解释器，所以安全性更好</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">JSON</span><span style="color: Gray;">.</span><span style="color: Blue;">parse</span><span style="color: Olive;">(</span><span style="color: Gray;"> </span><span style="color: Blue;">text</span><span style="color: Gray;">, </span><span style="color: Blue;">translate</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span></li>
<li><span style="color: Blue;">JSON</span><span style="color: Gray;">.</span><span style="color: Blue;">stringify</span><span style="color: Olive;">(</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">obj</span><span style="color: Gray;">, </span><span style="color: Blue;">translate</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span></li>
<li><span style="color: Teal;">String</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;">.</span><span style="color: Blue;">toJSON</span></li>
<li><span style="color: Blue;">Boolean</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;">.</span><span style="color: Blue;">toJSON</span></li>
<li><span style="color: Teal;">Number</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;">.</span><span style="color: Blue;">toJSON</span></li>
<li><span style="color: Teal;">Date</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;">.</span><span style="color: Blue;">toJSON</span></li></ol></div>
<p>MDC文档：<a target="_blank"  href="http://blog.mozilla.com/webdev/2009/02/12/native-json-in-firefox-31/">http://blog.mozilla.com/webdev/2009/02/12/native-json-in-firefox-31/</a><br />
MSDN文档：<a target="_blank"  href="http://blogs.msdn.com/ie/archive/2008/09/10/native-json-in-ie8.aspx">http://blogs.msdn.com/ie/archive/2008/09/10/native-json-in-ie8.aspx</a></p>
<p><strong style="color:#ff6600;">支持：Firefox 3.5+, IE8+</strong><br />
<strong style="color:#ff6600;">替代/过渡：json2.js <a target="_blank"  href="http://www.json.org/json2.js">http://www.json.org/json2.js</a></strong><br />
<br/></p>
<h3>ECMAScript 5  Array Extras</h3>
<p>js1.6里实现的数组方法，主要是forEach, map, fliter这几个函数式编程里非常重要的方法，还有反向查询</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Teal;">Array</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;">.</span><span style="color: Blue;">indexOf</span><span style="color: Olive;">(</span><span style="color: Gray;"> </span><span style="color: Blue;">str</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span></li>
<li><span style="color: Teal;">Array</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;">.</span><span style="color: Blue;">lastIndexOf</span><span style="color: Olive;">(</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">str</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span></li>
<li><span style="color: Teal;">Array</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;">.</span><span style="color: Blue;">every</span><span style="color: Olive;">(</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">fn</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span></li>
<li><span style="color: Teal;">Array</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;">.</span><span style="color: Blue;">some</span><span style="color: Olive;">(</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">fn</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span></li>
<li><span style="color: Teal;">Array</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;">.</span><span style="color: Blue;">filter</span><span style="color: Olive;">(</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">fn</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span></li>
<li><span style="color: Teal;">Array</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;">.</span><span style="color: Blue;">forEach</span><span style="color: Olive;">(</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">fn</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span></li>
<li><span style="color: Teal;">Array</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;">.</span><span style="color: Blue;">map</span><span style="color: Olive;">(</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">fn</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span></li></ol></div>
<p>MDC文档：<a target="_blank"  href="https://developer.mozilla.org/en/New_in_JavaScript_1.6#Array_extras">https://developer.mozilla.org/en/New_in_JavaScript_1.6#Array_extras</a></p>
<p><strong style="color:#ff6600;">支持：Firefox2.0+, Safari 3.0+, Google Chrome 1.0+, Opera 9.5+</strong><br />
<strong style="color:#ff6600;">替代/过渡：都可以通过扩展Array.prototype来模拟</strong><br />
<br/></p>
<h3>ECMAScript 5  isArray()</h3>
<p>区分数组和对象</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Teal;">Array</span><span style="color: Gray;">.</span><span style="color: Blue;">isArray</span><span style="color: Olive;">([])</span><span style="color: Gray;">; </span><span style="color: #ffa500;">// true</span></li></ol></div>
<p><strong style="color:#ff6600;">支持：无</strong><br />
<strong style="color:#ff6600;">替代/过渡：Array.isArray = function(a){ return Object.prototype.toString.call(a) === &#8220;[object Array]&#8220;;};</strong><br />
<br/></p>
<h3>ECMAScript 5  Object</h3>
<p>用GOOGLE I/O演讲里的话来说：更鲁棒(robust)的对象系统<br />
<br/></p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">Object</span><span style="color: Gray;">.</span><span style="color: Blue;">getPrototypeOf</span><span style="color: Olive;">(</span><span style="color: Gray;"> </span><span style="color: Blue;">obj</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span></li></ol></div>
<p>约翰同学的讲解：<a target="_blank"  href="http://ejohn.org/blog/objectgetprototypeof/">http://ejohn.org/blog/objectgetprototypeof/</a></p>
<p><strong style="color:#ff6600;">支持：Firefox3.5</strong><br />
<strong style="color:#ff6600;">替代/过渡：object.__proto__ 或 object.constructor.prototype</strong><br />
<br/></p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">Object</span><span style="color: Gray;">.</span><span style="color: Blue;">create</span><span style="color: Olive;">(</span><span style="color: Gray;"> </span><span style="color: Blue;">proto</span><span style="color: Gray;">, </span><span style="color: Blue;">props</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: #ffa500;">//克隆或继承对象</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">Object</span><span style="color: Gray;">.</span><span style="color: Blue;">keys</span><span style="color: Olive;">(</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">obj</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: #ffa500;">//数据结构的映射</span></li>
<li><span style="color: Blue;">Object</span><span style="color: Gray;">.</span><span style="color: Blue;">getOwnPropertyNames</span><span style="color: Olive;">(</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">obj</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">Object</span><span style="color: Gray;">.</span><span style="color: Blue;">preventExtensions</span><span style="color: Olive;">(</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">obj</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: #ffa500;">//不能添加新属性</span></li>
<li><span style="color: Blue;">Object</span><span style="color: Gray;">.</span><span style="color: Blue;">isExtensible</span><span style="color: Olive;">(</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">obj</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">Object</span><span style="color: Gray;">.</span><span style="color: Blue;">seal</span><span style="color: Olive;">(</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">obj</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: #ffa500;">//不能删除和修改属性的配置，不能添加新属性</span></li>
<li><span style="color: Blue;">Object</span><span style="color: Gray;">.</span><span style="color: Blue;">isSealed</span><span style="color: Olive;">(</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">obj</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span></li>
<li><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">Object</span><span style="color: Gray;">.</span><span style="color: Blue;">freeze</span><span style="color: Olive;">(</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">obj</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: #ffa500;">//不能删除和修改属性的配置，不能添加新属性，不能写属性</span></li>
<li><span style="color: Blue;">Object</span><span style="color: Gray;">.</span><span style="color: Blue;">isFrozen</span><span style="color: Olive;">(</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">obj</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span></li></ol></div>
<p>约翰同学的讲解：<a target="_blank"  href="http://ejohn.org/blog/ecmascript-5-objects-and-properties/">http://ejohn.org/blog/ecmascript-5-objects-and-properties/</a></p>
<p><strong style="color:#ff6600;">支持：无</strong><br />
<strong style="color:#ff6600;">替代/过渡：Object.create和Object.keys可以自己实现</strong><br />
<br/></p>
<h3>ECMAScript 5 Property Descriptor</h3>
<p>对象属性的访问控制</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">Object</span><span style="color: Gray;">.</span><span style="color: Blue;">getOwnPropertyDescriptor</span><span style="color: Olive;">(</span><span style="color: Gray;"> </span><span style="color: Blue;">obj</span><span style="color: Gray;">, </span><span style="color: Blue;">prop</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span></li>
<li><span style="color: Blue;">Object</span><span style="color: Gray;">.</span><span style="color: Blue;">defineProperty</span><span style="color: Olive;">(</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">obj</span><span style="color: Gray;">, </span><span style="color: Blue;">prop</span><span style="color: Gray;">, </span><span style="color: Blue;">desc</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span></li>
<li><span style="color: Blue;">Object</span><span style="color: Gray;">.</span><span style="color: Blue;">defineProperties</span><span style="color: Olive;">(</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">obj</span><span style="color: Gray;">, </span><span style="color: Blue;">props</span><span style="color: Gray;"> </span><span style="color: Olive;">)</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Blue;">desc</span><span style="color: Gray;"> = </span><span style="color: Olive;">{</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Blue;">value</span><span style="color: Gray;">: </span><span style="color: Green;">true</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Blue;">writable</span><span style="color: Gray;">: </span><span style="color: Green;">false</span><span style="color: Gray;">, </span><span style="color: #ffa500;">//修改</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Blue;">enumerable</span><span style="color: Gray;">: </span><span style="color: Green;">true</span><span style="color: Gray;">, </span><span style="color: #ffa500;">//for in</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Blue;">configurable</span><span style="color: Gray;">: </span><span style="color: Green;">true</span><span style="color: Gray;">, </span><span style="color: #ffa500;">//删除和修改属性</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Blue;">get</span><span style="color: Gray;">: </span><span style="color: Green;">function</span><span style="color: Olive;">(){</span><span style="color: Gray;">&nbsp;</span><span style="color: Green;">return</span><span style="color: Gray;"> </span><span style="color: Blue;">name</span><span style="color: Gray;">; </span><span style="color: Olive;">}</span><span style="color: Gray;">,</span></li>
<li><span style="color: Gray;">&nbsp; &nbsp;&nbsp; </span><span style="color: Blue;">set</span><span style="color: Gray;">: </span><span style="color: Green;">function</span><span style="color: Olive;">(</span><span style="color: Blue;">value</span><span style="color: Olive;">){</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">name</span><span style="color: Gray;"> = </span><span style="color: Blue;">value</span><span style="color: Gray;">; </span><span style="color: Olive;">}</span></li>
<li><span style="color: Olive;">}</span></li></ol></div>
<p>约翰同学的讲解：<a target="_blank"  href="http://ejohn.org/blog/ecmascript-5-objects-and-properties/">http://ejohn.org/blog/ecmascript-5-objects-and-properties/</a></p>
<p><strong style="color:#ff6600;">支持：无</strong><br />
<strong style="color:#ff6600;">替代/过渡：Object.defineProperties其实相当于jQuery.extend，用来实现Mixin</strong><br />
<br/></p>
<h3>ECMAScript 5 Getters and Setters</h3>
<p>python和ruby里都有的属性访问方法</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">obj</span><span style="color: Gray;"> = </span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Blue;">get</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">innerHTML</span><span style="color: Olive;">()</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"> </span><span style="color: Green;">return</span><span style="color: Gray;"> …; </span><span style="color: Olive;">}</span><span style="color: Gray;">, </span></li>
<li><span style="color: Gray;">&nbsp;&nbsp; </span><span style="color: Blue;">set</span><span style="color: Gray;">&nbsp;</span><span style="color: Blue;">innerHTML</span><span style="color: Olive;">(</span><span style="color: Blue;">newHTML</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{</span><span style="color: Gray;"> … </span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp;</span></li>
<li><span style="color: Olive;">}</span><span style="color: Gray;">;</span></li></ol></div>
<p>MDC文档：<a target="_blank"  href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Creating_New_Objects/Defining_Getters_and_Setters">https://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/Creating_New_Objects/Defining_Getters_and_Setters</a></p>
<p><strong style="color:#ff6600;">支持：Firefox 2.0+, Safari 3.0+, Google Chrome 1.0+, Opera 9.5+</strong><br />
<strong style="color:#ff6600;">替代/过渡：</strong></p>
<p>非标准，Firefox1.5里的旧方法</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">HTMLElement</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;">.</span><span style="color: Blue;">__defineGetter__</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">innerHTML</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Olive;">()</span><span style="color: Gray;"> </span><span style="color: Olive;">{})</span><span style="color: Gray;">;</span></li>
<li><span style="color: Blue;">HTMLElement</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;">.</span><span style="color: Blue;">__defineSetter__</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">innerHTML</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: Green;">function</span><span style="color: Gray;">&nbsp;</span><span style="color: Olive;">(</span><span style="color: Blue;">val</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: Olive;">{})</span><span style="color: Gray;">;</span></li></ol></div>
<p><strong style="color:#ff6600;">支持：Firefox 2.0+, Safari 3.0+, Google Chrome 1.0+, Opera 9.5+</strong></p>
<p>标准</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Blue;">Object</span><span style="color: Gray;">.</span><span style="color: Blue;">defineProperty</span><span style="color: Olive;">(</span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">body</span><span style="color: Gray;">, </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">innerHTML</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: Olive;">{</span><span style="color: Gray;"> </span><span style="color: Blue;">get</span><span style="color: Gray;"> : </span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Olive;">()</span><span style="color: Gray;"> </span><span style="color: Olive;">{}</span><span style="color: Gray;"> </span><span style="color: Olive;">})</span><span style="color: Gray;">;</span></li></ol></div>
<p>MSDN文档：<a target="_blank"  href="http://msdn.microsoft.com/en-us/library/dd229916(VS.85).aspx">http://msdn.microsoft.com/en-us/library/dd229916(VS.85).aspx</a></p>
<p><strong style="color:#ff6600;">支持：IE8+ (只能对DOM使用)</strong><br />
<br/></p>
<h3>ECMAScript 5 Strict Mode</h3>
<p>ES5的严格模式，删除了旧版本中容易引起问题的元素，并且会显式的报错，方便调试</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: #8b0000;">&quot;</span><span style="color: Red;">use strict</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">; </span><span style="color: #ffa500;">//以下情况下抛出异常</span></li>
<li><span style="color: #ffa500;">//对未定义的变量赋值</span></li>
<li><span style="color: #ffa500;">//操作被设置为不可写，不可配置或不可扩充的属性</span></li>
<li><span style="color: #ffa500;">//删除变量，函数，参数</span></li>
<li><span style="color: #ffa500;">//在对象直接量里重复定义属性</span></li>
<li><span style="color: #ffa500;">//eval做关键字，在eval的字符串里定义变量</span></li>
<li><span style="color: #ffa500;">//覆写arguments</span></li>
<li><span style="color: #ffa500;">//使用arguments.caller和arguments.callee（匿名函数必须具名才能引用自己）</span></li>
<li><span style="color: #ffa500;">//(function(){ ... }).call( null ); // Exception </span></li>
<li><span style="color: #ffa500;">//使用with</span></li></ol></div>
<p>约翰同学的讲解：<a target="_blank"  href="http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/">http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/</a></p>
<p><strong style="color:#ff6600;">支持：无</strong><br />
<strong style="color:#ff6600;">替代/过渡：……从现在开始养成严谨的编程习惯</strong><br />
<br/></p>
<h3>ECMAScript 5 其他新特性</h3>
<p>传递函数的引用时，绑定this</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Teal;">Function</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;">.</span><span style="color: Blue;">bind</span><span style="color: Olive;">(</span><span style="color: Blue;">thisArg</span><span style="color: Gray;">, </span><span style="color: Blue;">arg1</span><span style="color: Gray;">, </span><span style="color: Blue;">arg2</span><span style="color: Gray;">....</span><span style="color: Olive;">)</span><span style="color: Gray;"> </span><span style="color: #8b0000;">/</span></li></ol></div>
<p><strong style="color:#ff6600;">支持：无</strong><br />
<strong style="color:#ff6600;">替代/过渡：prototype <a target="_blank"  href="http://www.prototypejs.org/api/function/bind">http://www.prototypejs.org/api/function/bind</a></strong></p>
<p>ISO-formatted dates</p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Teal;">Date</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;">.</span><span style="color: Blue;">toISOString</span><span style="color: Olive;">()</span><span style="color: Gray;"> </span><span style="color: #ffa500;">// Prints 2009-05-21T16:06:05.000TZ</span></li></ol></div>
<p><strong style="color:#ff6600;">支持：无</strong><br />
<strong style="color:#ff6600;">替代/过渡：datejs <a target="_blank"  href="http://code.google.com/p/datejs/">http://code.google.com/p/datejs/</a></strong></p>
<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Teal;">String</span><span style="color: Gray;">.</span><span style="color: Blue;">prototype</span><span style="color: Gray;">.</span><span style="color: Blue;">trim</span><span style="color: Olive;">()</span></li></ol></div>
<p><strong style="color:#ff6600;">支持：Firefox3.5</strong><br />
<strong style="color:#ff6600;">替代/过渡：各种正则实现 <a target="_blank"  href="http://blog.stevenlevithan.com/archives/faster-trim-javascript">http://blog.stevenlevithan.com/archives/faster-trim-javascript</a></strong><br />
<br/><br />
===================废话又开始的分割线=======================</p>
<p>其实我把这个东西发出来是希望能促进创新的氛围，让更多人认识到很多新技术已经进入到“实用”阶段。</p>
<p>如果只是想做个实验性的webgame，或是只能用于特定平台的应用（比如iphone，greasemonkey），firefox3.5+webkit的支持就已经足够罢。</p>
<p>如果不能无视主流平台，有很多技术能让你gracefully degrade（优雅的退化）或者选取不同的方法实现兼容的接口。</p>
<p>如果你等不及IE x在若干年后实现xx，希望提前享受福利，有些技术的设计原则就是让你能在没有native支持的情况下可以自己实现一模一样的功能或语法糖（syntactic sugar），比如ES5对象的继承和访问控制，从ES4/ActionScript3时期那些老土的关键词（class extands private static）改成了Object.create(p, attrs).defineProperty(o, n, attrs).defineProperties(o, attrs).freeze().getOwnPropertyNames().map(fn)，不会只是为了酷炫罢……</p>
<p>很多人都喜欢抱怨“我这辈子都没机会用HTML5”，但是只要把视线从自己脚下那巴掌大块地移开看看别处，会发现世界其实一直都在改变喔XD</p>
]]></content:encoded>
			<wfw:commentRss>http://www.limboy.com/2009/06/29/html5-css3-es5-support/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>每个成功的社区背后都有一个教主——评solidot的浏览器连接数事件</title>
		<link>http://www.limboy.com/2009/02/08/troll_in_solidot/</link>
		<comments>http://www.limboy.com/2009/02/08/troll_in_solidot/#comments</comments>
		<pubDate>Sun, 08 Feb 2009 09:05:00 +0000</pubDate>
		<dc:creator>Dexter.Yy</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[kuso]]></category>
		<category><![CDATA[科技]]></category>
		<category><![CDATA[纯水]]></category>
		<category><![CDATA[网络]]></category>

		<guid isPermaLink="false">http://www.limboy.com/2009/02/08/troll_in_solidot/</guid>
		<description><![CDATA[我就一直很羡慕国外技术社区reddit和slashdot的评论，无论数量还是质量，无论趣味性还是信息含量，都让国内的网站相形见绌——先声明一下我绝对没有拿国内评论方面最火的cnbeta来比较喔，它们看上去根本不属于同一个位面……
我也经常看国内的solidot，时间长了都能猜出某篇文章会不会有评论，从google reader里点过去看，命中率相当高，这些文章通常就涉及那么几个话题，比如操作系统，比如国内it企业的丑闻，比如抨击zf针砭时弊，这种现象很好理解喔，毕竟年纪大点的人都更关心跟自己生活关系紧密的东西，而且这些话题的门槛也比较低，对国内网民来说，太geek的东西相当于太阳春白雪，应者寥寥，那是宿命～
但是今天我对solidot的印象大为改观！就在我下午昏昏欲睡不抱期望的点开一个帖子之后，意外的发现了非常娱乐非常有信息量的评论——说的更直接点，是发现了一个有教主潜质的用户：cuthead。这位老爷必将拯救solidot！实际上他如果不在技术圈混，转战天涯S1之类的地方，定能跻身年度强者哑！
你可以按照我的阅读顺序来观摩这个从1月16日发展到前天的，非常戏剧性的事件：
1，solidot《BT大站海盗湾提供下载者地理分布图》, 从lark的评论#32105和cuthead的回复#32111开始
2，moztw论坛《Firefox并发连接数限制是针对网址还是针对服务器IP？》，看到台湾的Dark Shenada的第一个回复和cuthead的反应为止
3，solidot 《Ubuntu下的网速快过XP》，从#31504开始～
4，贴吧《firefox 连接数限制分析》，看完这个再回头来继续看moztw论坛《Firefox并发连接数限制是针对网址还是针对服务器IP？》
好罢其实真正的时间顺序是3,2,1,4……
下面按照时间顺序收集cuthead老爷的语录——不好意思这是教主的传统待遇了，旧习惯改不了……
教主找茬：
我以前的评论有没有犯过这么明显的错误？
教主既淡定又超然：

没意思，我不是给你出脑筋急转弯那个初级阶段了，我是向你赔礼道歉来了！三年了，在这个世界上最对不起的人就是范厨师，多么好的人，我常跟你们说，你说我忽悠他干啥？多么忠厚老实！你打我两下，你下不去手，你骂我两句，你张不开嘴，这样，反正你原谅我也来了，不原谅我也来了，原谅不原谅我都带着诚意铺面而来地！
教主讲解技术：
浏览器连接同一个服务器默认最大连接数不超过10，所以这个限制对网页浏览的影响是0。这也是为什么微软要把TCP并发连接设为10的原因。
教主又超然了：
哈哈，当某些人不喜欢夹着尾巴做人的时候，我也要把尾巴露出来，这是人类的一项本能。
教主愤青了：
你的最后一句话恰恰阐明了我为什么喜欢攻击你们这些语文爱好者。每一个玩文字游戏的人遇到我都应该学会哭泣，我恨所有的现代文学。就像你和那个normalsb,一个喜欢扩写，一个喜欢鸡蛋挑骨头。扩写也就扩写好了，一点新意和技术含量也没有。另一个normalsb更是搞笑，我说浏览器连接同一个服务器默认最大连接数不超过10，他跟我扯子域名和主域名绑定IP可以不同。你们这些牵强的说一些驴唇不对马嘴的废话的scum的存在只能证明一件事情，我的逻辑天衣无缝。另外奉劝你们，这里是solidot，不是电脑城，不要把扯淡的一套拿到这里来和我讨论那些毫无用处的过家家，如果你们真的喜欢废话，这些就是我送你们的压岁钱。
教主急了：
你觉得你水平能赶上我吗？
如果我没错你诬蔑我错的话，我要你的人头落地，你敢跟我打这个赌吗？你还有脸说废话，normalsb也犯了一个明显的错误却不自知。我不知道你们这些扯淡流的话是自己胡编出来还是跟哪个更扯淡的大虾鹦鹉学舌而来，但我的话在网上都可以找到根据。我说浏览器连接同一个服务器默认最大连接数不超过10，我这句话就撂这里了，谁敢用论据反驳？
教主寻求支援：
我多年一直有一個疑問，Firefox並發連接數限制是針對網址還是針對服務器IP？官方網站說的也不清不楚。 
教主觉得mozilla忒傻X怎么搞出这样的命名：
並發連接數是否會超過此参数的限制？ 如果是的話，證明此此参数是用來限制域名的。 但這個參數後面跟的是server而不是site
教主急着等米下锅：
这咋还没人回复呢，是不是大家认为我比较菜所以不屑于回答？其实我也是一个Linux资深用户，刚刚用Windows只是临时的。大家看我帖子底下就全明白了
教主看到想象中的大牛赶紧拍马：
高手，感謝Dark Shenada。看您頭像就知道您不簡單，您的大作我一定會仔細閱讀的。我閱讀英語有輕微障礙，經常需要使用翻譯單詞的bookmarklet，所以 lwn.net這個網站我貌似Delicious過，不過確實沒仔細看。其實我是一個Linux菜鳥，經常被Linux某些難題難住。你也知道在大陸人人都很喜歡裝，我把這壞毛病帶到這裡了。 (也有開玩笑的意思)。當時發帖比較著急所以沒注意字裡行間的問題。 大陸一個人發帖說Firefox是根據網址來限制連接數。我當時很氣憤這人睜眼說瞎話。
拿到“台湾人”的令牌后，教主回来了：
举不出实例就是举不出实例，我特意发到台湾论坛上去了，台湾人说了我是正确的 [moztw.org]。建议你以后说话最好带上良心。哥们我这次放过你，但不代表我认可你令人恶心的行为。你只是在说一些你自己编造的谎言罢了。
教主要求检方举证：
你如果能提供Firefox是根据域名限制并发连接数的英文参考文章链接我就真服了你
教主突然变成“语文爱好者”：
这不是一个链接吧？
教主欣欣然的在其他地方继续找茬：
摆脱你怎么又写出这么多垃圾信息啊？谁问你了？以后你想写垃圾信息麻烦请在地址栏输入 http://tieba.baidu.com/ [baidu.com]
教主得理不饶人：
另外你那个连接数问题，我特意发到台湾论坛上去了，台湾人说了我是正确的 [moztw.org]。建议你以后说话最好带上良心。哥们我这次放过你，但不代表我认可你令人恶心的行为。你如果不是一个程序员就不要指望我以程序员态度对你。
对于之后moztw论坛上的戏剧性发展，教主暂时还没有表示影响不大……
必须承认我实在是太喜欢教主这种时而超然时而愤世嫉俗从不透露真才实学却又不容质疑非常理直气壮非常troll的语气了！

====================论事不论人的分割线======================

另外从这个话题本身来说，我还发现了一个很有趣的差异性：浏览器的连接数限制这个东西是web前端优化里最重要的知识，但是跟这些C/C++程序员不同，多数“前端工程师”都不会对“浏览器根据域名来限制连接数”有任何疑问，更不会像lark这样去看firefox源码来验证，因为……这，这可是“标准”耶！我们只认W3C和IETF的唷！-___-b 
……不过，RFC2612上对“server”的解释，教主老爷真的需要看一下，server并非实体的服务器也并非具体的website，抽象层面没有那么低，其实只是代指一种接受http request返回http response的应用程序而已：
server
An application program that accepts connections in order to service requests by sending back responses. Any given program may be capable of being both a client and a server; our use of these terms refers only [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.limboy.com/2009/02/08/troll_in_solidot/mountaintroll1jpg/" rel="attachment wp-att-220" title="mountaintroll1.jpg"><img src="http://www.limboy.com/wp-content/uploads/2009/02/mountaintroll1.jpg" style="border:0;margin: 0pt 6px 0pt 0pt; width: 210px; float: left;" /></a>我就一直很羡慕国外技术社区<a href="http://www.reddit.com/r/programming/" target="_blank">reddit</a>和<a href="http://slashdot.org/" target="_blank">slashdot</a>的评论，无论数量还是质量，无论趣味性还是信息含量，都让国内的网站相形见绌——先声明一下我绝对没有拿国内评论方面最火的<a href="http://www.cnbeta.com/" target="_blank">cnbeta</a>来比较喔，它们看上去根本不属于同一个位面……</p>
<p>我也经常看国内的<a href="http://www.solidot.org" target="_blank">solidot</a>，时间长了都能猜出某篇文章会不会有评论，从google reader里点过去看，命中率相当高，这些文章通常就涉及那么几个话题，比如操作系统，比如国内it企业的丑闻，比如抨击zf针砭时弊，这种现象很好理解喔，毕竟年纪大点的人都更关心跟自己生活关系紧密的东西，而且这些话题的门槛也比较低，对国内网民来说，太geek的东西相当于太阳春白雪，应者寥寥，那是宿命～</p>
<p>但是今天我对solidot的印象大为改观！就在我下午昏昏欲睡不抱期望的点开一个帖子之后，意外的发现了非常娱乐非常有信息量的评论——说的更直接点，是发现了一个有<a href="http://baike.baidu.com/view/302987.htm" target="_blank">教主潜质</a>的用户<span id="more-221"></span>：cuthead。这位老爷必将拯救solidot！实际上他如果不在技术圈混，转战天涯S1之类的地方，定能跻身年度强者哑！</p>
<p>你可以按照我的阅读顺序来观摩这个从1月16日发展到前天的，非常戏剧性的事件：</p>
<p>1，<a target="_blank" href="http://internet.solidot.org/article.pl?sid=09/02/05/0435224">solidot《BT大站海盗湾提供下载者地理分布图》</a>, 从lark的评论<a target="_blank" href="http://internet.solidot.org/comments.pl?sid=10577&amp;cid=32105">#32105</a>和cuthead的回复<a target="_blank" href="http://internet.solidot.org/comments.pl?sid=10577&amp;cid=32111">#32111</a>开始<br />
2，<a target="_blank" href="http://forum.moztw.org/viewtopic.php?p=142208">moztw论坛《Firefox并发连接数限制是针对网址还是针对服务器IP？》</a>，看到台湾的Dark Shenada的第一个回复和cuthead的反应为止<br />
3，<a target="_blank" href="http://linux.solidot.org/article.pl?sid=09/01/16/066258">solidot 《Ubuntu下的网速快过XP》</a>，从<a target="_blank" href="http://linux.solidot.org/comments.pl?sid=10338&amp;cid=31504">#31504</a>开始～<br />
4，<a href="http://tieba.baidu.com/f?kz=535393925" target="_blank">贴吧《firefox 连接数限制分析》</a>，看完这个再回头来继续看<a target="_blank" href="http://forum.moztw.org/viewtopic.php?p=142208">moztw论坛《Firefox并发连接数限制是针对网址还是针对服务器IP？》</a></p>
<p>好罢其实真正的时间顺序是3,2,1,4……</p>
<p>下面按照时间顺序收集cuthead老爷的语录——不好意思这是教主的传统待遇了，旧习惯改不了……</p>
<p>教主找茬：</p>
<blockquote><p>我以前的评论有没有犯过这么明显的错误？</p></blockquote>
<p>教主既淡定又超然：</p>
<blockquote><p>
没意思，我不是给你出脑筋急转弯那个初级阶段了，我是向你赔礼道歉来了！三年了，在这个世界上最对不起的人就是范厨师，多么好的人，我常跟你们说，你说我忽悠他干啥？多么忠厚老实！你打我两下，你下不去手，你骂我两句，你张不开嘴，这样，反正你原谅我也来了，不原谅我也来了，原谅不原谅我都带着诚意铺面而来地！</p></blockquote>
<p>教主讲解技术：</p>
<blockquote><p>浏览器连接同一个服务器默认最大连接数不超过10，所以这个限制对网页浏览的影响是0。这也是为什么微软要把TCP并发连接设为10的原因。</p></blockquote>
<p>教主又超然了：</p>
<blockquote><p>哈哈，当某些人不喜欢夹着尾巴做人的时候，我也要把尾巴露出来，这是人类的一项本能。</p></blockquote>
<p>教主愤青了：</p>
<blockquote><p>你的最后一句话恰恰阐明了我为什么喜欢攻击你们这些语文爱好者。每一个玩文字游戏的人遇到我都应该学会哭泣，我恨所有的现代文学。就像你和那个normalsb,一个喜欢扩写，一个喜欢鸡蛋挑骨头。扩写也就扩写好了，一点新意和技术含量也没有。另一个normalsb更是搞笑，我说浏览器连接同一个服务器默认最大连接数不超过10，他跟我扯子域名和主域名绑定IP可以不同。你们这些牵强的说一些驴唇不对马嘴的废话的scum的存在只能证明一件事情，我的逻辑天衣无缝。另外奉劝你们，这里是solidot，不是电脑城，不要把扯淡的一套拿到这里来和我讨论那些毫无用处的过家家，如果你们真的喜欢废话，这些就是我送你们的压岁钱。</p></blockquote>
<p>教主急了：</p>
<blockquote><p>你觉得你水平能赶上我吗？</p>
<p>如果我没错你诬蔑我错的话，我要你的人头落地，你敢跟我打这个赌吗？你还有脸说废话，normalsb也犯了一个明显的错误却不自知。我不知道你们这些扯淡流的话是自己胡编出来还是跟哪个更扯淡的大虾鹦鹉学舌而来，但我的话在网上都可以找到根据。我说浏览器连接同一个服务器默认最大连接数不超过10，我这句话就撂这里了，谁敢用论据反驳？</p></blockquote>
<p>教主寻求支援：</p>
<blockquote><p>我多年一直有一個疑問，Firefox並發連接數限制是針對網址還是針對服務器IP？官方網站說的也不清不楚。 </p></blockquote>
<p>教主觉得mozilla忒傻X怎么搞出这样的命名：</p>
<blockquote><p>並發連接數是否會超過此参数的限制？ 如果是的話，證明此此参数是用來限制域名的。 但這個參數後面跟的是server而不是site</p></blockquote>
<p>教主急着等米下锅：</p>
<blockquote><p>这咋还没人回复呢，是不是大家认为我比较菜所以不屑于回答？其实我也是一个Linux资深用户，刚刚用Windows只是临时的。大家看我帖子底下就全明白了</p></blockquote>
<p>教主看到想象中的大牛赶紧拍马：</p>
<blockquote><p>高手，感謝Dark Shenada。看您頭像就知道您不簡單，您的大作我一定會仔細閱讀的。我閱讀英語有輕微障礙，經常需要使用翻譯單詞的bookmarklet，所以 lwn.net這個網站我貌似Delicious過，不過確實沒仔細看。其實我是一個Linux菜鳥，經常被Linux某些難題難住。你也知道在大陸人人都很喜歡裝，我把這壞毛病帶到這裡了。 (也有開玩笑的意思)。當時發帖比較著急所以沒注意字裡行間的問題。 大陸一個人發帖說Firefox是根據網址來限制連接數。我當時很氣憤這人睜眼說瞎話。</p></blockquote>
<p>拿到“台湾人”的令牌后，教主回来了：</p>
<blockquote><p>举不出实例就是举不出实例，我特意发到台湾论坛上去了，台湾人说了我是正确的 [moztw.org]。建议你以后说话最好带上良心。哥们我这次放过你，但不代表我认可你令人恶心的行为。你只是在说一些你自己编造的谎言罢了。</p></blockquote>
<p>教主要求检方举证：</p>
<blockquote><p>你如果能提供Firefox是根据域名限制并发连接数的英文参考文章链接我就真服了你</p></blockquote>
<p>教主突然变成“语文爱好者”：</p>
<blockquote><p>这不是一个链接吧？</p></blockquote>
<p>教主欣欣然的在其他地方继续找茬：</p>
<blockquote><p>摆脱你怎么又写出这么多垃圾信息啊？谁问你了？以后你想写垃圾信息麻烦请在地址栏输入 http://tieba.baidu.com/ [baidu.com]</p></blockquote>
<p>教主得理不饶人：</p>
<blockquote><p>另外你那个连接数问题，我特意发到台湾论坛上去了，台湾人说了我是正确的 [moztw.org]。建议你以后说话最好带上良心。哥们我这次放过你，但不代表我认可你令人恶心的行为。你如果不是一个程序员就不要指望我以程序员态度对你。</p></blockquote>
<p>对于之后moztw论坛上的戏剧性发展，教主暂时还没有表示影响不大……</p>
<p>必须承认我实在是太喜欢教主这种时而超然时而愤世嫉俗从不透露真才实学却又不容质疑非常理直气壮非常<a href="http://en.wikipedia.org/wiki/Internet_troll" target="_blank">troll</a>的语气了！<br />
<br/><br/><br />
====================论事不论人的分割线======================<br />
<br/><br />
另外从这个话题本身来说，我还发现了一个很有趣的差异性：浏览器的连接数限制这个东西是<a target="_blank" href="http://developer.yahoo.com/performance/rules.html#num_http">web前端优化</a>里最重要的知识，但是跟这些C/C++程序员不同，多数“前端工程师”都不会对“浏览器根据域名来限制连接数”有任何疑问，更不会像lark这样去看firefox源码来验证，因为……这，这可是“标准”耶！我们只认W3C和IETF的唷！-___-b </p>
<p>……不过，<a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec1.html#sec1.1" target="_blank">RFC2612上对“server”的解释</a>，教主老爷真的需要看一下，server并非实体的服务器也并非具体的website，抽象层面没有那么低，其实只是代指一种接受http request返回http response的应用程序而已：</p>
<blockquote><p>server</p>
<p>An application program that accepts connections in order to service requests by sending back responses. Any given program may be capable of being both a client and a server; our use of these terms refers only to the role being performed by the program for a particular connection, rather than to the program&#8217;s capabilities in general. Likewise, any server may act as an origin server, proxy, gateway, or tunnel, switching behavior based on the nature of each request.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.limboy.com/2009/02/08/troll_in_solidot/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Mozilla的中文译名太可笑了！</title>
		<link>http://www.limboy.com/2007/06/03/mozilla/</link>
		<comments>http://www.limboy.com/2007/06/03/mozilla/#comments</comments>
		<pubDate>Sun, 03 Jun 2007 04:30:12 +0000</pubDate>
		<dc:creator>Dexter.Yy</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[土豆网]]></category>

		<guid isPermaLink="false">http://www.limboy.com/2007/06/03/mozilla/</guid>
		<description><![CDATA[Mozilla中国终于要正式成立了，前几天的消息是Windows Live中国区前任总经理宫力（也是前任Sun公司中国工程研究院院长）将担任Mozilla中国的董事长兼CEO，今天在他的BLOG上看到进一步的消息：在中国成立的公司名叫Mozilla Online Ltd，而中文译名是谋智网络！ 全称：Beijing Mou-Zhi Network Technologies Ltd.（北京谋智网络技术有限公司）…………
这个名字让我很郁闷，本来mozilla这个名字来源于“哥斯拉（Gozilla）”和Mosaic（第一个可以显示图片的浏览器，Netscape的前身），LOGO上的图案也是一个类似恐龙的怪物，中文就应该译成“魔斯拉”哑！“魔斯拉在线”，多么华丽！多么强势！现在居然起了一个跟谷歌差不多风格的名字……真是作孽哑……
这次在北京举办的Google开发者日活动里，除了发布Google Gears，也邀请了Mozilla负责研发的副总裁Mike Schroepfer，solidot的记者对他做了采访，从笔录里可以看到，firefox在中国的占有率只有1%，远远落后于西方国家，要改善这样的状况，我觉得Mozilla必须在两个方面做大量工作，一方面是针对开发者，中国WEB开发者的整体素质明显偏低，Mozilla不仅应该致力于推广标准，也应该跟国内的开发社区加强沟通，比如51js（我在这个地方看帖无法坚持5分钟以上，否则会憋出病）。另一方面，应该研究一下“中国国情”，调查一下中国特殊的用户需求，推出适合中国小白用户的firefox套件/定制版，包括必要的扩展和初始设置。当然也要在用户中提高能见度和影响力，即使不做市场推广，我觉得也应该起一个响亮的名字……
说到中国的浏览器用户，我想起上周在开发中遇到的一个小任务，土豆网需要在首页和搜索页面临时增加一个调查表单，设计人员给的是一种很传统的小窗口，所以便做成一个固定在右下角的浮动层，在Maxthon里测试时，发现这个层会被当作广告过滤掉——随着滚动条移动几次之后，便毫无缘由的消失。判断的依据似乎是：absolute定位的层，且里面包含a标签（多么傻X的规则），于是去请示负责产品的Hans大人，他答复：先不用管Maxthon，给我确保腾讯浏览器里能正常显示……我差点晕倒。我还没看过土豆网的用户统计，如果按照Mike Schroepfer的“10％理论”，Maxthon的占有率居然低到可以忽略，而腾讯浏览器的用户高于10%……这实在太可怕了，虽然以前就知道像土豆网这样的视频网站，在中国的用户会比较低端比较小白，不过现在发现要真正理解国内的用户，我还有很多功课要做……
]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.limboy.com/wp-content/uploads/2007/06/mozilla.gif' title='mozilla.gif'><img src='http://www.limboy.com/wp-content/uploads/2007/06/mozilla.gif' alt='mozilla.gif' style="float:left;width:150px;margin:0 10px 0 0;" /></a>Mozilla中国终于要正式成立了，前几天的消息是Windows Live中国区前任总经理宫力（也是前任Sun公司中国工程研究院院长）将担任Mozilla中国的董事长兼CEO，今天在<a href="http://blog.mozilla.com/ligong/2007/05/31/bootstrapping-in-china/">他的BLOG</a>上看到进一步的消息：在中国成立的公司名叫Mozilla Online Ltd，而中文译名是<strong>谋智网络</strong>！ 全称：Beijing Mou-Zhi Network Technologies Ltd.（北京谋智网络技术有限公司）…………</p>
<p>这个名字让我很郁闷，本来mozilla这个名字来源于“哥斯拉（Gozilla）”和Mosaic（第一个可以显示图片的浏览器，Netscape的前身），LOGO上的图案也是一个类似恐龙的怪物，中文就应该译成“<strong>魔斯拉</strong>”哑！“<strong>魔斯拉在线</strong>”，多么华丽！多么强势！现在居然起了一个跟谷歌差不多风格的名字……真是作孽哑……<span id="more-136"></span></p>
<p>这次在北京举办的<a href="http://code.google.com/events/developerday/cn-home.html">Google开发者日</a>活动里，除了发布Google Gears，也邀请了Mozilla负责研发的副总裁Mike Schroepfer，solidot的记者对他做了<a href="http://software.solidot.org/article.pl?sid=07/05/30/1018256&#038;tid=39">采访</a>，从<a href="http://software.solidot.org/article.pl?sid=07/06/01/0037248&#038;from=rss">笔录</a>里可以看到，firefox在中国的占有率只有1%，远远落后于西方国家，要改善这样的状况，我觉得Mozilla必须在两个方面做大量工作，一方面是针对开发者，中国WEB开发者的整体素质明显偏低，Mozilla不仅应该致力于推广标准，也应该跟国内的开发社区加强沟通，比如<a href="http://bbs.51js.com/forum-1-1.html">51js</a>（我在这个地方看帖无法坚持5分钟以上，否则会憋出病）。另一方面，应该研究一下“中国国情”，调查一下中国特殊的用户需求，推出适合中国小白用户的firefox套件/定制版，包括必要的扩展和初始设置。当然也要在用户中提高能见度和影响力，即使不做市场推广，我觉得也应该起一个响亮的名字……</p>
<p>说到中国的浏览器用户，我想起上周在开发中遇到的一个小任务，土豆网需要在首页和搜索页面临时增加一个调查表单，设计人员给的是一种很传统的小窗口，所以便做成一个固定在右下角的浮动层，在Maxthon里测试时，发现这个层会被当作广告过滤掉——随着滚动条移动几次之后，便毫无缘由的消失。判断的依据似乎是：absolute定位的层，且里面包含a标签（多么傻X的规则），于是去请示负责产品的Hans大人，他答复：先不用管Maxthon，给我确保腾讯浏览器里能正常显示……我差点晕倒。我还没看过土豆网的用户统计，如果按照Mike Schroepfer的<a href="http://software.solidot.org/article.pl?sid=07/06/01/0037248&#038;from=rss">“10％理论”</a>，Maxthon的占有率居然低到可以忽略，而腾讯浏览器的用户高于10%……这实在太可怕了，虽然以前就知道像土豆网这样的视频网站，在中国的用户会比较低端比较小白，不过现在发现要真正理解国内的用户，我还有很多功课要做……</p>
]]></content:encoded>
			<wfw:commentRss>http://www.limboy.com/2007/06/03/mozilla/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>没有Blog的日子里，有很多事都想记录下来</title>
		<link>http://www.limboy.com/2006/12/03/something/</link>
		<comments>http://www.limboy.com/2006/12/03/something/#comments</comments>
		<pubDate>Sat, 02 Dec 2006 19:21:49 +0000</pubDate>
		<dc:creator>Dexter.Yy</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[游戏]]></category>
		<category><![CDATA[纯水]]></category>

		<guid isPermaLink="false">http://localhost/wordpress/index.php/2006/12/03/something/</guid>
		<description><![CDATA[没写BLOG的这一月发生了很多事情，比如：

我把Firefox升级到2.0，更新了原有的72个扩展，在试用Yahoo!官方的del.icio.us扩展时把自己的书签和TAG都搞乱了，虽然主要是因为中文乱码，但这个扩展的设计也很有问题。而且我很奇怪del.icio.us为什么没有批量删除和删除标签的功能。
所以我的del.icio.us书签一直处于废弃状态，Blog上的相关功能都不能用了，比如RSS里的新网页推荐，我准备删掉帐号重建一个，按照Firefox的书签重新整理del.icio.us。至于扩展，我还是更喜欢用del.icio.us Complete 1.3。

目前我装的扩展仍然维持68个，最常用的那些都快速发布了兼容Firefox2.0的新版本，我一直觉得这些扩展比Firefox本身更有活力——看看它们的更新频率。
不过有一些还没有中文版，比如最重要的开发工具Firebug（PS：Firebug刚刚发布了1.0 beta版，功能更加强大！真是爱死这个东西了，目前我在开发中最常用的三个工具：Aptana、Firebug、Editplus）
过去最普及的扩展Tab Mix Plus似乎完全被Tab Mix Lite CE取代了，TML CE也趁势在最近的更新里增加了一些TMP的功能。
隐藏菜单的Compact Menu似乎没有得到原作者的支持，现在出现的两个支持2.0的版本都来自第三方，加上了自定义的图标，但这些图标对某些界面很不友好，所以我改用最简单的Tiny Menu
比较可惜的是，唯一的国产扩展，能够自动进行简繁体转换的“新同文堂”似乎没有更新到2.0……
今天在digg上看到人家的Firefox界面截图，才发现我装的扩展并不算多……这位兄弟自称安装了所有可能的扩展……101个，界面效果让人想起IE6的流氓工具条……
无冬之夜II的0day终于发布，从最早PROCYON的CLONEDVD到RELOADED版、CLONECD版，版本也升到1.03 BETA，然则正当大家玩的热火朝天的时候——有人还突然对吉斯洋基人和吉斯泽莱人的历史瓜葛产生兴趣——我的RADEON  X1600PRO显卡却挂掉了，系统无法辨认，也不能安装驱动，因为无法确认（其实应该是：没有空闲去确认）是显卡坏了还是WINDOWS坏了，我度过了两个星期没有GPU的生活。最后只好把显卡拿去电脑城检查，结论是必须回总部返修，他们借给我一个7100的N卡，回家后发现……N卡同样无法安装驱动，终于下定决心重装系统，结果所有问题都解决了-_____-b 现在我的X1600PRO仍然在“返修”中，暂时不能玩3D游戏
这次装系统是具有历史意义的！……我在整个大学阶段只装过一次操作系统，工作后升级机器，从win2k换成“装机人员专用的winxp特别版”（在电脑城工作过的同学给我的，非常棒），一直到现在都还没有重装过。因为我装的软件非常多，个人定制的东西也多，重装系统要付出高昂的代价，还要浪费大量时间重新配置。此外由于我不用IE不用QQ，下载的软件也都是开源或国外的0day，所以几乎没有什么安全问题，本来就没有必要装系统。我认为计算机是学习技术、应用技术的工具，而不是技术本身，把时间花在操作系统上面是非常不值得的，即使是Linux……其实我这次本来准备改用ubuntu一劳永逸的解决问题，但是运行LiveCD时遇到硬件兼容问题，便放弃了，这样也好，反正作为一个游戏Fans，我并不适合用Linux……
至于无冬之夜II，我才玩到第二章，没什么资格评论，一些肤浅的印象是：镜头形式的剧情叙述方式很不错，任务的设计很有意思，比如法庭辩论，然而战斗的难度却简单的掉渣……看来重点在于多人部分。这款期待很久的RPG在NTRPG并没有引发热潮，讨论的人气甚至不如当年的狮心王，也许是因为NTer现在工作都太忙（这点我不太相信，因为这些人有空玩MMORPG和网页游戏），也许是因为单机游戏现在真的没落了，不但新玩家在网络游戏和电子竞技中成长起来，对PC GAME的理解和看法跟我们完全不同，老玩家也习惯了WOW的操作和游戏方式，不知道还有多少人怀念黑岛式的角色扮演和城市冒险。当然我更愿意相信的理由是：NWN2本来就是多人联机游戏，目前的版本是无法引发什么热潮的，阳光娱动的汉化也很重要，黑石头加油！（注：黑石头是人的名字）
在传媒大学读书的表妹现在也开始Blogging,而且在我的推荐下，她从百度转投GOOGLE：http://cookiesimple.blogspot.com/ 但愿她的网络体验中不会出现GFW的阴影……这个BLOG我还没有时间仔细看，就不做评论了XD，但是从最新的一篇文章可以看到，这个桌面美化newbie终于放弃了GEEK们喜欢的Widget和Google Gadget，在桌面上真正反映出自己的兴趣——超女、会踢球的帅哥（好罢我是德国队球迷，所以不知道那张照片里的家伙是阿根廷的谁）、会射箭的精灵帅哥、SD娃娃、等等——呃，可喜可贺……
……其他的我还是单独发帖罢，否则就太长了。顺便说一下，我看过一些讨论如何让Blog成功/受欢迎的文章，其中之一是：那些成功Blogger的习惯都是更新快，字数少……但我的习惯不是这样，我喜欢把信息集中，也喜欢跑题，即使有些人不习惯看字数多的文章。

]]></description>
			<content:encoded><![CDATA[<p><img style="width:120px;margin: 0pt 10px 0px 0pt; float:left; cursor: pointer;" src="http://www.obsidianent.com/images/logo_nwn2.gif" alt="" border="0" />没写BLOG的这一月发生了很多事情，比如：</p>
<ol>
<li>我把Firefox升级到2.0，更新了原有的72个扩展，在试用<a href="https://addons.mozilla.org/firefox/3615/">Yahoo!官方的del.icio.us扩展</a>时把自己的书签和TAG都搞乱了，虽然主要是因为中文乱码，但这个扩展的设计也很有问题。而且我很奇怪del.icio.us为什么没有批量删除和删除标签的功能。<span id="more-69"></span></p>
<p>所以我的del.icio.us书签一直处于废弃状态，Blog上的相关功能都不能用了，比如RSS里的新网页推荐，我准备删掉帐号重建一个，按照Firefox的书签重新整理del.icio.us。至于扩展，我还是更喜欢用<a href="http://addons.mozine.org/firefox/219/">del.icio.us Complete 1.3</a>。</p>
<p><a href="http://www.spreadfirefox.com/?q=affiliates&#038;id=0&amp;t=216"><img style="width: 390px;" alt="Firefox 2" title="Firefox 2" src="http://sfx-images.mozilla.org/affiliates/Buttons/firefox2/468x60FF2_Orange.png" border="0" /></a><br />
目前我装的扩展仍然维持68个，最常用的那些都快速发布了兼容Firefox2.0的新版本，我一直觉得这些扩展比Firefox本身更有活力——看看它们的更新频率。</p>
<p>不过有一些还没有中文版，比如最重要的开发工具Firebug（PS：Firebug刚刚发布了<a href="http://www.getfirebug.com/">1.0 beta版</a>，功能更加强大！真是爱死这个东西了，目前我在开发中最常用的三个工具：<a href="http://www.aptana.com/">Aptana</a>、Firebug、Editplus）</p>
<p>过去最普及的扩展<a href="http://addons.mozine.org/firefox/8/">Tab Mix Plus</a>似乎完全被<a href="http://addons.mozine.org/firefox/54/">Tab Mix Lite CE</a>取代了，TML CE也趁势在最近的更新里增加了一些TMP的功能。</p>
<p>隐藏菜单的Compact Menu似乎没有得到原作者的支持，现在出现的<a href="https://addons.mozilla.org/firefox/1422/">两个支持2.0的版本</a>都来自第三方，加上了自定义的图标，但这些图标对某些界面很不友好，所以我改用最简单的<a href="http://addons.mozine.org/addon.php?id=55">Tiny Menu</a></p>
<p>比较可惜的是，唯一的国产扩展，能够自动进行简繁体转换的“新同文堂”似乎没有更新到2.0……</p>
<p>今天在digg上看到<a href="http://www.digg.com/design/FireFox_Gone_Wild">人家的Firefox界面截图</a>，才发现我装的扩展并不算多……这位兄弟自称安装了所有可能的扩展……101个，<a href="http://www.flickr.com/photo_zoom.gne?id=310326944&#038;size=o">界面效果</a>让人想起IE6的流氓工具条……</li>
<li><img style="margin: 0pt 10px 0px 0pt; float:left; cursor: pointer;" src="http://www.obsidianent.com/images/logo_nwn2.gif" alt="" border="0" />无冬之夜II的0day终于发布，从最早<a href="http://thepiratebay.org/tor/3550018/Neverwinter_Nights_2_CLONEDVD-PROCYON">PROCYON的CLONEDVD</a>到<a href="http://thepiratebay.org/details.php?id=3550475&amp;page=5">RELOADED版</a>、CLONECD版，版本也升到1.03 BETA，然则正当<a href="http://bbs.ntrpg.org/forumdisplay.php?f=28">大家玩的热火朝天的时候</a>——有人还突然对吉斯洋基人和吉斯泽莱人的历史瓜葛产生兴趣——我的RADEON  X1600PRO显卡却挂掉了，系统无法辨认，也不能安装驱动，因为无法确认（其实应该是：没有空闲去确认）是显卡坏了还是WINDOWS坏了，我度过了两个星期没有GPU的生活。最后只好把显卡拿去电脑城检查，结论是必须回总部返修，他们借给我一个7100的N卡，回家后发现……N卡同样无法安装驱动，终于下定决心重装系统，结果所有问题都解决了-_____-b 现在我的X1600PRO仍然在“返修”中，暂时不能玩3D游戏
<p>这次装系统是具有历史意义的！……我在整个大学阶段只装过一次操作系统，工作后升级机器，从win2k换成“装机人员专用的winxp特别版”（在电脑城工作过的同学给我的，非常棒），一直到现在都还没有重装过。因为我装的软件非常多，个人定制的东西也多，重装系统要付出高昂的代价，还要浪费大量时间重新配置。此外由于我不用IE不用QQ，下载的软件也都是开源或国外的0day，所以几乎没有什么安全问题，本来就没有必要装系统。我认为计算机是学习技术、应用技术的工具，而不是技术本身，把时间花在操作系统上面是非常不值得的，即使是Linux……其实我这次本来准备改用ubuntu一劳永逸的解决问题，但是运行LiveCD时遇到硬件兼容问题，便放弃了，这样也好，反正作为一个游戏Fans，我并不适合用Linux……</p>
<p>至于无冬之夜II，我才玩到第二章，没什么资格评论，一些肤浅的印象是：镜头形式的剧情叙述方式很不错，任务的设计很有意思，比如法庭辩论，然而战斗的难度却简单的掉渣……看来重点在于多人部分。这款期待很久的RPG在NTRPG并没有引发热潮，讨论的人气甚至不如当年的狮心王，也许是因为NTer现在工作都太忙（这点我不太相信，因为这些人有空玩MMORPG和网页游戏），也许是因为单机游戏现在真的没落了，不但新玩家在网络游戏和电子竞技中成长起来，对PC GAME的理解和看法跟我们完全不同，老玩家也习惯了WOW的操作和游戏方式，不知道还有多少人怀念黑岛式的角色扮演和城市冒险。当然我更愿意相信的理由是：NWN2本来就是多人联机游戏，目前的版本是无法引发什么热潮的，阳光娱动的汉化也很重要，黑石头加油！（注：黑石头是人的名字）</li>
<li>在传媒大学读书的表妹现在也开始Blogging,而且在我的推荐下，她从百度转投GOOGLE：<a href="http://cookiesimple.blogspot.com/">http://cookiesimple.blogspot.com/</a> 但愿她的网络体验中不会出现GFW的阴影……这个BLOG我还没有时间仔细看，就不做评论了XD，但是从<a href="http://cookiesimple.blogspot.com/2006/12/blog-post.html">最新的一篇文章</a>可以看到，这个桌面美化newbie终于放弃了GEEK们喜欢的<a href="http://cn.widget.yahoo.com/">Widget</a>和<a href="http://desktop.google.com/plugins/">Google Gadget</a>，在桌面上真正反映出自己的兴趣——超女、会踢球的帅哥（好罢我是德国队球迷，所以不知道那张照片里的家伙是阿根廷的谁）、会射箭的精灵帅哥、SD娃娃、等等——呃，可喜可贺……</li>
<li>……其他的我还是单独发帖罢，否则就太长了。顺便说一下，我看过一些讨论如何让Blog成功/受欢迎的文章，其中之一是：那些成功Blogger的习惯都是更新快，字数少……但我的习惯不是这样，我喜欢把信息集中，也喜欢跑题，即使有些人不习惯看字数多的文章。</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.limboy.com/2006/12/03/something/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>我的Firefox扩展增加到60个了！</title>
		<link>http://www.limboy.com/2006/09/11/firefox/</link>
		<comments>http://www.limboy.com/2006/09/11/firefox/#comments</comments>
		<pubDate>Mon, 11 Sep 2006 13:20:52 +0000</pubDate>
		<dc:creator>Dexter.Yy</dc:creator>
				<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://localhost/wordpress/index.php/2006/09/11/firefox/</guid>
		<description><![CDATA[今天又发现了一个很棒的Firefox扩展：FEBE（Firefox Extension Backup Extension），看名字就知道是用来备份扩展的，然则这不仅仅是一个备份工具，它最大的特点是可以把你安装的所有扩展重新导出为.xpi文件（也就是安装文件），同时还可以备份几乎所有个人设置，比如书签、历史、cookies、密码、界面。只要把这样一个文件包传到网上，就可以在任何地方快速安装FIREFOX。
这里有一些截图，这是FEBE的发布页，这是汉化版的发布页（为什么我没有先看到这个-___-b）
更棒的是，还有一个叫 CLEO (Compact Library Extension Organizer)的扩展，能增强FEBE的功能，把所有备份导入到一个单独的.xpi文件里。有了这两件神器，要在公司的机器上安装一个跟家里一模一样的浏览器，就变成很简单的事了。
这是CLEO的发布页
实际上，有了这些.xpi文件，再结合另一个扩展：CCK Wizard，还可以制作出自己的Firefox安装版！也许我应该做一个“YYfox”浏览器给那些IEer体验一下……不过今天没空做这种东西……
这个.xpi文件里包括我安装过的所有扩展：

这是详细列表：

PS：昨天在AJAX中国讨论FIREFOX的内存泄露问题，看到有人说FIREBUG是罪魁祸首，我恰好也装了这个东西，而且最近在访问某些网页时确实出现了不稳定的情况（有时内存占用突然涨到200多M，有时CPU占用率接近90%），以前都没有这种情况。所以我今天也把这玩意删了（不过上面的安装包里还有……）
还要PS：再推荐另一个扩展：Wikipedia URL Adapter，当你点击wiki的链接时，它可以帮你自动转换到https的加密方式，这样就不用总是开着tor了，在用google搜索时会很方便。
]]></description>
			<content:encoded><![CDATA[<p><a href="https://addons.mozilla.org/images/previews/firefox_extension_backup_extension_(febe)-7.jpg"><img style="FLOAT: left; MARGIN: 0pt 10px 0px 0pt; WIDTH: 150px; CURSOR: pointer" alt="" src="https://addons.mozilla.org/images/previews/firefox_extension_backup_extension_%28febe%29-7.jpg" border="0" /></a>今天又发现了一个很棒的Firefox扩展：FEBE（Firefox Extension Backup Extension），看名字就知道是用来备份扩展的，然则这不仅仅是一个备份工具，它最大的特点是可以把你安装的所有扩展重新导出为.xpi文件（也就是安装文件），同时还可以备份几乎所有个人设置，比如书签、历史、cookies、密码、界面。只要把这样一个文件包传到网上，就可以在任何地方快速安装FIREFOX。<span id="more-50"></span></p>
<p>这里有一些<a href="http://customsoftwareconsult.com/extensions/febe/febe40/FEBE4.0.html">截图</a>，这是<a href="https://addons.mozilla.org/firefox/2109/">FEBE的发布页</a>，这是<a href="http://addons.mozine.org/firefox/386/">汉化版的发布页</a>（为什么我没有先看到这个-___-b）</p>
<p>更棒的是，还有一个叫 CLEO (Compact Library Extension Organizer)的扩展，能增强FEBE的功能，把所有备份导入到一个单独的.xpi文件里。有了这两件神器，要在公司的机器上安装一个跟家里一模一样的浏览器，就变成很简单的事了。</p>
<p>这是<a href="https://addons.mozilla.org/firefox/2942/">CLEO的发布页</a></p>
<p>实际上，有了这些.xpi文件，再结合另一个扩展：<a href="http://addons.mozine.org/firefox/260/">CCK Wizard</a>，还可以制作出自己的Firefox安装版！也许我应该做一个“YYfox”浏览器给那些IEer体验一下……不过今天没空做这种东西……</p>
<p>这个.xpi文件里包括我安装过的所有扩展：</p>
<p><a href="http://www.box.net/lite/rqogl56a6p"><img src="http://www.box.net/lite/image/rqogl56a6p.png" border="0" /></a><small><a href="http://www.box.net/lite"></a></small></p>
<p>这是详细列表：<br />
<iframe style="BORDER-RIGHT: rgb(153,153,153) 1px solid; BORDER-TOP: rgb(153,153,153) 1px solid; BACKGROUND: rgb(238,238,238) 0% 50%; MARGIN: 10px; BORDER-LEFT: rgb(153,153,153) 1px solid; WIDTH:200px; BORDER-BOTTOM: rgb(153,153,153) 1px solid; HEIGHT: 300px; moz-background-clip: -moz-initial; moz-background-origin: -moz-initial; moz-background-inline-policy: -moz-initial" src="http://www.ntrpg.org/yy/yy/study/yyFEBE.html" frameborder="0"></iframe></p>
<p>PS：昨天<a href="http://ajaxcn.org/comments/start/2006-09-10/1">在AJAX中国讨论FIREFOX的内存泄露问题</a>，看到有人说<a href="https://addons.mozilla.org/firefox/1843/">FIREBUG</a>是罪魁祸首，我恰好也装了这个东西，而且最近在访问某些网页时确实出现了不稳定的情况（有时内存占用突然涨到200多M，有时CPU占用率接近90%），以前都没有这种情况。所以我今天也把这玩意删了（不过上面的安装包里还有……）</p>
<p>还要PS：再推荐另一个扩展：<a href="http://addons.mozine.org/addon.php?id=330">Wikipedia URL Adapter</a>，当你点击wiki的链接时，它可以帮你自动转换到https的加密方式，这样就不用总是开着tor了，在用google搜索时会很方便。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.limboy.com/2006/09/11/firefox/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>幻灭对Firefox真的很有偏见</title>
		<link>http://www.limboy.com/2006/08/31/firefoxandgoogle/</link>
		<comments>http://www.limboy.com/2006/08/31/firefoxandgoogle/#comments</comments>
		<pubDate>Thu, 31 Aug 2006 12:47:47 +0000</pubDate>
		<dc:creator>Dexter.Yy</dc:creator>
				<category><![CDATA[Blogger]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://localhost/wordpress/index.php/2006/08/31/firefoxandgoogle/</guid>
		<description><![CDATA[今天在幻灭的BLOG上看到一篇《两则FireFox2.0快讯》，内容非常简短，而且一开头就用了让人不爽的句子：“微软的IE7 RC1的发布让Mozilla感到了压力，通常情况下，Mozilla会发布一个新的测试版来回应。”在文章后面的评论里，身为“中国第一Google Fan”的幻灭也发表了很多负面评论。
实际上这并不让人意外，每个人都有自己的认识，每个BLOGGER都有权发表自己的看法。而幻灭一直习惯使用IE内核的浏览器，并不是真正的Firefox用户。对自己了解不够的东西抱有偏见和坏印象，是很正常的。但我忍不住想说一下自己的看法。我认为不使用Firefox的人算不上真正的Google Fan，因为Google的很多服务都需要在Firefox里才能获得最好的体验，比如Google notebook、Google bookmarks、Google toolbar、Gmail……
我今天没有时间逐一截图说明，随便传一张：notebook和bookmarks的扩展，另外，上篇文章里也刚好传过一张图，展示了一个Firefox扩展GTDGMAIL对GMAIL功能的增强。
关于内存的问题，我想自己是有发言权的，因为我的Firefox里安装的扩展始终在55个以上，这是内存占用的截图：FIREFOX的内存占用实例。而我机器的内存只有512M，Firefox并没有对机器性能造成什么影响，也不会像幻灭以前说的，会造成内存泄露。实际上MOZILLA中国社区的论坛上有一篇很棒的内存问题的总结帖，我觉得要评价一件事物，就应该对它有全面的认识，用户体验有时并不是很可靠的东西。
幻灭在评论里还说道：“FireFox2.0正式版的最重大改变在界面上”。任何真正的Firefox用户看了都会觉得好笑，请再仔细看看我截图中的FIREFOX界面，你真的认为Firefox用户会在乎“Firefox2对搜索栏、图标外观、标签条及文本框按钮的改进”么？我以前在NT论坛就说过：“ 2.0的改进不是在功能方面，随便装几个扩展就可以远远超过那点功能，2.0的改进在于安全性、javascript1.7、客户端session、新的扩展格式……”
至于本文开头引用的那句话，我实在想象不出IE7 RC1的发布会让非赢利的Mozilla基金会感到什么压力。而且如果你是一个WEB开发者，知道IE7在标准支持和向后兼容方面遇到了多大的麻烦，知道IE7在技术上只是一个勉强符合要求（其他游览器早已达到的要求）的补救产品，你就根本不会产生这种念头……
]]></description>
			<content:encoded><![CDATA[<p><a  href="http://photos1.blogger.com/blogger2/264/1045131830741991/1600/firefox_ie.gif"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://photos1.blogger.com/blogger2/264/1045131830741991/200/firefox_ie.gif" alt="" border="0" /></a>今天在幻灭的BLOG上看到一篇<a href="http://www.gseeker.com/50226711/aefirefox20e_41529.php">《两则FireFox2.0快讯》</a>，内容非常简短，而且一开头就用了让人不爽的句子：“微软的IE7 RC1的发布让Mozilla感到了压力，通常情况下，Mozilla会发布一个新的测试版来回应。”在文章后面的评论里，身为“中国第一Google Fan”的幻灭也发表了很多负面评论。</p>
<p>实际上这并不让人意外，每个人都有自己的认识，每个BLOGGER都有权发表自己的看法。而幻灭一直习惯使用IE内核的浏览器，并不是真正的Firefox用户。对自己了解不够的东西抱有偏见和坏印象，是很正常的。但我忍不住想说一下自己的看法。我认为不使用Firefox的人算不上真正的Google Fan，因为Google的很多服务都需要在Firefox里才能获得最好的体验，比如Google notebook、Google bookmarks、Google toolbar、Gmail……<span id="more-43"></span></p>
<p>我今天没有时间逐一截图说明，随便传一张：<a href="http://photo7.yupoo.com/20060831/214946_1664436734_hHZsP.jpg">notebook和bookmarks的扩展</a>，另外，<a href="http://photo7.yupoo.com/20060830/005117_760546548_GGQRH.jpg">上篇文章里也刚好传过一张图</a>，展示了一个Firefox扩展GTDGMAIL对GMAIL功能的增强。</p>
<p>关于内存的问题，我想自己是有发言权的，因为我的Firefox里安装的扩展始终在55个以上，这是内存占用的截图：<a href="http://photo7.yupoo.com/20060831/214945_592008582_oTctg.jpg">FIREFOX的内存占用实例</a>。而我机器的内存只有512M，Firefox并没有对机器性能造成什么影响，也不会像幻灭以前说的，会造成内存泄露。实际上MOZILLA中国社区的论坛上有一篇很棒的<a href="http://forums.mozine.cn/index.php?showtopic=3276">内存问题的总结帖</a>，我觉得要评价一件事物，就应该对它有全面的认识，用户体验有时并不是很可靠的东西。</p>
<p>幻灭在评论里还说道：“FireFox2.0正式版的最重大改变在界面上”。任何真正的Firefox用户看了都会觉得好笑，请再仔细看看我截图中的FIREFOX界面，你真的认为Firefox用户会在乎“Firefox2对搜索栏、图标外观、标签条及文本框按钮的改进”么？我以前在NT论坛就说过：“ 2.0的改进不是在功能方面，随便装几个扩展就可以远远超过那点功能，2.0的改进在于安全性、javascript1.7、客户端session、新的扩展格式……”</p>
<p>至于本文开头引用的那句话，我实在想象不出IE7 RC1的发布会让非赢利的Mozilla基金会感到什么压力。而且如果你是一个WEB开发者，知道IE7在标准支持和向后兼容方面遇到了多大的麻烦，知道IE7在技术上只是一个勉强符合要求（其他游览器早已达到的要求）的补救产品，你就根本不会产生这种念头……</p>
]]></content:encoded>
			<wfw:commentRss>http://www.limboy.com/2006/08/31/firefoxandgoogle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>激进分子的咒语</title>
		<link>http://www.limboy.com/2006/08/27/jsspell/</link>
		<comments>http://www.limboy.com/2006/08/27/jsspell/#comments</comments>
		<pubDate>Sun, 27 Aug 2006 06:47:38 +0000</pubDate>
		<dc:creator>Dexter.Yy</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[kuso]]></category>

		<guid isPermaLink="false">http://localhost/wordpress/index.php/2006/08/27/jsspell/</guid>
		<description><![CDATA[这些人是古格尔教信徒中最危险的原教旨主义激进分子，最近一批崇拜火狐的巫师与他们联手，三名高阶法师和三名高级牧师经过三天三夜的仪式，终于创造出了一个异常邪恶的法术。
这条咒语是用一种叫作javascript的古代语书写的，这种语言在过去曾被认为是老土过时的，用途非常狭隘。但最近一种叫做阿贾克斯的艺术突然开始流行，古格尔教和雅虎教的桌面工具也大受欢迎，火狐巫师们也经常创造一些叫做Extensions的魔法物品，这些都需要javascript语言……
激进分子们决定在多种场合使用这个法术，虽然无法造成大量平民伤亡,但他们认为这能对敌人造成心理震慑, 动摇他们的意志&#8230;
]]></description>
			<content:encoded><![CDATA[<p><img style="margin: 0pt 10px 10px 0pt; float: left; " src="http://photos1.blogger.com/blogger2/264/1045131830741991/200/YYSPELL2.jpg" alt="" border="0" />这些人是<a href="http://blog.outer-court.com/bible/">古格尔教</a>信徒中最危险的原教旨主义激进分子，最近一批崇拜火狐的巫师与他们联手，三名高阶法师和三名高级牧师经过三天三夜的仪式，终于创造出了一个异常邪恶的法术。</p>
<p><a href="http://photo7.yupoo.com/20060827/183012_1220717833_oTtNO.jpg">这条咒语</a>是用一种叫作javascript的古代语书写的，这种语言在过去曾被认为是老土过时的，用途非常狭隘。但最近一种叫做<a href="https://secure.wikimedia.org/wikipedia/zh/wiki/AJAX">阿贾克斯</a>的艺术突然开始流行，<a href="http://desktop.google.com/zh/">古格尔教</a>和<a href="http://cn.widget.yahoo.com/">雅虎教的桌面工具</a>也大受欢迎，火狐巫师们也经常创造一些<a href="http://addons.mozine.org/">叫做Extensions的魔法物品</a>，这些都需要javascript语言……</p>
<p>激进分子们决定在多种场合使用这个法术，虽然无法造成大量平民伤亡,但他们认为这能对敌人造成心理震慑, 动摇他们的意志&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.limboy.com/2006/08/27/jsspell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

