<?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>Liu Zhongshu &#187; javascript</title>
	<atom:link href="http://www.liuzhongshu.com/tag/javascript/feed" rel="self" type="application/rss+xml" />
	<link>http://www.liuzhongshu.com</link>
	<description>幸福之人并非拥有一切，只是尽力享受生活的赐予。</description>
	<lastBuildDate>Sat, 31 Jul 2010 02:47:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Firebug调试JavaScript</title>
		<link>http://www.liuzhongshu.com/code/debug-javascip.html</link>
		<comments>http://www.liuzhongshu.com/code/debug-javascip.html#comments</comments>
		<pubDate>Tue, 14 Jul 2009 14:37:02 +0000</pubDate>
		<dc:creator>zhongshu</dc:creator>
				<category><![CDATA[code|编程]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.liuzhongshu.com/?p=825</guid>
		<description><![CDATA[FireBug可以调试Javascript代码，不过对于一个不熟悉的网页，想找到哪里设断点，可不是件容易的事情，因为很多的网页越来越复杂，可以嵌入或引入外部足够多的外部的Javascript代码，使得找到想调的代码变得很困难，比如
也不是我一个人遇到这样的问题，所以有人会想方设法的寻找解决方案，比较激进些的人给Firebug提了一个新的需求，让Firebug可以在下一次Javascript事件到来时自动断点，不过我们现在还没有福气用上包含这个功能的版本。
现实一点的解决方案，可以点击这里，要点是：

收藏一个链接，实际上是一段Javascipt代码
想要调试时，打开Firebug，使能调试和控制台。
点击收藏的那个链接，这个链接所包含的代码，会插入到当前网页中，其中有一个函数可以设置在任意元素的某个事件上设置断点。
在Firebug的控制台下输入breakOn(&#8217;id&#8217;,'event&#8217;);
在那段插入的代码里设置断点，一切OK

看起来有些复杂，好处是不必对着大段的Javascript代码寻找该在哪里设断点了。。。
]]></description>
			<content:encoded><![CDATA[<p>FireBug可以调试Javascript代码，不过对于一个不熟悉的网页，想找到哪里设断点，可不是件容易的事情，因为很多的网页越来越复杂，可以嵌入或引入外部足够多的外部的Javascript代码，使得找到想调的代码变得很困难，比如</p>
<p>也不是我一个人遇到这样的问题，所以有人会想方设法的寻找解决方案，比较激进些的人给Firebug提了一个新的需求，让Firebug可以在下一次Javascript事件到来时自动断点，不过我们现在还没有福气用上包含这个功能的版本。</p>
<p>现实一点的解决方案，可以点击<a href="http://www.thetruetribe.com/javascript/25-ajax/57-use-firebug-to-break-on-any-event" target="_blank">这里</a>，要点是：</p>
<ul>
<li>收藏一个链接，实际上是一段Javascipt代码</li>
<li>想要调试时，打开Firebug，使能调试和控制台。</li>
<li>点击收藏的那个链接，这个链接所包含的代码，会插入到当前网页中，其中有一个函数可以设置在任意元素的某个事件上设置断点。</li>
<li>在Firebug的控制台下输入breakOn(&#8217;id&#8217;,'event&#8217;);</li>
<li>在那段插入的代码里设置断点，一切OK</li>
</ul>
<p>看起来有些复杂，好处是不必对着大段的Javascript代码寻找该在哪里设断点了。。。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liuzhongshu.com/code/debug-javascip.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS/XHTML/JS CheckList</title>
		<link>http://www.liuzhongshu.com/design/css-xhtml-js-checklist.html</link>
		<comments>http://www.liuzhongshu.com/design/css-xhtml-js-checklist.html#comments</comments>
		<pubDate>Sat, 28 Mar 2009 12:00:22 +0000</pubDate>
		<dc:creator>zhongshu</dc:creator>
				<category><![CDATA[design|设计、涂鸦]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.liuzhongshu.com/design/css-xhtml-js-checklist.html</guid>
		<description><![CDATA[网页制作在这些年所用的技术已经发生了很大的变化，虽然所有的浏览器仍然支持早期的Table布局方法，但现今主流的布局方法已经是CSS了，随着JQuery的崛起，Javascript在前端所使用的频率也越来越高了，很多CSS/Javascript配合的效果完全可以达到以往只有桌面软件才能见到的UI特性，下面是我的一些使用CSS/XHTML/JS的经验记录：

如果想得到好的布局，使用CSS，如果想得到好的UI效果，使用Javascript，更确切的说，是使用JQuery，学习JQuery绝对值得。
JQuery有很多插件，但质量并不是都很好，需要仔细挑选，比如为了实现Lightbox效果，JQuery下就有大概不下10个类似的插件。
在网页上加上XHTML和CSS的检查器，这会让你非常方便的检查你的网页的标准兼容性。
Firefox是极好的标准兼容浏览器，也方便做网页的测试，但绝对不要忘记IE，IE6由于XP的长红仍然会很长时间占有很大的份额，而IE6恰恰是个标准不太友好的浏览器，必须记得测试IE6。
随时需要妥协，因为你需要你的网页能够被大多数人访问并好用，而不是技术有多先进或有多么的标准兼容，比如Youtube给出的Flash嵌入HTML代码就不能通过XHTML检查器，但却是兼容效果最好的。

]]></description>
			<content:encoded><![CDATA[<p>网页制作在这些年所用的技术已经发生了很大的变化，虽然所有的浏览器仍然支持早期的Table布局方法，但现今主流的布局方法已经是CSS了，随着<a href="http://jquery.com/" target="_blank">JQuery</a>的崛起，Javascript在前端所使用的频率也越来越高了，很多CSS/Javascript配合的效果完全可以达到以往只有桌面软件才能见到的UI特性，下面是我的一些使用CSS/XHTML/JS的经验记录：</p>
<ul>
<li>如果想得到好的布局，使用CSS，如果想得到好的UI效果，使用Javascript，更确切的说，是使用JQuery，学习JQuery绝对值得。</li>
<li>JQuery有很多插件，但质量并不是都很好，需要仔细挑选，比如为了实现<a href="http://www.lokeshdhakar.com/projects/lightbox2/" target="_blank">Lightbox</a>效果，JQuery下就有大概不下10个类似的插件。</li>
<li>在网页上加上XHTML和CSS的检查器，这会让你非常方便的检查你的网页的标准兼容性。</li>
<li>Firefox是极好的标准兼容浏览器，也方便做网页的测试，但绝对不要忘记IE，IE6由于XP的长红仍然会很长时间占有很大的份额，而IE6恰恰是个标准不太友好的浏览器，必须记得测试IE6。</li>
<li>随时需要妥协，因为你需要你的网页能够被大多数人访问并好用，而不是技术有多先进或有多么的标准兼容，比如Youtube给出的Flash嵌入HTML代码就不能通过XHTML检查器，但却是兼容效果最好的。</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.liuzhongshu.com/design/css-xhtml-js-checklist.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JQuery</title>
		<link>http://www.liuzhongshu.com/tech/jquery.html</link>
		<comments>http://www.liuzhongshu.com/tech/jquery.html#comments</comments>
		<pubDate>Thu, 19 Mar 2009 07:58:44 +0000</pubDate>
		<dc:creator>zhongshu</dc:creator>
				<category><![CDATA[tech|软件、开源、业界]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.liuzhongshu.com/tech/jquery.html</guid>
		<description><![CDATA[ Javascript框架很多，根据不同的目的，似乎可以选用不同的框架，不过一般性的使用中，JQuery似乎逐渐胜出了。
要加载jquery.js，需要写一句话在HTML里，当然也可以是jquery.min.js（压缩版的jquery）：
&#60;script type="text/javascript" src="jquery.js"&#62;&#60;/script&#62;
在HTML里面需要一些可被Javascipt访问的对象，比如一个简单的链接：
&#60;a href=""&#62;Link&#60;/a&#62;
现在可以在其它Javascript代码中使用JQuery了，比如在你的代码块中：
$(document).ready(function() {
   $("a").click(function() {
     alert("Hello world!");
   });
 });
这就是为了在HTML加载完之后设置那个链接的onClick函数，这样写似乎看不出JQuery的好处，虽然美其名曰是逻辑和显示分离，但我其实也觉得 &#60; a onlick＝ &#62;也蛮好的。不过jQuery不仅仅完成这么点事情，jQuery的强大之处在于上面的$(&#8221;a&#8221;)这种表达式的表达能力和级联，当把这种表达式级联起来，我们可以看到jQuery的简洁和强大，比如一个faq页面，你希望先将答案收起来，在用户点击问题之后才显示答案，那么可以这么做：
 $('#faq').find('a2').hide().end().find('q2').click(function() {
     $(this).next().slideToggle();
   });
稍微解释一下，find在找到第二个问题的答案(a2)后将它hide起来，然后的end是为了undo前面的find，这样后面可以重新在faq下面find，接下来找到第二个问题(q2)，并挂接它的onclick事件，看起来很简单，但开始的时候有点让人迷糊，不过这习惯后，我觉得应该比较好理解和维护吧。
除了这些以外，JQuery还提供诸如Ajax、Animation、插件等各种功能，尤其是很多功能是通过JQuery的插件来完成的，比如客户端的Javascript UI整个是在一个插件中做的，再看看这个FancyBox插件，是不是让人很垂涎。。。
不过无论你用JQuery想做什么，这个入门文档总值得先看一下。
]]></description>
			<content:encoded><![CDATA[<p> Javascript框架很多，根据不同的目的，似乎可以选用不同的框架，不过一般性的使用中，JQuery似乎逐渐胜出了。</p>
<p>要加载jquery.js，需要写一句话在HTML里，当然也可以是jquery.min.js（压缩版的jquery）：</p>
<pre>&lt;script type="text/javascript" src="jquery.js"&gt;&lt;/script&gt;</pre>
<p>在HTML里面需要一些可被Javascipt访问的对象，比如一个简单的链接：</p>
<pre>&lt;a href=""&gt;Link&lt;/a&gt;</pre>
<p>现在可以在其它Javascript代码中使用JQuery了，比如在你的代码块中：</p>
<pre>$(document).ready(function() {
   $("a").click(function() {
     alert("Hello world!");
   });
 });</pre>
<p>这就是为了在HTML加载完之后设置那个链接的onClick函数，这样写似乎看不出JQuery的好处，虽然美其名曰是逻辑和显示分离，但我其实也觉得 &lt; a onlick＝ &gt;也蛮好的。不过jQuery不仅仅完成这么点事情，jQuery的强大之处在于上面的$(&#8221;a&#8221;)这种表达式的表达能力和级联，当把这种表达式级联起来，我们可以看到jQuery的简洁和强大，比如一个faq页面，你希望先将答案收起来，在用户点击问题之后才显示答案，那么可以这么做：</p>
<pre> $('#faq').find('a2').hide().end().find('q2').click(function() {
     $(this).next().slideToggle();
   });</pre>
<p>稍微解释一下，find在找到第二个问题的答案(a2)后将它hide起来，然后的end是为了undo前面的find，这样后面可以重新在faq下面find，接下来找到第二个问题(q2)，并挂接它的onclick事件，看起来很简单，但开始的时候有点让人迷糊，不过这习惯后，我觉得应该比较好理解和维护吧。</p>
<p>除了这些以外，JQuery还提供诸如Ajax、Animation、插件等各种功能，尤其是很多功能是通过JQuery的插件来完成的，比如客户端的Javascript UI整个是在一个插件中做的，再看看这个<a href="http://fancy.klade.lv/" target="_blank">FancyBox</a>插件，是不是让人很垂涎。。。</p>
<p>不过无论你用JQuery想做什么，<a href="http://docs.jquery.com/Tutorials:Getting_Started_with_jQuery">这个入门文档</a>总值得先看一下。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liuzhongshu.com/tech/jquery.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascript的编码与解码</title>
		<link>http://www.liuzhongshu.com/code/javascript-pack-and-unpack.html</link>
		<comments>http://www.liuzhongshu.com/code/javascript-pack-and-unpack.html#comments</comments>
		<pubDate>Wed, 11 Mar 2009 09:20:22 +0000</pubDate>
		<dc:creator>zhongshu</dc:creator>
				<category><![CDATA[code|编程]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.liuzhongshu.com/code/javascript-pack-and-unpack.html</guid>
		<description><![CDATA[还记得Google的很多网页会把自己的Javascipt编码的非常简洁难读，现在这种方式已经成为一个惯例了，很多的网站都会使用某种Javascript的编码器，既可以加快加载速度，也可以保护代码。各种更好的工具也应运而生，其中的一个很常用的工具是Dean Edwards的packer，它可以明显的减小javascript代码大小，要判断是否是这个packer生成的代码也很简单，看看Javascript代码，如果是这个样子：
eval(function(p,a,c,k,e,r)&#8230;
基本上就知道了，它是被packer打过包了，这个时候你想看懂它已经是不可能了，必须unpacker一下，不过作者可能处于允许使用者保护自己代码的考虑，并没有提供这个解码的方法， 但是又有牛人发现了作者其实留下了这个“接口”，只是将它缺省关闭了，好了看看这个链接，上面有个按钮可以执行一段Javascript代码，把这个按钮拖到书签栏里，然后。。。呵呵，你知道怎么做吗？
]]></description>
			<content:encoded><![CDATA[<p>还记得Google的很多网页会把自己的Javascipt编码的非常简洁难读，现在这种方式已经成为一个惯例了，很多的网站都会使用某种Javascript的编码器，既可以加快加载速度，也可以保护代码。各种更好的工具也应运而生，其中的一个很常用的工具是<a href="http://dean.edwards.name/packer/" target="_blank">Dean Edwards的packer</a>，它可以明显的减小javascript代码大小，要判断是否是这个packer生成的代码也很简单，看看Javascript代码，如果是这个样子：</p>
<p>eval(function(p,a,c,k,e,r)&#8230;</p>
<p>基本上就知道了，它是被packer打过包了，这个时候你想看懂它已经是不可能了，必须unpacker一下，不过作者可能处于允许使用者保护自己代码的考虑，并没有提供这个解码的方法， 但是又有牛人发现了作者其实留下了这个“接口”，只是将它缺省关闭了，好了看看这个<a href="http://yaisb.blogspot.com/2006/10/defeating-dean-edwards-javascript.html" target="_blank">链接</a>，上面有个按钮可以执行一段Javascript代码，把这个按钮拖到书签栏里，然后。。。呵呵，你知道怎么做吗？</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liuzhongshu.com/code/javascript-pack-and-unpack.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>收藏Javascript相关两篇</title>
		<link>http://www.liuzhongshu.com/design/bookmark-two-pages.html</link>
		<comments>http://www.liuzhongshu.com/design/bookmark-two-pages.html#comments</comments>
		<pubDate>Sun, 08 Jun 2008 13:30:40 +0000</pubDate>
		<dc:creator>zhongshu</dc:creator>
				<category><![CDATA[design|设计、涂鸦]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.liuzhongshu.com/design/bookmark-two-pages.html</guid>
		<description><![CDATA[Javascript组件化的趋势越来越明显，今天看的这篇文章列出了很多高质量的Javascript组件，比如图形框、日历、菜单等，值得收藏。
今天看的另一篇是Firebug插件的中文介绍，写的简要清晰。我虽然一直都装有这个插件，却一直当它是一个Javascript调试器用，而看了这篇文章才发现，Firebug的很多CSS/DOM方面的功能比Web Developer还要强大。
]]></description>
			<content:encoded><![CDATA[<p>Javascript组件化的趋势越来越明显，今天看的<a href="http://devkick.com/blog/milestone-01-70-high-end-components-for-web-designers-and-developers/" target="_blank">这篇文章</a>列出了很多高质量的Javascript组件，比如图形框、日历、菜单等，值得收藏。</p>
<p>今天看的另一篇是<a href="http://www.ruanyifeng.com/blog/2008/06/firebug_tutorial.html" target="_blank">Firebug插件的中文介绍</a>，写的简要清晰。我虽然一直都装有这个插件，却一直当它是一个Javascript调试器用，而看了这篇文章才发现，Firebug的很多CSS/DOM方面的功能比Web Developer还要强大。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liuzhongshu.com/design/bookmark-two-pages.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>HTML/CSS/JS编辑器-aptana</title>
		<link>http://www.liuzhongshu.com/code/html-css-js-editor-aptana.html</link>
		<comments>http://www.liuzhongshu.com/code/html-css-js-editor-aptana.html#comments</comments>
		<pubDate>Tue, 29 Jan 2008 12:32:54 +0000</pubDate>
		<dc:creator>zhongshu</dc:creator>
				<category><![CDATA[code|编程]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.liuzhongshu.com/archives/589</guid>
		<description><![CDATA[印象中，我曾经几次试图找一个顺手的HTML/CSS/JS编辑器，大多没有好的收获，或者不比gedit强多少，这个顽固的印象要改一改了，因为昨天发现了Aptana，一个开源的Web开发IDE。
Aptana基于Eclipse，支持各种Web设计和开发，比如XHTML/CSS以及Javascript， 我简单的用了一下它的编辑器编辑了一个css文件，相当的专业，丰富的代码提示以及浏览器兼容指示估计应该能让生产率提高不少，但我使用的功能很少，这只算一个良好的初步印象。
Aptana的安装很简单（很遗憾，暂时还不能用apt-get），下载那个Aptana Studio的Community版本就可以了，解开就可以直接执行，在我机器上，跑的不错。
一个插曲是，直接安装后的版本（我用的是1.1），居然将 a:hover 这类css修饰当成了错误（放了一个小红叉在代码行前），这应该算一个严重的bug了，虽然官方给出了解决方法（只需要修改一个设置），但还是给人感觉有些不严谨。
]]></description>
			<content:encoded><![CDATA[<p>印象中，我曾经几次试图找一个顺手的HTML/CSS/JS编辑器，大多没有好的收获，或者不比gedit强多少，这个顽固的印象要改一改了，因为昨天发现了<a href="http://www.aptana.com" target="_blank">Aptana</a>，一个开源的Web开发IDE。</p>
<p>Aptana基于Eclipse，支持各种Web设计和开发，比如XHTML/CSS以及Javascript， 我简单的用了一下它的编辑器编辑了一个css文件，相当的专业，丰富的代码提示以及浏览器兼容指示估计应该能让生产率提高不少，但我使用的功能很少，这只算一个良好的初步印象。</p>
<p>Aptana的安装很简单（很遗憾，暂时还不能用apt-get），下载那个Aptana Studio的Community版本就可以了，解开就可以直接执行，在我机器上，跑的不错。</p>
<p>一个插曲是，直接安装后的版本（我用的是1.1），居然将 a:hover 这类css修饰当成了错误（放了一个小红叉在代码行前），这应该算一个严重的bug了，虽然官方给出了<a href="http://forums.aptana.com/viewtopic.php?p=16911" target="_blank">解决方法</a>（只需要修改一个设置），但还是给人感觉有些不严谨。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liuzhongshu.com/code/html-css-js-editor-aptana.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>自己做墙纸</title>
		<link>http://www.liuzhongshu.com/tech/own-wallpaper.html</link>
		<comments>http://www.liuzhongshu.com/tech/own-wallpaper.html#comments</comments>
		<pubDate>Sat, 26 Jan 2008 11:51:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[tech|软件、开源、业界]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.liuzhongshu.com/archives/578</guid>
		<description><![CDATA[这个网站上提供了一个傻瓜式的墙纸制作工具，它使用背景+主题+附件的方式来“合成”一幅墙纸， 提供的资源还蛮丰富的，其中主题和附件部分都是带透明通道的，质量很好，在背景上的位置也可以随意移动，但不能缩放，所以做出的效果比较有限。
所有的功能是通过Javascript实现的，可能是图片的质量较高，制作墙纸时反应很慢，有点受不了。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.wallpapermaker.net/tool" target="_blank">这个网站</a>上提供了一个傻瓜式的墙纸制作工具，它使用背景+主题+附件的方式来“合成”一幅墙纸， 提供的资源还蛮丰富的，其中主题和附件部分都是带透明通道的，质量很好，在背景上的位置也可以随意移动，但不能缩放，所以做出的效果比较有限。</p>
<p>所有的功能是通过Javascript实现的，可能是图片的质量较高，制作墙纸时反应很慢，有点受不了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liuzhongshu.com/tech/own-wallpaper.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>解析Javascript“乱码”</title>
		<link>http://www.liuzhongshu.com/code/analysis-javascript-hash.html</link>
		<comments>http://www.liuzhongshu.com/code/analysis-javascript-hash.html#comments</comments>
		<pubDate>Fri, 23 Nov 2007 12:31:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[code|编程]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.liuzhongshu.com/archives/432</guid>
		<description><![CDATA[有些颇有心计的网站为了某些原因，会在Javascript上做手脚来&#34;加扰&#34;源码，典型的特征就是没有回车了，所有的代码揉成一行，相当壮观。我试过Linux下的一些编辑器来编辑这种源码，VIM和gedit都会被搞晕，变得很慢（当然是设置为Javascript代码时才会晕），KDE下的Kate表现的不错，可以非常快的高亮这种Javascript乱码，赞一个。但这几个编辑器都没有美化代码（重新排版）的功能，看起来还是头大的，不过网上有很多网站可以做这个事情。 
还有一些加扰度更高的Javascript代码，它们是用代码生成代码，这样就可以用一个长长的字符串，通过移位，替换等运算再得到源码，这个重新格式化也不顶用，需要先写一个HTML文件嵌入这段代码来让它运行一下，以得到解码后的代码，然后就好办了。
还有更复杂的&#34;加扰&#34;方法吗？ 不过相信也是能对付的，毕竟JS是源码解释执行的。 
]]></description>
			<content:encoded><![CDATA[<p>有些颇有心计的网站为了某些原因，会在Javascript上做手脚来&quot;加扰&quot;源码，典型的特征就是没有回车了，所有的代码揉成一行，相当壮观。我试过Linux下的一些编辑器来编辑这种源码，VIM和gedit都会被搞晕，变得很慢（当然是设置为Javascript代码时才会晕），KDE下的Kate表现的不错，可以非常快的高亮这种Javascript乱码，赞一个。但这几个编辑器都没有美化代码（重新排版）的功能，看起来还是头大的，不过网上有很多网站可以做这个事情。 </p>
<p>还有一些加扰度更高的Javascript代码，它们是用代码生成代码，这样就可以用一个长长的字符串，通过移位，替换等运算再得到源码，这个重新格式化也不顶用，需要先写一个HTML文件嵌入这段代码来让它运行一下，以得到解码后的代码，然后就好办了。</p>
<p>还有更复杂的&quot;加扰&quot;方法吗？ 不过相信也是能对付的，毕竟JS是源码解释执行的。 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.liuzhongshu.com/code/analysis-javascript-hash.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascript性能感受</title>
		<link>http://www.liuzhongshu.com/code/javascript-performance-feelings.html</link>
		<comments>http://www.liuzhongshu.com/code/javascript-performance-feelings.html#comments</comments>
		<pubDate>Fri, 16 Nov 2007 11:52:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[code|编程]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.liuzhongshu.com/archives/494</guid>
		<description><![CDATA[每次我看到一个页面（主要是指我自己实现的）加载很慢时，我就想知道藏在背后的瓶颈是什么。
拜charles所赐，我可以容易的观察HTTP交互中的耗时，但今天的一个页面令我稍有意外，因为瓶颈是在客户端的Javascript的执行上（charles测不出来），非常明显，当我使用firefox的Web developer工具条中的disable javascript之后，流畅的感觉就回来了（快一倍左右），所以用Javascript的同学们，悠着点。。。
尽管大多的评测表明IE6的Javascript性能很差（IE7好一些），比如这篇文章，
但我的实际感觉不是这样，我甚至认为IE6都要稍快于Firefox 2，难道是我的感觉系统出了偏差？
]]></description>
			<content:encoded><![CDATA[<p>每次我看到一个页面（主要是指我自己实现的）加载很慢时，我就想知道藏在背后的瓶颈是什么。</p>
<p>拜charles所赐，我可以容易的观察HTTP交互中的耗时，但今天的一个页面令我稍有意外，因为瓶颈是在客户端的Javascript的执行上（charles测不出来），非常明显，当我使用firefox的Web developer工具条中的disable javascript之后，流畅的感觉就回来了（快一倍左右），所以用Javascript的同学们，悠着点。。。</p>
<p>尽管大多的评测表明IE6的Javascript性能很差（IE7好一些），比如<a href="http://www.zimbra.com/blog/archives/2006/10/firefox_2_vs_ie_1.html" target="_blank">这篇</a>文章，<br />
但我的实际感觉不是这样，我甚至认为IE6都要稍快于Firefox 2，难道是我的感觉系统出了偏差？</p>
]]></content:encoded>
			<wfw:commentRss>http://www.liuzhongshu.com/code/javascript-performance-feelings.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>http://www.sideshowdigital.com/</title>
		<link>http://www.liuzhongshu.com/design/httpwwwsideshowdigitalcom.html</link>
		<comments>http://www.liuzhongshu.com/design/httpwwwsideshowdigitalcom.html#comments</comments>
		<pubDate>Thu, 08 Nov 2007 12:26:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[design|设计、涂鸦]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.liuzhongshu.com/archives/27</guid>
		<description><![CDATA[这个页面的布局挺有意思， 颜色和字体也不错，我还学了一招：
HTML中可以用下面的这个方法来隐藏Email地址（估计对Robot应该能管用吧）&#60;script language=javascript&#62;&#60;!&#8211;document.write(&#34;&#60;a hre&#34; + &#34;f=ma&#34; + &#34;ilt&#34; + &#34;o:usa&#34; + &#34;@sidesh&#34; + &#34;ow&#34; + &#34;digita&#34; + &#34; l.com&#34; + &#34;&#62;E-mai&#34; + &#34;l us&#60;&#34; + &#34;/a&#62;&#34; + &#34;&#34;)//&#8211;&#62;&#60;/script&#62;&#60;noscript&#62;&#60;a href=mailto:usa[AT]sideshowdigitalDOTcom&#62;E-mail us&#60;/a&#62;&#60;/noscript&#62; 
考虑的还挺全面的，没有Javascript时，只能用[AT] DOT 来糊弄了。 
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sideshowdigital.com/">这个页面</a>的布局挺有意思， 颜色和字体也不错，我还学了一招：</p>
<p>HTML中可以用下面的这个方法来隐藏Email地址（估计对Robot应该能管用吧）<br />&lt;script language=javascript&gt;<br />&lt;!&#8211;<br />document.write(&quot;&lt;a hre&quot; + &quot;f=ma&quot; + &quot;ilt&quot; + &quot;o:usa&quot; + &quot;@sidesh&quot; + &quot;ow&quot; + &quot;digita&quot; + &quot; <a href="http://l.com">l.com</a>&quot; + &quot;&gt;E-mai&quot; + &quot;l us&lt;&quot; + &quot;/a&gt;&quot; + &quot;&quot;)<br />//&#8211;&gt;<br />&lt;/script&gt;<br />&lt;noscript&gt;&lt;a href=mailto:<a href="mailto:usa">usa</a>[AT]sideshowdigitalDOTcom&gt;E-mail us&lt;/a&gt;&lt;/noscript&gt; </p>
<p>考虑的还挺全面的，没有Javascript时，只能用[AT] DOT 来糊弄了。 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.liuzhongshu.com/design/httpwwwsideshowdigitalcom.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
