<?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>Zend Studio &#187; ajax</title>
	<atom:link href="http://www.zendstudio.net/tag/ajax/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zendstudio.net</link>
	<description>提供zend studio教程、zend studio下载等相关资源的公益性站点。</description>
	<lastBuildDate>Fri, 30 Jul 2010 06:05:16 +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>非背景中图片的css sprites应用，来自google</title>
		<link>http://www.zendstudio.net/archives/css-sprites-from-google-inc/</link>
		<comments>http://www.zendstudio.net/archives/css-sprites-from-google-inc/#comments</comments>
		<pubDate>Sat, 09 May 2009 16:18:20 +0000</pubDate>
		<dc:creator>gently</dc:creator>
				<category><![CDATA[JS/DIV/CSS]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[css sprites]]></category>
		<category><![CDATA[div+css]]></category>

		<guid isPermaLink="false">http://www.zendstudio.net/?p=680</guid>
		<description><![CDATA[不常更新博客是可耻的，我常这样想。趁晚饭还没有准备完成的时候，写一下前些天注意到google的一个css sprites，页面是在google的搜索结果页面，例如在google搜索zend studio，就在这个页面，初看左上角的logo并无任何特别，当我准备将其另存为，我发现，这整张图片是这样的:

因为在背景中我是常用到或者看到css sprites，而这张图片是“前景”，看了下代码，还是很巧妙的。原理是这样的：父元素相对定位，定义宽和高，然后overflow:hidden,img用绝对定位，然后top和left来控制位置，就让多余的部分hidden了。
看代码：

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
&#60;!DOCTYPE HTML PUBLIC &#34;-//W3C//DTD HTML 4.01//EN&#34; &#34;http://www.w3.org/TR/html4/strict.dtd&#34;&#62;
&#60;html&#62;
	&#60;head&#62;
		&#60;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=UTF-8&#34;&#62;
		&#60;title&#62;Untitled Document&#60;/title&#62;
		&#60;style type=&#34;text/css&#34;&#62;
			body{background:#ccc}
			h1{padding:0;margin:0;font-size:small;}
			a#logo{position:relative;margin:14px 0 7px;width:150px;height:52px;overflow:hidden;display:block;}
			a#logo img{position:absolute;top:-26px;left:0;border:0;}
		&#60;/style&#62;
	&#60;/head&#62;
	&#60;body&#62;
		&#60;h1&#62;
			&#60;a id=&#34;logo&#34; title=&#34;google 主页&#34; href=&#34;http://www.google.cn/webhp?hl=zh-cn&#34;&#62;google&#60;img alt=&#34;&#34; src=&#34;http://www.google.cn/images/nav_logo4.png&#34; width=168 height=119&#62;&#60;/a&#62;
		&#60;/h1&#62;
		&#60;img alt=&#34;&#34; src=&#34;http://www.google.cn/images/nav_logo4.png&#34; width=168 height=119&#62;
	&#60;/body&#62;
&#60;/html&#62;

就是这样的“前景” css sprites，而背景的应用似乎更为简单，就是background-position了，吃饭！

	相关日志
	
	CSS hack几个新的标识符 &#8211; 区分IE7、IE6、FF和Opera (1)
	绝对定位的div层，别再让flash盖住了 (2)
	IE的绝对定位缺陷及修复方案 (2)
	bo-blog 的模板够烂 &#8211; 弄这个简约风格有感 (0)
	凑热闹 DIV+CSS 中float 属性用法 (1)


]]></description>
			<content:encoded><![CDATA[<p>不常更新博客是可耻的，我常这样想。趁晚饭还没有准备完成的时候，写一下前些天注意到google的一个css sprites，页面是在google的搜索结果页面，例如<a href="http://www.google.cn/search?hl=zh-CN&amp;q=zend+studio&amp;btnG=Google+%E6%90%9C%E7%B4%A2&amp;meta=&amp;aq=f&amp;oq=">在google搜索zend studio</a>，就在这个页面，初看左上角的logo并无任何特别，当我准备将其另存为，我发现，这整张图片是这样的:</p>
<p><a href="http://www.google.cn/images/nav_logo4.png"><img title="google logo" src="http://www.google.cn/images/nav_logo4.png" alt="google logo" width="168" height="119" /></a></p>
<p>因为在背景中我是常用到或者看到css sprites，而这张图片是“前景”，看了下代码，还是很巧妙的。原理是这样的：父元素相对定位，定义宽和高，然后overflow:hidden,img用绝对定位，然后top和left来控制位置，就让多余的部分hidden了。</p>
<p>看代码：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot; &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;
&lt;html&gt;
	&lt;head&gt;
		&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot;&gt;
		&lt;title&gt;Untitled Document&lt;/title&gt;
		&lt;style type=&quot;text/css&quot;&gt;
			body{background:#ccc}
			h1{padding:0;margin:0;font-size:small;}
			a#logo{position:relative;margin:14px 0 7px;width:150px;height:52px;overflow:hidden;display:block;}
			a#logo img{position:absolute;top:-26px;left:0;border:0;}
		&lt;/style&gt;
	&lt;/head&gt;
	&lt;body&gt;
		&lt;h1&gt;
			&lt;a id=&quot;logo&quot; title=&quot;google 主页&quot; href=&quot;http://www.google.cn/webhp?hl=zh-cn&quot;&gt;google&lt;img alt=&quot;&quot; src=&quot;http://www.google.cn/images/nav_logo4.png&quot; width=168 height=119&gt;&lt;/a&gt;
		&lt;/h1&gt;
		&lt;img alt=&quot;&quot; src=&quot;http://www.google.cn/images/nav_logo4.png&quot; width=168 height=119&gt;
	&lt;/body&gt;
&lt;/html&gt;</pre></td></tr></table></div>

<p>就是这样的“前景” css sprites，而背景的应用似乎更为简单，就是background-position了，吃饭！</p>

	<h4>相关日志</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.zendstudio.net/archives/some-newest-css-hack/" title="CSS hack几个新的标识符 &#8211; 区分IE7、IE6、FF和Opera (01/09/2008)">CSS hack几个新的标识符 &#8211; 区分IE7、IE6、FF和Opera</a> (1)</li>
	<li><a href="http://www.zendstudio.net/archives/layout-covered-flash-object/" title="绝对定位的div层，别再让flash盖住了 (11/22/2007)">绝对定位的div层，别再让flash盖住了</a> (2)</li>
	<li><a href="http://www.zendstudio.net/archives/ie6-position-absolute-bug-fixed/" title="IE的绝对定位缺陷及修复方案 (03/03/2008)">IE的绝对定位缺陷及修复方案</a> (2)</li>
	<li><a href="http://www.zendstudio.net/archives/the-bad-template-boblog/" title="bo-blog 的模板够烂 &#8211; 弄这个简约风格有感 (01/30/2007)">bo-blog 的模板够烂 &#8211; 弄这个简约风格有感</a> (0)</li>
	<li><a href="http://www.zendstudio.net/archives/float-attributes-in-css/" title="凑热闹 DIV+CSS 中float 属性用法 (01/29/2007)">凑热闹 DIV+CSS 中float 属性用法</a> (1)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.zendstudio.net/archives/css-sprites-from-google-inc/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>仿芒果网机票预定智能输入提示，基于jquery</title>
		<link>http://www.zendstudio.net/archives/jquery-suggest-plugin-revised/</link>
		<comments>http://www.zendstudio.net/archives/jquery-suggest-plugin-revised/#comments</comments>
		<pubDate>Sat, 09 May 2009 04:39:16 +0000</pubDate>
		<dc:creator>gently</dc:creator>
				<category><![CDATA[JS/DIV/CSS]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[suggest]]></category>
		<category><![CDATA[智能输入]]></category>

		<guid isPermaLink="false">http://www.zendstudio.net/?p=677</guid>
		<description><![CDATA[这是一个完整的jquery插件，实际上是基于jquery的suggest插件修改的。
具体的功能如下：

点击输入框，自动列出热门出行城市；
支持中文/拼音/3字码 输入的智能提示；
支持键盘方向键选择、回车键确定；
支持选择后自定义callback函数；
支持IE6、IE7、IE8、Firefox

呃，实际上上面的很多都是原suggest插件中自有的，我只是去掉了其ajax获取数据的功能，因为这延迟稍微有些烦人。
看demo：仿芒果网机票预定智能输入提示demo
仿芒果网机票预定智能输入提示demo完整包下载
PS：3字码是航空系统中很常见的为每个城市定义的不重复的特殊3位字符串，比如pek代表北京，sha代表上海等等。

	相关日志
	
	接触伟大的jquery -优雅的JS库 (0)
	非背景中图片的css sprites应用，来自google (5)
	div-css.com上一个javascript实例的jquery模仿（二） (0)
	js dom元素查找方法的总结 (3)
	div-css.com上一个javascript实例的jquery模仿（三） (0)


]]></description>
			<content:encoded><![CDATA[<p>这是一个完整的jquery插件，实际上是基于jquery的<a href="http://www.vulgarisoip.com/2007/08/06/jquerysuggest-11/">suggest插件</a>修改的。</p>
<p>具体的功能如下：</p>
<ol style="padding-left:20px;margin-left:10px;">
<li>点击输入框，自动列出热门出行城市；</li>
<li>支持中文/拼音/3字码 输入的智能提示；</li>
<li>支持键盘方向键选择、回车键确定；</li>
<li>支持选择后自定义callback函数；</li>
<li>支持IE6、IE7、IE8、Firefox</li>
</ol>
<p>呃，实际上上面的很多都是原suggest插件中自有的，我只是去掉了其ajax获取数据的功能，因为这延迟稍微有些烦人。</p>
<p>看demo：<a href="http://x.zendstudio.net/libs/jquery-suggest-revised/">仿芒果网机票预定智能输入提示demo</a></p>
<p><a href="http://x.zendstudio.net/libs/jquery-suggest-revised/jquery-suggest-revised.zip">仿芒果网机票预定智能输入提示demo完整包下载</a></p>
<p>PS：3字码是航空系统中很常见的为每个城市定义的不重复的特殊3位字符串，比如pek代表北京，sha代表上海等等。</p>

	<h4>相关日志</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.zendstudio.net/archives/marry-the-jquery/" title="接触伟大的jquery -优雅的JS库 (09/13/2007)">接触伟大的jquery -优雅的JS库</a> (0)</li>
	<li><a href="http://www.zendstudio.net/archives/css-sprites-from-google-inc/" title="非背景中图片的css sprites应用，来自google (05/10/2009)">非背景中图片的css sprites应用，来自google</a> (5)</li>
	<li><a href="http://www.zendstudio.net/archives/mimic-divcsscom-example-2-use-jquery/" title="div-css.com上一个javascript实例的jquery模仿（二） (10/16/2007)">div-css.com上一个javascript实例的jquery模仿（二）</a> (0)</li>
	<li><a href="http://www.zendstudio.net/archives/js-dom-summarize/" title="js dom元素查找方法的总结 (11/22/2008)">js dom元素查找方法的总结</a> (3)</li>
	<li><a href="http://www.zendstudio.net/archives/mimic-divcsscom-example-3-use-jquery/" title="div-css.com上一个javascript实例的jquery模仿（三） (10/16/2007)">div-css.com上一个javascript实例的jquery模仿（三）</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.zendstudio.net/archives/jquery-suggest-plugin-revised/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>某网站AJAX的加密压缩传输算法的一点研究</title>
		<link>http://www.zendstudio.net/archives/js-zip-inflate/</link>
		<comments>http://www.zendstudio.net/archives/js-zip-inflate/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 11:27:24 +0000</pubDate>
		<dc:creator>gently</dc:creator>
				<category><![CDATA[JS/DIV/CSS]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[gzip]]></category>
		<category><![CDATA[inflate]]></category>
		<category><![CDATA[压缩算法]]></category>

		<guid isPermaLink="false">http://www.zendstudio.net/?p=176</guid>
		<description><![CDATA[AJAX还是比较强大的！（显然，这是一句废话），最近在研究一个网站的AJAX应用中发现其中的“拓展视野”部分频频被挖掘出来（也由此可见，平时本人的视野有多么的狭窄了），首先是全站的JS全部使用packed进行了压缩，呃！也不知道这种称法是否正确，就是用eval(function(p,a,c,k,e,d){})的那种世界各地都很流行的压缩方法吧，在实际的观察中，一个压缩后仅为6K，在我将其转化为“肉眼能看清楚的代码”之后，足足有20K，可见其效果还是相当明显的；此外，用HttpWatch弄到了传输数据后，居然是加密的。。。形如下面这段：
q1YqT81MzyhRsqpWys3MU7Iy0FHKTaxQsjLWUUrLL8pNBMooqeoZpSnV6igVFGUmp2KoVDIzMrIwNdAzMFBC1pOiVFsLAA==

任何一个有些许密码学经验的同志都容易很看出来，这是base64编码(我实在不喜欢称这个为“加密”)，没错，和各位看官一样，我很快就用php自带的base64_decode函数对其进行了解密，如果您觉得问题到此为止，那就错了！这时我才稍稍感到了有些震撼，解密出来的数据

呃！一堆乱码，其实应该是二进制数据，加密了（后来知道是压缩了），可是用户是看不懂这些的，客户端是肯定要进行解密的！用什么？AJAX的当然用JS解密了，挖解密函数啊，挖解密函数，看到了如下的精彩代码：

1
var filterList=eval&#40;'('+utf8to16&#40;zip_depress&#40;base64decode&#40;g_pgFilterList&#41;&#41;&#41;+')'&#41;;

utf8to16()和base64decode()都好理解，也再一次证明加密的最后是用base64编码输出的，关键就是这个zip_depress()，zip解压？
是的，千真万确，用JS实现了zip的解压算法！！！到这里我深深的感到了震撼，原来，我知道的真的太少了啊！虽然之前知晓有md5.js，知道JS在运算方面是没有问题的。不会是这家伙自己写的压缩算法吧？经过搜索，我找到了这个算法（Zip inflate）的原版，原来该网站的制作人员修改了函数名，难怪我直接google不到呢？
什么是inflate算法？—

inflate是GZip, PNG等广泛使用的解压算法,linux也使用inflate对内核进行解压.inflate的解压算法使用的第3种快速解压法的一个子集,它不考虑LONG_CODE,同时把SAME_LENGTH合并到MEDIUM_CODE。而对于规则的SAME_LENGTH编码，比如length和distance编码，inflate则使用额外的base和extra表示。这是因为在构造一般的查找表时，虽然对于SAME_LENGTH前缀可以不构造副表，但我们需要另外一个表格来保存符号的顺序，而这个表格的空间可能更大。但对于length和distance编码，他们的顺序是递增的，所以无需额外的表格来保存符号的顺序。
inflate使用root表示上述的b,查找表的数据结构为code.主表和副同时保存在inflate_state结构中的大数组codes[ENOUGH]中.表的构造函数位于inftrees.c文件的inflate_table中.

令人感到欣喜若狂的是，PHP竟然已经提供的现成函数来解压和压缩inflate,它们是gzinflate()和gzdeflate()，哈哈哈！我不禁仰天狂笑的一番，用gzinflate()成功的将上文数据解密，内容是这样的

&#123;&#34;weight&#34;:&#123;&#34;min&#34;:0,&#34;max&#34;:3,&#34;format&#34;:&#34;%.2f&#34;&#125;,&#34;price&#34;:&#123;&#34;min&#34;:0,&#34;max&#34;:&#34;622850.00&#34;,&#34;format&#34;:&#34;%d&#34;&#125;&#125;

标准的JSON数据啦，不错！这就为以后的AJAX的传输上多了一个选择，虽然还不确定这种方法能否节省流量（因为base64算法会将原始数据“稍稍”增大），但客户端有了解压算法，服务端的php压缩函数又是现成的，大不了在base64这个环节上大概需要改进下，我想对于大流量的数据应该还是有确切效果的。嗯，我很满意。

	相关日志
	
	非背景中图片的css sprites应用，来自google (5)
	仿芒果网机票预定智能输入提示，基于jquery (15)


]]></description>
			<content:encoded><![CDATA[<p>AJAX还是比较强大的！（显然，这是一句废话），最近在研究一个网站的AJAX应用中发现其中的“拓展视野”部分频频被挖掘出来（也由此可见，平时本人的视野有多么的狭窄了），首先是全站的JS全部使用packed进行了压缩，呃！也不知道这种称法是否正确，就是用eval(function(p,a,c,k,e,d){})的那种世界各地都很流行的压缩方法吧，在实际的观察中，一个压缩后仅为6K，在我将其转化为“肉眼能看清楚的代码”之后，足足有20K，可见其效果还是相当明显的；此外，用<a href="http://www.httpwatch.com/" target="_blank">HttpWatch</a>弄到了传输数据后，居然是加密的。。。形如下面这段：<br />
<code>q1YqT81MzyhRsqpWys3MU7Iy0FHKTaxQsjLWUUrLL8pNBMooqeoZpSnV6igVFGUmp2KoVDIzMrIwNdAzMFBC1pOiVFsLAA==<br />
</code><br />
任何一个有些许密码学经验的同志都容易很看出来，这是base64编码(我实在不喜欢称这个为“加密”)，没错，和各位看官一样，我很快就用php自带的<a href="http://cn2.php.net/manual/en/function.base64-decode.php" target="_blank">base64_decode函数</a>对其进行了解密，如果您觉得问题到此为止，那就错了！这时我才稍稍感到了有些震撼，解密出来的数据<br />
<a href="http://www.zendstudio.net/wp-content/bo/attachment/200902/1235472916_12691d55.jpg" target="_blank"><img class="insertimage" src="http://www.zendstudio.net/wp-content/bo/attachment/200902/1235472916_12691d55.jpg" border="0" alt="" /></a><br />
呃！一堆乱码，其实应该是二进制数据，加密了（后来知道是压缩了），可是用户是看不懂这些的，客户端是肯定要进行解密的！用什么？<span id="more-176"></span>AJAX的当然用JS解密了，挖解密函数啊，挖解密函数，看到了如下的精彩代码：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> filterList<span style="color: #339933;">=</span><span style="color: #000066; font-weight: bold;">eval</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'('</span><span style="color: #339933;">+</span>utf8to16<span style="color: #009900;">&#40;</span>zip_depress<span style="color: #009900;">&#40;</span>base64decode<span style="color: #009900;">&#40;</span>g_pgFilterList<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">+</span><span style="color: #3366CC;">')'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>utf8to16()和base64decode()都好理解，也再一次证明加密的最后是用base64编码输出的，关键就是这个zip_depress()，zip解压？<br />
是的，千真万确，用JS实现了zip的解压算法！！！到这里我深深的感到了震撼，原来，我知道的真的太少了啊！虽然之前知晓有<a href="http://pajhome.org.uk/crypt/md5/md5src.html" target="_blank">md5.js</a>，知道JS在运算方面是没有问题的。不会是这家伙自己写的压缩算法吧？经过搜索，我找到了<a href="http://www.onicos.com/staff/iz/amuse/javascript/expert/inflate.txt" target="_blank">这个算法（Zip inflate）的原版</a>，原来该网站的制作人员修改了函数名，难怪我直接google不到呢？<br />
<strong>什么是inflate算法？—</strong></p>
<blockquote><p>
inflate是GZip, PNG等广泛使用的解压算法,linux也使用inflate对内核进行解压.inflate的解压算法使用的第3种快速解压法的一个子集,它不考虑LONG_CODE,同时把SAME_LENGTH合并到MEDIUM_CODE。而对于规则的SAME_LENGTH编码，比如length和distance编码，inflate则使用额外的base和extra表示。这是因为在构造一般的查找表时，虽然对于SAME_LENGTH前缀可以不构造副表，但我们需要另外一个表格来保存符号的顺序，而这个表格的空间可能更大。但对于length和distance编码，他们的顺序是递增的，所以无需额外的表格来保存符号的顺序。</p>
<p>inflate使用root表示上述的b,查找表的数据结构为code.主表和副同时保存在inflate_state结构中的大数组codes[ENOUGH]中.表的构造函数位于inftrees.c文件的inflate_table中.
</p></blockquote>
<p>令人感到欣喜若狂的是，PHP竟然已经提供的现成函数来解压和压缩inflate,它们是<a href="http://cn2.php.net/manual/en/function.gzinflate.php" target="_blank">gzinflate()</a>和<a href="http://cn2.php.net/manual/en/function.gzdeflate.php" target="_blank">gzdeflate()</a>，哈哈哈！我不禁仰天狂笑的一番，用gzinflate()成功的将上文数据解密，内容是这样的</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #009900;">&#123;</span><span style="color: #3366CC;">&quot;weight&quot;</span><span style="color: #339933;">:</span><span style="color: #009900;">&#123;</span><span style="color: #3366CC;">&quot;min&quot;</span><span style="color: #339933;">:</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;max&quot;</span><span style="color: #339933;">:</span><span style="color: #CC0000;">3</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;format&quot;</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;%.2f&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;price&quot;</span><span style="color: #339933;">:</span><span style="color: #009900;">&#123;</span><span style="color: #3366CC;">&quot;min&quot;</span><span style="color: #339933;">:</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;max&quot;</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;622850.00&quot;</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;format&quot;</span><span style="color: #339933;">:</span><span style="color: #3366CC;">&quot;%d&quot;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#125;</span></pre></div></div>

<p>标准的JSON数据啦，不错！这就为以后的AJAX的传输上多了一个选择，虽然还不确定这种方法能否节省流量（因为base64算法会将原始数据“稍稍”增大），但客户端有了解压算法，服务端的php压缩函数又是现成的，大不了在base64这个环节上大概需要改进下，我想对于大流量的数据应该还是有确切效果的。嗯，我很满意。</p>

	<h4>相关日志</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.zendstudio.net/archives/css-sprites-from-google-inc/" title="非背景中图片的css sprites应用，来自google (05/10/2009)">非背景中图片的css sprites应用，来自google</a> (5)</li>
	<li><a href="http://www.zendstudio.net/archives/jquery-suggest-plugin-revised/" title="仿芒果网机票预定智能输入提示，基于jquery (05/09/2009)">仿芒果网机票预定智能输入提示，基于jquery</a> (15)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.zendstudio.net/archives/js-zip-inflate/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
