<?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>岁月如歌 &#187; cache</title>
	<atom:link href="http://lifesinger.org/blog/tag/cache/feed/" rel="self" type="application/rss+xml" />
	<link>http://lifesinger.org/blog</link>
	<description>关注用户体验、前端开发，记录生活点滴、岁月足迹。</description>
	<lastBuildDate>Wed, 28 Jul 2010 00:40:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>给  JavaScript 文件传递参数的注意点</title>
		<link>http://lifesinger.org/blog/2009/11/the-trap-of-passing-params-to-javascript/</link>
		<comments>http://lifesinger.org/blog/2009/11/the-trap-of-passing-params-to-javascript/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 10:05:59 +0000</pubDate>
		<dc:creator>lifesinger</dc:creator>
				<category><![CDATA[开发]]></category>
		<category><![CDATA[arguments]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://lifesinger.org/blog/?p=2268</guid>
		<description><![CDATA[在 如何给 JavaScript 文件传递参数 一文中，介绍了一种传参方式： &#60;script type="text/javascript" src="test.js?a=b&#038;c=d"&#62;&#60;/script&#62; 这种方式看起来最漂亮最容易被后台程序员接受，但没有考虑到缓存因素。 由于参数一般都是变化的，上面的方式会导致 js 文件每次都重新下载，实在是很糟糕。 特发此文，警醒！]]></description>
			<content:encoded><![CDATA[<p>在 <a href="http://lifesinger.org/blog/2009/03/how-to-pass-params-to-javascript-file/">如何给 JavaScript 文件传递参数</a> 一文中，介绍了一种传参方式：</p>
<pre>
&lt;script type="text/javascript" src="test.js?a=b&#038;c=d"&gt;&lt;/script&gt;
</pre>
<p>这种方式看起来最漂亮最容易被后台程序员接受，但没有考虑到缓存因素。<br />
<strong>由于参数一般都是变化的，上面的方式会导致 js 文件每次都重新下载</strong>，实在是很糟糕。</p>
<p>特发此文，警醒！</p>
]]></content:encoded>
			<wfw:commentRss>http://lifesinger.org/blog/2009/11/the-trap-of-passing-params-to-javascript/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>浏览器后退操作时，表单状态的还原</title>
		<link>http://lifesinger.org/blog/2009/06/reset-form-on-back/</link>
		<comments>http://lifesinger.org/blog/2009/06/reset-form-on-back/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 15:33:30 +0000</pubDate>
		<dc:creator>lifesinger</dc:creator>
				<category><![CDATA[开发]]></category>
		<category><![CDATA[backspace]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[reset]]></category>
		<category><![CDATA[setTimeout]]></category>

		<guid isPermaLink="false">http://lifesinger.org/blog/?p=1829</guid>
		<description><![CDATA[测试页面：no_autocomplete_test.html 结论： Safari 和 Opera 是两个极端，一个完全还原，一个完全保留。 Firefox 下最简单的办法是设置 autocomplete = &#8216;off&#8217; 属性。 IE 必须在 setTimeout 中还原表单值才有效。 Chrome 除了不支持 onpageshow, 其它表现和 Firefox 一致。 最后胜出的是： 'v' == '\v' &#038;&#038; setTimeout(function() { // reset code }, 0); 同时在 html 中，将要还原的表单元素加上 autocomplete = &#8216;off&#8217; 属性。 最后，忘掉 Opera.]]></description>
			<content:encoded><![CDATA[<p>测试页面：<a href="http://lifesinger.org/lab/2009/no_autocomplete_test.html">no_autocomplete_test.html</a></p>
<p>结论：</p>
<ol>
<li>Safari 和 Opera 是两个极端，一个完全还原，一个完全保留。</li>
<li>Firefox 下最简单的办法是设置 autocomplete = &#8216;off&#8217; 属性。</li>
<li>IE 必须在 setTimeout 中还原表单值才有效。</li>
<li>Chrome 除了不支持 onpageshow, 其它表现和 Firefox 一致。</li>
</ol>
<p>最后胜出的是：</p>
<pre>
'v' == '\v' &#038;&#038; setTimeout(function() {
    // reset code
}, 0);
</pre>
<p>同时在 html 中，将要还原的表单元素加上 autocomplete = &#8216;off&#8217; 属性。<br />
最后，忘掉 Opera.</p>
]]></content:encoded>
			<wfw:commentRss>http://lifesinger.org/blog/2009/06/reset-form-on-back/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>
