<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[PuterJam's Blog - Javascript]]></title>
<link>http://www.pjhome.net/</link>
<description><![CDATA[关注互联网~ 关注前端技术~]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog3 v2.8]]></copyright>
<webMaster><![CDATA[puterjam@gmail.com(puterjam)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>PuterJam&#39;s Blog</title>
	<url>http://www.pjhome.net/images/logos.gif</url>
	<link>http://www.pjhome.net/</link>
	<description>PuterJam&#39;s Blog</description>
</image>

			<item>
			<link>http://www.pjhome.net/article/Javascript/IE9_msPerformance.htm</link>
			<title><![CDATA[IE9允许前端开发获取到页面性能数据]]></title>
			<author>puterjam@gmail.com(puterjam)</author>
			<category><![CDATA[Javascript]]></category>
			<pubDate>Tue,29 Jun 2010 22:56:26 +0800</pubDate>
			<guid>http://www.pjhome.net/default.asp?id=1026</guid>
		<description><![CDATA[<p style="text-align: center; "><img alt="" src="http://www.pjhome.net/attachments/month_1006/20100629225909.jpg" /></p>
<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;长期以来，为了改善站点的用户体验，我们一直都是在页面顶端加上一个<em><strong> (new Date()).getTime()</strong></em> 来获取用户打开页面的时间，使用<a target="_blank" href="http://www.httpwatch.com/">httpwatch</a>来分析页面打开的解释时间。<a target="_blank" href="http://www.httpwatch.com/">httpwatch</a>虽然强大，但是还是无法让我们深入到用户的环境去了解用户打开页面前的一些情况，例如:DNS解释时间，请求和响应时间，以及更加深入的页面渲染时间等重要信息。这些信息对用户环境分析是至关重要的。</p>
<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;如今，这个情况即将改变，微软的<a target="_blank" href="http://ie.microsoft.com/testdrive/">IE9</a>将给前端开发们提供有力的性能分析接口让我们能够深入分析页面的性能，这就是强大的<a target="_blank" href="http://blogs.msdn.com/b/ie/archive/2010/06/28/measuring-web-page-performance.aspx">msPerformance</a>接口。这个接口其实是基于HTML5草案<a target="_blank" href="http://dev.w3.org/2006/webapi/WebTiming/">Web Timing</a>的定义来开发的（有意思的是这个接口是google提供的，chrome目前还没支持，IE9先行了）。</p>
<p>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;我们来看看通过<a target="_blank" href="http://dev.w3.org/2006/webapi/WebTiming/">Web Timing</a>我们可以获取到什么数据</p>
<p>&nbsp;</p>
<p><span style="color: rgb(255, 0, 255); "><strong>window.msPerformance.navigation</strong></span></p>
<p>&nbsp;{</p>
<p><span class="Apple-tab-span" style="white-space:pre">	</span>requestCount : 76</p>
<p><span class="Apple-tab-span" style="white-space:pre">	</span>type : 0</p>
<p><span class="Apple-tab-span" style="white-space:pre">	</span>startTime : 1277821481923</p>
<p><span class="Apple-tab-span" style="white-space:pre">	</span>redirectedCount : 5</p>
<p><span class="Apple-tab-span" style="white-space:pre">	</span>uniqueDomains : 31</p>
<p>}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="color: rgb(255, 0, 255); "><strong>window.msPerformance.timingMeasures</strong></span></p>
<p>&nbsp;{</p>
<p><span class="Apple-tab-span" style="white-space:pre">	</span>request : 22</p>
<p><span class="Apple-tab-span" style="white-space:pre">	</span>domContentLoaded : 342</p>
<p><span class="Apple-tab-span" style="white-space:pre">	</span>response : 10</p>
<p><span class="Apple-tab-span" style="white-space:pre">	</span>firstPaint : 29</p>
<p><span class="Apple-tab-span" style="white-space:pre">	</span>domInteractive : 342</p>
<p><span class="Apple-tab-span" style="white-space:pre">	</span>msStyleContentLoaded : 342</p>
<p><span class="Apple-tab-span" style="white-space:pre">	</span>fetch : 459</p>
<p><span class="Apple-tab-span" style="white-space:pre">	</span>domComplete : 342</p>
<p><span class="Apple-tab-span" style="white-space:pre">	</span>load : 89</p>
<p><span class="Apple-tab-span" style="white-space:pre">	</span>connect : 3</p>
<p>}</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="color: rgb(255, 0, 255); "><strong>window.msPerformance.timing</strong></span></p>
<p>&nbsp;{</p>
<p><span class="Apple-tab-span" style="white-space:pre">	</span>domLoading : 1277821481950</p>
<p><span class="Apple-tab-span" style="white-space:pre">	</span>responseEnd : 1277821481960</p>
<p><span class="Apple-tab-span" style="white-space:pre">	</span>navigationStart : 1277821481923</p>
<p><span class="Apple-tab-span" style="white-space:pre">	</span>fetchStart : 1277821481923</p>
<p><span class="Apple-tab-span" style="white-space:pre">	</span>msStyleContentLoaded : 1277821482293</p>
<p><span class="Apple-tab-span" style="white-space:pre">	</span>firstPaint : 1277821481952</p>
<p><span class="Apple-tab-span" style="white-space:pre">	</span>fullyLoaded : 0</p>
<p><span class="Apple-tab-span" style="white-space:pre">	</span>requestStart : 1277821481927</p>
<p><span class="Apple-tab-span" style="white-space:pre">	</span>loadEnd : 1277821482383</p>
<p><span class="Apple-tab-span" style="white-space:pre">	</span>unloadStart : 1277821481923</p>
<p>}</p>
<p>&nbsp;</p>
<p>通过这些数据我们可以更加深入得分析页面的性能和用户的网络环境，提供更加好的差异化服务。</p>
<p><a target="_blank" href="http://ie.microsoft.com/testdrive/">&nbsp;到这里下载IE9预览版</a></p>
<p>&nbsp;</p>
<p>发现IE9pre3的console列出的接口不全，直接用调试器把这个接口和方法全部列出来了，更加直观</p>
<p><img alt="" src="http://www.pjhome.net/attachments/month_1006/20100629231752.jpg" /></p>]]></description>
		</item>
		
			<item>
			<link>http://www.pjhome.net/article/Javascript/qzone_app_for_chrome.htm</link>
			<title><![CDATA[我的Qzone应用插件 for chrome ]]></title>
			<author>puterjam@gmail.com(puterjam)</author>
			<category><![CDATA[Javascript]]></category>
			<pubDate>Mon,08 Feb 2010 16:44:20 +0800</pubDate>
			<guid>http://www.pjhome.net/default.asp?id=1018</guid>
		<description><![CDATA[<p>&nbsp;<img alt="" src="http://www.pjhome.net/download.asp?id=60" /></p>
<p>研究了chrome的插件编写方式，刚好结合我们的Qzone的APP写了一个应用。 欢迎大家尝鲜&nbsp;<strong>:P</strong></p>
<p>写chrome插件给人的感觉还是挺爽的。很强很html5。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>安装请步移：</strong></p>
<p><a href="https://chrome.google.com/extensions/detail/mfibffkabmegiiapfkpdcpmhcigkncac?hl=zh-CN">https://chrome.google.com/extensions/detail/mfibffkabmegiiapfkpdcpmhcigkncac?hl=zh-CN</a></p>
<p>&nbsp;</p>
<p><strong>*如果无法下载，请配以下host:</strong></p>
<p>74.125.39.99 chrome.google.com</p>
<p>74.125.47.139 clients2.google.com</p>
<p>&nbsp;</p>
<p><span style="color: rgb(128, 128, 128); ">对喜欢看代码的同学说的话，看到代码别见怪。源码很乱，第一次写chrome插件没很好得规划</span></p>
<p>&nbsp;</p>
<p><b><br />
</b></p>]]></description>
		</item>
		
			<item>
			<link>http://www.pjhome.net/article/Javascript/early-look-at-ie9.htm</link>
			<title><![CDATA[IE9 前瞻]]></title>
			<author>puterjam@gmail.com(puterjam)</author>
			<category><![CDATA[Javascript]]></category>
			<pubDate>Thu,19 Nov 2009 10:32:28 +0800</pubDate>
			<guid>http://www.pjhome.net/default.asp?id=1015</guid>
		<description><![CDATA[<p>虽然IE6在依然是很重要的钉子户，但是我们不能放弃关注未来ie的变化。</p>
<p>IE9 的几个关键字： <a target="_blank" href="http://channel9.msdn.com/posts/Charles/IE-9-Surfing-on-the-GPU-with-D2D/">硬件渲染</a>，<a target="_blank" href="http://channel9.msdn.com/posts/Charles/IE-9-First-look-at-the-new-JS-Engine/">新的JS引擎</a>，CSS，<a target="_blank" href="http://channel9.msdn.com/posts/Charles/IE-9-Standards-and-Interoperability/">标准</a></p>
<p><img width="429" height="270" alt="Dean_PDC_4.png" src="http://www.pjhome.net/attachments/month_0911/r20091119103141.png" /></p>
<p>大家期待已久的圆角也将支持了</p>
<p>&nbsp;</p>
<p>不过这里最让大家期待的是硬件渲染(<a target="_blank" href="http://channel9.msdn.com/posts/Charles/IE-9-Surfing-on-the-GPU-with-D2D/">视频演示看这里</a>)的支持。这可以让浏览器性能提高一个很高的档次。</p>
<p>关于新的脚本引擎可以用下图来说明，这个测试是用著名的SunSpider来测试的</p>
<p><img width="480" height="208" alt="Dean_PDC_2.png" src="http://www.pjhome.net/attachments/month_0911/h20091119103138.png" /></p>
<p>更多信息可以从<a target="_blank" href="http://blogs.msdn.com/ie/archive/2009/11/18/an-early-look-at-ie9-for-developers.aspx">官方博客</a>得到 :P</p>]]></description>
		</item>
		
			<item>
			<link>http://www.pjhome.net/article/Javascript/firefox_3.6_beta.htm</link>
			<title><![CDATA[firefox 3.6 beta 发布]]></title>
			<author>puterjam@gmail.com(puterjam)</author>
			<category><![CDATA[Javascript]]></category>
			<pubDate>Wed,04 Nov 2009 11:52:52 +0800</pubDate>
			<guid>http://www.pjhome.net/default.asp?id=1013</guid>
		<description><![CDATA[<p><img align="right" alt="" src="http://www.pjhome.net/attachments/month_0804/y200843114944.jpg" />firefox 3.6 beta 发布,增加了不少上流的功能。<br />
<br />
1. window.onhashchange 期待已久的接口，<br />
<a href="https://developer.mozilla.org/en/DOM/window.onhashchange">https://developer.mozilla.org/en/DOM/window.onhashchange</a><br />
<br />
2. http 行为监听，字面意思应该是允许进行一些http的监听工作，类似抓包(应该是给插件提供的接口)<br />
You can now monitor HTTP transactions to observe requests and responses in real time.<br />
<a href="https://developer.mozilla.org/en/Monitoring_HTTP_activity">https://developer.mozilla.org/en/Monitoring_HTTP_activity</a><br />
<br />
3. 全屏视频<br />
<br />
4. 字体支持<br />
<br />
5. 拖拽支持文件直接拖拽<br />
<br />
6. 图片渲染品质缩放算法 类似ie的 -ms-interpolation-mode<br />
<br />
<span style="font-weight: bold;">更多变化请看这里</span><br />
<a href="https://developer.mozilla.org/en/Firefox_3.6_for_developers">https://developer.mozilla.org/en/Firefox_3.6_for_developers</a><br />
<br />
不过这里没有提到真 html 5 （放弃doctype定义）的模式。</p>
<p>下载：<br />
<a href="https://developer.mozilla.org/devnews/index.php/2009/10/30/firefox-3-6-beta-1-is-now-available-for-download/">https://developer.mozilla.org/devnews/index.php/2009/10/30/firefox-3-6-beta-1-is-now-available-for-download/</a></p>]]></description>
		</item>
		
			<item>
			<link>http://www.pjhome.net/article/Javascript/eclipse_debug_chrome.htm</link>
			<title><![CDATA[使用 Eclipse 调试 Chrome 的脚本]]></title>
			<author>puterjam@gmail.com(puterjam)</author>
			<category><![CDATA[Javascript]]></category>
			<pubDate>Thu,06 Aug 2009 16:29:11 +0800</pubDate>
			<guid>http://www.pjhome.net/default.asp?id=1009</guid>
		<description><![CDATA[<p style="text-align: center; "><img alt="" title="在新窗口打开图片" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 2px; padding-right: 2px; padding-bottom: 2px; padding-left: 2px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-style: initial; border-color: initial; max-width: 99%; height: auto; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); cursor: pointer; " src="http://www.pjhome.net/attachments/month_0906/20090628013518.jpg" /></p>
<p>Google Chrome 发布了基于 Eclispe 的调试工具&nbsp;&nbsp;<a target="_blank" href="http://code.google.com/p/chromedevtools/">Chrome Developer Tools</a>&nbsp;, 调试需要Chrome 3.0.189.0 以上版本。</p>
<p>这样我们就可以使用Eclipse远程调试Chrome的代码了。</p>
<div style="background-color: rgb(255, 255, 255); padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-family: Arial, Verdana, sans-serif; font-size: 12px; ">
<div>
<div id="ectocontent">
<div>
<div>
<p>&nbsp;</p>
<h2>一点点准备工作:</h2>
<p>&nbsp;</p>
<p><span style="font-size: 14px; "><b>1. 调试前我们的先安装</b>&nbsp;</span><a target="_blank" href="http://code.google.com/p/chromedevtools/"><span style="font-size: 14px; ">Chrome Developer Tools</span></a><span style="font-size: 14px; ">&nbsp;.<br />
<br type="_moz" />
</span></p>
<p><span style="font-size: 14px; ">&nbsp;打开 Eclipse 新建一个 Update Site 就可以完成安装</span></p>
<p><span style="font-size: 14px; ">&nbsp;</span><a rel="nofollow" href="http://chromedevtools.googlecode.com/svn/update/dev/"><span style="font-size: 14px; ">http://chromedevtools.googlecode.com/svn/update/dev/</span></a></p>
<p><span style="font-size: 14px; ">&nbsp;</span></p>
<p><span style="font-size: 14px; "><b>2. 开启 Chrome 的远程调试模式</b></span></p>
<p><span style="font-size: 14px; ">执行chrome 带以下参数</span></p>
<p>&nbsp;</p>
<p><span style="font-size: 14px; "><b>window:</b></span></p>
<p><span style="font-size: 14px; "><span style="font-family: 'Courier New'; ">chrome --remote-shell-port=9222</span></span></p>
<p><span style="font-size: 14px; ">&nbsp;</span></p>
<p><span style="font-size: 14px; "><b>mac:</b></span></p>
<p><span style="font-size: 14px; "><span style="font-family: 'Courier New'; ">./Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-shell-port=9222</span></span></p>
<p><span style="font-size: 14px; ">&nbsp;</span></p>
<p><span style="font-size: 14px; "><img alt="" src="http://www.pjhome.net/attachments/month_0908/20090806161953.jpg" /></span></p>
<p><span style="font-size: 14px; ">当然端口是可以配置的。</span></p>
</div>
<div><span style="font-size: 14px; ">&nbsp;</span></div>
<div><span style="font-size: 14px; "><br />
<b>3.打开Eclipse添加一个调试配置</b> </span>
<p><span style="font-size: 14px; "><img alt="" src="http://www.pjhome.net/attachments/month_0908/20090806162008.png" /></span></p>
<p><span style="font-size: 14px; ">&nbsp;</span></p>
<h2>开始调试:</h2>
<p>&nbsp;</p>
<div><span style="font-size: 14px; "><b>1.绑定进程</b></span></div>
<div><span style="font-size: 14px; ">&nbsp;</span></div>
<div><span style="font-size: 14px; ">由于 Chrome 是多进程的浏览器，所以调试的时候，我们需要在Eclispe里绑定独立的标签进程。</span></div>
<div><span style="font-size: 14px; ">&nbsp;</span></div>
<div><span style="font-size: 14px; "><img alt="" src="http://www.pjhome.net/attachments/month_0908/20090806162219.jpg" /></span></div>
<div><span style="font-size: 14px; ">&nbsp;</span></div>
<div><span style="font-size: 14px; ">&nbsp;</span></div>
<div><span style="font-size: 14px; ">&nbsp;</span></div>
<div><span style="font-size: 14px; "><b>2. 设置断点</b></span></div>
<div><span style="font-size: 14px; ">&nbsp;</span></div>
<div><span style="font-size: 14px; ">不知道什么原因，绑定后，无法直接暂停脚本运行，除非遇到脚本错误。不过我们可以给也脚本设置debug，让调试器生效。</span></div>
<div><span style="font-size: 14px; "><img alt="" src="http://www.pjhome.net/attachments/month_0908/20090806162246.jpg" /></span></div>
<div><span style="font-size: 14px; ">&nbsp;</span></div>
<div><span style="font-size: 14px; ">&nbsp;&nbsp;</span></div>
<div><span style="font-size: 14px; ">在代码中设置 debugger 断点</span></div>
<div><span style="font-size: 14px; "><img alt="" src="http://www.pjhome.net/attachments/month_0908/20090806162311.jpg" /></span></div>
<div><span style="font-size: 14px; ">&nbsp;</span></div>
<div><span style="font-size: 14px; ">&nbsp;&nbsp;</span></div>
<div><span style="font-size: 14px; ">看程序停下来了，这样就可以做调试了。</span></div>
<div><span style="font-size: 14px; "><img alt="" src="http://www.pjhome.net/attachments/month_0908/20090806162333.jpg" /></span></div>
</div>
</div>
</div>
</div>
</div>
<p><span style="font-size: 14px; ">&nbsp;</span></p>]]></description>
		</item>
		
			<item>
			<link>http://www.pjhome.net/article/Javascript/QZFL_Cheat_Sheet.htm</link>
			<title><![CDATA[QZFL Core Cheat sheet]]></title>
			<author>puterjam@gmail.com(puterjam)</author>
			<category><![CDATA[Javascript]]></category>
			<pubDate>Wed,05 Aug 2009 00:01:55 +0800</pubDate>
			<guid>http://www.pjhome.net/default.asp?id=1008</guid>
		<description><![CDATA[<p>QZFL 是团队共同努力开发的一套JS框架。也准备结束开源框架在公司内部无法维护的问题。不过同学们还是反映希望能得到一份接口文档的小抄版。 晚上花了一点时间输出了一份QZFL&nbsp; 2.0 Core 的Cheat Sheet。</p>
<p><img alt="" src="http://www.pjhome.net/attachments/month_0908/20090804235608.jpg" /></p>]]></description>
		</item>
		
			<item>
			<link>http://www.pjhome.net/article/Javascript/toString_get_type.htm</link>
			<title><![CDATA[判断Javascript变量类型的函数]]></title>
			<author>puterjam@gmail.com(puterjam)</author>
			<category><![CDATA[Javascript]]></category>
			<pubDate>Wed,29 Jul 2009 00:19:22 +0800</pubDate>
			<guid>http://www.pjhome.net/default.asp?id=1006</guid>
		<description><![CDATA[<p>toString 本来是用来做字符串转换的，不过现在流行用来做变量类型的检查了。舜子这里也写了一个函数，方便检查变量的类型，可以用来代替 typeof <img src="http://www.pjhome.net/FCKeditor/editor/images/smiley/qq2007/13.gif" alt="" /></p>
<div style="border: 1px solid rgb(204, 204, 204); padding: 3px; background: rgb(245, 245, 245) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;"><span style="font-family: Courier New;"><em><span style="color: rgb(0, 0, 255);">function </span>getType(o) {<br />
&nbsp; <span style="color: rgb(0, 0, 255);">var </span>_t; <span style="color: rgb(0, 0, 255);">return (</span>(_t = <span style="color: rgb(0, 0, 255);">typeof</span>(o)) == <span style="color: rgb(255, 0, 255);">&quot;object&quot;</span> ? </em></span><span style="font-family: Courier New;"><em><span style="color: rgb(0, 0, 255);"><span style="color: rgb(0, 0, 0);">o==</span>null &amp;&amp; <span style="color: rgb(255, 0, 255);">&quot;null&quot;</span> || </span></em></span><span style="font-family: Courier New;"><em>Object.prototype.toString.call(o).slice(8,-1):_t).toLowerCase();<br />
}</em></span><font face="'Courier New', Verdana, sans-serif" class="Apple-style-span"><i><br />
</i></font></div>
<p>&nbsp;</p>
<p><strong>执行结果：</strong></p>
<p><span style="font-family: Courier New;">getType(<span style="color: rgb(255, 0, 255);">&quot;abc&quot;</span>); <span style="color: rgb(51, 153, 102);">//string</span><br />
getType(<span style="color: rgb(0, 0, 255);">true</span>); <span style="color: rgb(51, 153, 102);">//boolean</span><br />
getType(123);<span style="color: rgb(51, 153, 102);"> //number</span><br />
getType([]); <span style="color: rgb(51, 153, 102);">//array</span><br />
getType({}); <span style="color: rgb(51, 153, 102);">//object</span><br />
getType(<span style="color: rgb(0, 0, 255);">function</span>(){});<span style="color: rgb(51, 153, 102);"> //function</span><br />
getType(<span style="color: rgb(0, 0, 255);">new </span><span style="color: rgb(255, 0, 0);">Date</span>);<span style="color: rgb(51, 153, 102);"> //date</span><br />
getType(<span style="color: rgb(0, 0, 255);">new </span><span style="color: rgb(255, 0, 0);">RegExp</span>); <span style="color: rgb(51, 153, 102);">//regexp</span><br />
getType(<span style="color: rgb(255, 0, 0);">Math</span>); <span style="color: rgb(51, 153, 102);">//math</span></span><br />
<span style="font-family: Courier New;">getType(null); <span style="color: rgb(51, 153, 102);">//null</span></span></p>]]></description>
		</item>
		
			<item>
			<link>http://www.pjhome.net/article/Javascript/HTML5_Parsing_in_Gecko.htm</link>
			<title><![CDATA[Gecko 提供 HTML5 parser 支持了]]></title>
			<author>puterjam@gmail.com(puterjam)</author>
			<category><![CDATA[Javascript]]></category>
			<pubDate>Thu,09 Jul 2009 00:02:14 +0800</pubDate>
			<guid>http://www.pjhome.net/default.asp?id=1005</guid>
		<description><![CDATA[<p><img align="right" src="http://www.pjhome.net/attachments/month_0711/r2007111212953.gif" alt="" />Html 5的风越挂越猛了。在firefox 3.6a1pre版本中，加入了新的 HTML5 Parser 的支持。可以预见到这将会正式出现在下一个版本的Firefox中。<br />
&nbsp;</p>
<p>不过HTML 5 Parser能够做什么？ 简单描述一下，这可是一个大胃口的Parser. 它将有很好的向后兼容性。 能够在text/html页面上使用xml parser，而不需要使用xhtml（xhtml页面是否会从此消失呢?）。<br />
&nbsp;</p>
<p>有什么好处？大家都知道SVG是一个xml的数据。使用Html5 Parser我们可以不需要更改html页面的任何内容。和申请命名空间就可以在html页面上直接表现svg图像。<br />
&nbsp;</p>
<p>感兴趣的朋友，可以到这里找到一些<a href="http://hsivonen.iki.fi/test-html5-parsing/" target="_blank">范例</a>，不过在此之前需要下载最新的<a href="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/" target="_blank">午夜版firefox</a>.并且在 <em><strong>about:config</strong></em> 中打开 <strong><em>html5.enable</em></strong> HTML5 parser的支持。</p>]]></description>
		</item>
		
			<item>
			<link>http://www.pjhome.net/article/Javascript/firefox_overflow_bug.htm</link>
			<title><![CDATA[firefox 滚动残影的bug]]></title>
			<author>puterjam@gmail.com(puterjam)</author>
			<category><![CDATA[Javascript]]></category>
			<pubDate>Sat,04 Jul 2009 01:45:30 +0800</pubDate>
			<guid>http://www.pjhome.net/default.asp?id=1004</guid>
		<description><![CDATA[<p>不知道大家有没有遇到过，当我们设置了一个固定的浮动层后。在firefox下滚动会出现一些残影的情况？ 总觉得页面的表现很不流畅。而且这个情况，只出现在 firefox for win的版本（mac版的firefox不会出现）</p>
<p>&nbsp;</p>
<p>先看一下下面的视频（由于截屏软件录不了这个效果，只好拿手机录了）。</p>
<p><embed height="400" width="480" align="middle" src="http://player.youku.com/player.php/sid/XMTAyOTM0NjI0/v.swf" quality="high" allowscriptaccess="sameDomain" type="application/x-shockwave-flash"></embed></p>
<p>在视频里，我们很清楚得看到，白色的浮动层被快速的滚动切割成两半。</p>
<p>&nbsp;</p>
<p><strong>重现的代码片段：</strong></p>
<p><span style="color: rgb(153, 204, 0);">&lt;!--带 overflow-x:hidden 或则 overflow-y:hidden 的长条--&gt;</span><span style="color: rgb(153, 153, 153);"><br />
&nbsp;&nbsp;&nbsp; <span style="color: rgb(51, 102, 255);">&lt;div</span> style=&quot;width:300px;height:3000px;border:1px solid #333;background:#ccc url(http://www.iecool.cn/uppic/2007-3-27/206499575_2.jpg);<span style="color: rgb(255, 0, 0);"><strong>overflow-x:hidden</strong></span>&quot;<span style="color: rgb(51, 102, 255);">&gt;&lt;/div&gt;</span><br />
<br />
&nbsp;&nbsp;&nbsp; <span style="color: rgb(153, 204, 0);">&lt;!--带 button 的 position:fix Div--&gt;</span><br />
&nbsp;&nbsp;&nbsp; <span style="color: rgb(51, 102, 255);">&lt;div </span>style=&quot;<strong><span style="color: rgb(255, 0, 0);">position:fixed;</span></strong>width:200px;height:100px; left:200px;top:200px;border:1px solid #000;background:#fff;padding:6px&quot;<span style="color: rgb(51, 102, 255);">&gt;</span><br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style="color: rgb(153, 204, 0);">&lt;!--一个 button--&gt;</span><br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style="color: rgb(255, 0, 0);"><strong>&lt;button id=&quot;button1&quot;&gt;我是button&lt;/button&gt;</strong></span><br />
<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style="color: rgb(153, 204, 0);">&lt;!--一些开关--&gt;</span><span style="color: rgb(51, 102, 255);">&lt;br/&gt;&lt;br/&gt;</span><br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style="color: rgb(51, 102, 255);">&lt;a </span>href=&quot;#&quot; onclick=&quot;document.getElementById('button1').style.display = '';return false&quot;<span style="color: rgb(51, 102, 255);">&gt;</span>显示按钮<span style="color: rgb(51, 102, 255);">&lt;/a&gt;</span><br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <span style="color: rgb(51, 102, 255);">&lt;a </span>href=&quot;#&quot; onclick=&quot;document.getElementById('button1').style.display = 'none';return false&quot;<span style="color: rgb(51, 102, 255);">&gt;</span>隐藏按钮</span><span style="color: rgb(51, 102, 255);">&lt;/a&gt;<br />
&lt;/div&gt;</span></p>
<p>&nbsp;</p>
<p>两个 div ，其中不浮动的div，只要设置了overflow-x 或 overflow-y 的hidden属性，然后另外一个div设置成浮动，并且其html带一个 button 标签。就会让firefox在渲染上出现问题了。</p>
<p>&nbsp;</p>
<p><a target="_blank" href="http://www.pjhome.net/web/firefox_bug_1.htm">看在线的演示</a>，请用firefox 3.0以上任何版本，快速滚动滚动条。</p>
<p>&nbsp;</p>]]></description>
		</item>
		
			<item>
			<link>http://www.pjhome.net/article/Javascript/Google_Chrome_Debug.htm</link>
			<title><![CDATA[Google Chrome 支持脚本调试了]]></title>
			<author>puterjam@gmail.com(puterjam)</author>
			<category><![CDATA[Javascript]]></category>
			<pubDate>Sun,28 Jun 2009 01:40:18 +0800</pubDate>
			<guid>http://www.pjhome.net/default.asp?id=1003</guid>
		<description><![CDATA[<p style="text-align: center;"><img alt="" src="http://www.pjhome.net/attachments/month_0906/20090628013518.jpg" /></p>
<p>Google Chrome 3.0.190.4 版本中，终于把webkit的脚本调试器移植到开发者版本了。</p>
<p>Dev channel: <a href="http://www.google.com/chrome/eula.html?extra=devchannel">http://www.google.com/chrome/eula.html?extra=devchannel</a></p>
<p><img alt="" src="http://www.pjhome.net/attachments/month_0906/20090628013736.jpg" /></p>
<p>不过很可惜的是，数据库的调试功能没有了。</p>
<p>&nbsp;</p>
<p>另外，目前调试器还不太稳定，经常出现crash的情况。特别是在做profiles性能测试的时候。</p>
<p><img alt="" src="http://www.pjhome.net/attachments/month_0906/20090628013932.jpg" /></p>
<p>当然了，如果调试过程中遇到什么问题和bug， chrome团队也很欢迎大家<a target="_blank" href="http://code.google.com/p/chromium/issues/list?q=area%3DDevTools">提出问题</a>。</p>
<p>&nbsp;</p>
<p>呵呵，这下IE8不能说只有自己<a href="http://www.pjhome.net/article/Javascript/1001.htm" target="_blank">自带调试器</a>了。</p>]]></description>
		</item>
		
</channel>
</rss>
