<?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; Web</title>
	<atom:link href="http://www.jiehoo.me/category/web/feed" rel="self" type="application/rss+xml" />
	<link>http://www.jiehoo.me</link>
	<description>解己之惑，解人之惑</description>
	<lastBuildDate>Mon, 19 Jul 2010 10:01:51 +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>Drupal不是那么好玩的</title>
		<link>http://www.jiehoo.me/drupal%e4%b8%8d%e6%98%af%e9%82%a3%e4%b9%88%e5%a5%bd%e7%8e%a9%e7%9a%84.htm</link>
		<comments>http://www.jiehoo.me/drupal%e4%b8%8d%e6%98%af%e9%82%a3%e4%b9%88%e5%a5%bd%e7%8e%a9%e7%9a%84.htm#comments</comments>
		<pubDate>Thu, 17 Sep 2009 09:28:51 +0000</pubDate>
		<dc:creator>Cherami</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[drupal]]></category>

		<guid isPermaLink="false">http://www.jiehoo.com/drupal%e4%b8%8d%e6%98%af%e9%82%a3%e4%b9%88%e5%a5%bd%e7%8e%a9%e7%9a%84.htm</guid>
		<description><![CDATA[今天下午又试了下自定义Drupal，发现不是那么简单的。 下载了不少的module，CCK， view，以及Tagadelic和对应的view。 不过还是理解了一些东西了，基本的使用有些了解了，还需要进一步的自定义了。 PS：下载的主题ZEN感觉不太好啊，太简单了，特别默认是那个什么StarterKIT，没有什么布局嘛。]]></description>
			<content:encoded><![CDATA[<p class='fp'>今天下午又试了下自定义Drupal，发现不是那么简单的。<br />
下载了不少的module，CCK， view，以及Tagadelic和对应的view。<br />
不过还是理解了一些东西了，基本的使用有些了解了，还需要进一步的自定义了。<br />
PS：下载的主题ZEN感觉不太好啊，太简单了，特别默认是那个什么StarterKIT，没有什么布局嘛。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiehoo.me/drupal%e4%b8%8d%e6%98%af%e9%82%a3%e4%b9%88%e5%a5%bd%e7%8e%a9%e7%9a%84.htm/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>服务器端的分页功能</title>
		<link>http://www.jiehoo.me/%e6%9c%8d%e5%8a%a1%e5%99%a8%e7%ab%af%e7%9a%84%e5%88%86%e9%a1%b5%e5%8a%9f%e8%83%bd.htm</link>
		<comments>http://www.jiehoo.me/%e6%9c%8d%e5%8a%a1%e5%99%a8%e7%ab%af%e7%9a%84%e5%88%86%e9%a1%b5%e5%8a%9f%e8%83%bd.htm#comments</comments>
		<pubDate>Mon, 11 May 2009 03:01:18 +0000</pubDate>
		<dc:creator>Cherami</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[ZK]]></category>
		<category><![CDATA[分页]]></category>
		<category><![CDATA[服务器]]></category>

		<guid isPermaLink="false">http://www.jiehoo.com/%e6%9c%8d%e5%8a%a1%e5%99%a8%e7%ab%af%e7%9a%84%e5%88%86%e9%a1%b5%e5%8a%9f%e8%83%bd.htm</guid>
		<description><![CDATA[ZK的分页功能默认是在客户端做的，也就是服务器端返回所有的结果，然后客户端每次显示一页的数据，翻页的时候不提交请求到服务器端重新查询。如果服务器端返回的结果比较多，这种方案就不太好了，要实现服务器端的分页也很简单，在使用Listbox或者grid的时候不要使用mold=&#34;paging&#34;，而是添加一个Paging组件： &#60;paging id=&#34;groupListboxPaging&#34; pageSize=&#34;10&#34;/&#62; 然后给Paging增加事件监听： &#160;&#160;&#160;&#160;&#160;&#160;&#160; final Paging paging = getPaging(pagingName); &#160;&#160;&#160;&#160;&#160;&#160;&#160; paging.addEventListener( &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &#34;onPaging&#34;, new EventListener() &#160;&#160;&#160;&#160;&#160;&#160;&#160; { &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; public void onEvent(Event event) &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; { &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; PagingEvent pagingEvent = (PagingEvent) event; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; int pageNumber = pagingEvent.getActivePage(); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; int firstRow = pageNumber * paging.getPageSize(); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; queryInfos.get(listName).getPageInfo().setFirstRow(firstRow); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; refreshList(listName); &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; } &#160;&#160;&#160;&#160;&#160;&#160;&#160; }); 代码中的getPaging和refreshList都是我自定义的方法，getPaging很简单，因为我的这个代码是在自定义的Window类里面的，所以： &#160;&#160;&#160; protected [...]]]></description>
			<content:encoded><![CDATA[<p class='fp'>ZK的分页功能默认是在客户端做的，也就是服务器端返回所有的结果，然后客户端每次显示一页的数据，翻页的时候不提交请求到服务器端重新查询。如果服务器端返回的结果比较多，这种方案就不太好了，要实现服务器端的分页也很简单，在使用Listbox或者grid的时候不要使用mold=&quot;paging&quot;，而是添加一个Paging组件：<br />
&lt;paging id=&quot;groupListboxPaging&quot; pageSize=&quot;10&quot;/&gt;<br />
然后给Paging增加事件监听：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; final Paging paging = getPaging(pagingName);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; paging.addEventListener(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;onPaging&quot;, new EventListener()<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void onEvent(Event event)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; PagingEvent pagingEvent = (PagingEvent) event;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int pageNumber = pagingEvent.getActivePage();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int firstRow = pageNumber * paging.getPageSize();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; queryInfos.get(listName).getPageInfo().setFirstRow(firstRow);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; refreshList(listName);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; });<br />
代码中的getPaging和refreshList都是我自定义的方法，getPaging很简单，因为我的这个代码是在自定义的Window类里面的，所以：<br />
&nbsp;&nbsp;&nbsp; protected Paging getPaging(String pagingName)<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return (Paging) getFellow(pagingName);<br />
&nbsp;&nbsp;&nbsp; }<br />
而refreshList就比较复杂一些了，根据传入的list的名字查询结果并刷新list：<br />
&nbsp;&nbsp;&nbsp; public void refreshList(String name)<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; getListbox(getListboxName(name)).setModel(new BindingListModelList(list(name), false));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch (Throwable t)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; handleException(t);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
核心就是拿到Listbox或者Grid然后setModel。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiehoo.me/%e6%9c%8d%e5%8a%a1%e5%99%a8%e7%ab%af%e7%9a%84%e5%88%86%e9%a1%b5%e5%8a%9f%e8%83%bd.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>越来越喜欢ZK了</title>
		<link>http://www.jiehoo.me/%e8%b6%8a%e6%9d%a5%e8%b6%8a%e5%96%9c%e6%ac%a2zk%e4%ba%86.htm</link>
		<comments>http://www.jiehoo.me/%e8%b6%8a%e6%9d%a5%e8%b6%8a%e5%96%9c%e6%ac%a2zk%e4%ba%86.htm#comments</comments>
		<pubDate>Thu, 07 May 2009 02:10:02 +0000</pubDate>
		<dc:creator>Cherami</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[ZK]]></category>

		<guid isPermaLink="false">http://www.jiehoo.com/%e8%b6%8a%e6%9d%a5%e8%b6%8a%e5%96%9c%e6%ac%a2zk%e4%ba%86.htm</guid>
		<description><![CDATA[这几天一直在研究ZK，感觉是我做web开发以来见到的最好的Web的UI框架。 美国那边的Consultant在给我们做UI，但是他们的UI的框架还在开发中，而且好像还在根据我们的一些要求不断的修改他们自己的框架，所以进度很慢，上个星期给了一个final drop，但是问题多多，发了一个问题列表，到现在也没有任何回应，我就趁着这个功夫用ZK做了一份功能和UI类似的，从代码量上讲比那个少，而且最重要的是UI的代码很干净整洁。 以后会大力推广这个东东，把我的经验都整理出来。]]></description>
			<content:encoded><![CDATA[<p class='fp'>这几天一直在<a href="http://www.jiehoo.com/zk%E7%A1%AE%E5%AE%9E%E4%B8%8D%E9%94%99.htm">研究ZK</a>，感觉是我做web开发以来见到的最好的Web的UI框架。<br />
美国那边的Consultant在给我们做UI，但是他们的UI的框架还在开发中，而且好像还在根据我们的一些要求不断的修改他们自己的框架，所以进度很慢，上个星期给了一个final drop，但是问题多多，发了一个问题列表，到现在也没有任何回应，我就趁着这个功夫用ZK做了一份功能和UI类似的，从代码量上讲比那个少，而且最重要的是UI的代码很干净整洁。</p>
<p>以后会大力推广这个东东，把我的经验都整理出来。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiehoo.me/%e8%b6%8a%e6%9d%a5%e8%b6%8a%e5%96%9c%e6%ac%a2zk%e4%ba%86.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ZK确实不错</title>
		<link>http://www.jiehoo.me/zk%e7%a1%ae%e5%ae%9e%e4%b8%8d%e9%94%99.htm</link>
		<comments>http://www.jiehoo.me/zk%e7%a1%ae%e5%ae%9e%e4%b8%8d%e9%94%99.htm#comments</comments>
		<pubDate>Thu, 30 Apr 2009 09:35:37 +0000</pubDate>
		<dc:creator>Cherami</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[ZK]]></category>

		<guid isPermaLink="false">http://www.jiehoo.com/zk%e7%a1%ae%e5%ae%9e%e4%b8%8d%e9%94%99.htm</guid>
		<description><![CDATA[前几天抱怨没有好的Web框架，Bob推荐了ZK，这几天有时间的时候试了下，感觉确实不错。 用ZK做原型确实不错，数据都可以是hardcode的，ZK的文档基本上都是在这种模式下的，但是我打算做的是那种真正可以运行的demo，可以连接我们的后台Service跑的，这样搞的时候发现Sample奇缺，也没有好的最佳实践，主要是ZK本身确实很灵活，既可以在view里面嵌script实现，也可以写类来实现，而且也可以写类来创建组件，慢慢的摸索了下，根据自己的偏好搞出基本的东西来了。以后有时间搞完善了就放出来给大家参考吧。 ZK的几个主要问题： 没有真正的应用级的Sample，网站上的几个Real World Application都太简单 现在应用的范围似乎不广，资源也就不那么多 License比较难过，要么是GPL，要么是Commercial，所以现阶段只能拿来练手和做原型。 我比较认可的特性： 浏览器兼容性不错，几乎支持所有常见的浏览器 入门比较容易，入门级的文档还是比较完善的，参考手册也还可以接受 专注于Web，没有太去在意MVC之类，当然也并不限制你用MVC 缺省情况下的设置都比较好，例如ListBox或者Grid里面的各列的宽度以及默认宽度100%之类的 界面比较漂亮 功能比较齐全]]></description>
			<content:encoded><![CDATA[<p class='fp'>前几天<a href="http://www.jiehoo.com/web%e5%bc%80%e5%8f%91%e4%b8%ba%e4%bb%80%e4%b9%88%e6%b2%a1%e6%9c%89ui%e7%9a%84%e7%8e%8b%e8%80%85.htm">抱怨没有好的Web框架</a>，Bob推荐了ZK，这几天有时间的时候试了下，感觉确实不错。<br />
用ZK做原型确实不错，数据都可以是hardcode的，ZK的文档基本上都是在这种模式下的，但是我打算做的是那种真正可以运行的demo，可以连接我们的后台Service跑的，这样搞的时候发现Sample奇缺，也没有好的最佳实践，主要是ZK本身确实很灵活，既可以在view里面嵌script实现，也可以写类来实现，而且也可以写类来创建组件，慢慢的摸索了下，根据自己的偏好搞出基本的东西来了。以后有时间搞完善了就放出来给大家参考吧。<br />
ZK的几个主要问题：</p>
<ul>
<li>没有真正的应用级的Sample，网站上的几个Real World Application都太简单</li>
<li>现在应用的范围似乎不广，资源也就不那么多</li>
<li>License比较难过，要么是GPL，要么是Commercial，所以现阶段只能拿来练手和做原型。</li>
</ul>
<p>我比较认可的特性：</p>
<ul>
<li>浏览器兼容性不错，几乎支持所有常见的浏览器</li>
<li>入门比较容易，入门级的文档还是比较完善的，参考手册也还可以接受</li>
<li>专注于Web，没有太去在意MVC之类，当然也并不限制你用MVC</li>
<li>缺省情况下的设置都比较好，例如ListBox或者Grid里面的各列的宽度以及默认宽度100%之类的</li>
<li>界面比较漂亮</li>
<li>功能比较齐全</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.jiehoo.me/zk%e7%a1%ae%e5%ae%9e%e4%b8%8d%e9%94%99.htm/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Web开发为什么没有UI的王者</title>
		<link>http://www.jiehoo.me/web%e5%bc%80%e5%8f%91%e4%b8%ba%e4%bb%80%e4%b9%88%e6%b2%a1%e6%9c%89ui%e7%9a%84%e7%8e%8b%e8%80%85.htm</link>
		<comments>http://www.jiehoo.me/web%e5%bc%80%e5%8f%91%e4%b8%ba%e4%bb%80%e4%b9%88%e6%b2%a1%e6%9c%89ui%e7%9a%84%e7%8e%8b%e8%80%85.htm#comments</comments>
		<pubDate>Wed, 22 Apr 2009 07:00:30 +0000</pubDate>
		<dc:creator>Cherami</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://www.jiehoo.com/web%e5%bc%80%e5%8f%91%e4%b8%ba%e4%bb%80%e4%b9%88%e6%b2%a1%e6%9c%89ui%e7%9a%84%e7%8e%8b%e8%80%85.htm</guid>
		<description><![CDATA[做了这么多年的Web开发，感触最深的就是UI始终没有王者，虽然Web的Framework是一堆一堆，但是大家的注意力似乎都在MVC、Template以及Layout，以Java来说，历经了Servlet、JSP、TagLib以及JSF的变迁，当然其他的第三方的东西就更多的，但是就是没有一个成为事实标准，Struts勉强算一个强者，因为普及度最高，但是依然不能解决UI的表现力和交互性问题。我想这也是为什么现在AJAX以及RIA喧嚣尘上，但是无论是以JS为基础的AJAX还是RIA（以Flex和JavaXF为代表）的方案都不能解决全部的问题，无论是AJAX还是RIA，在交互性上都有不错的表现，特别是RIA，能够做出很酷很炫的界面，而以JS为基础的UI库也是不胜枚举，就是没有出现强者，各自分据一小块开发者。 这个问题应该是已经被问了无数次，但是迄今没有出来很好的方案，在最近的两年内都不太可能出现什么转机，唉。。。 更新： 下午看infoq刚好看到一个针对这个问题的访谈，访谈对象都是一些典型阵营的人，很有意思，看完的感受就是：各自力挺自家的方案。不管是否出于商业利益，这个访谈的结果只能更加证明web的UI端的混乱不会结束。也许不同的方案确实要应用到不同的场景，以内容为主的网站更加倾向于原来的HTML为主的方案，对交互性要求稍高的可能用AJAX，对交互性和表现力要求最高的就用RIA。]]></description>
			<content:encoded><![CDATA[<p class='fp'>做了这么多年的Web开发，感触最深的就是UI始终没有王者，虽然Web的Framework是一堆一堆，但是大家的注意力似乎都在MVC、Template以及Layout，以Java来说，历经了Servlet、JSP、TagLib以及JSF的变迁，当然其他的第三方的东西就更多的，但是就是没有一个成为事实标准，Struts勉强算一个强者，因为普及度最高，但是依然不能解决UI的表现力和交互性问题。我想这也是为什么现在AJAX以及RIA喧嚣尘上，但是无论是以JS为基础的AJAX还是RIA（以Flex和JavaXF为代表）的方案都不能解决全部的问题，无论是AJAX还是RIA，在交互性上都有不错的表现，特别是RIA，能够做出很酷很炫的界面，而以JS为基础的UI库也是不胜枚举，就是没有出现强者，各自分据一小块开发者。<br />
这个问题应该是已经被问了无数次，但是迄今没有出来很好的方案，在最近的两年内都不太可能出现什么转机，唉。。。</p>
<p>更新：<br />
下午看infoq刚好看到一个<a href="http://www.infoq.com/cn/articles/ria-panel">针对这个问题的访谈</a>，访谈对象都是一些典型阵营的人，很有意思，看完的感受就是：各自力挺自家的方案。不管是否出于商业利益，这个访谈的结果只能更加证明web的UI端的混乱不会结束。也许不同的方案确实要应用到不同的场景，以内容为主的网站更加倾向于原来的HTML为主的方案，对交互性要求稍高的可能用AJAX，对交互性和表现力要求最高的就用RIA。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiehoo.me/web%e5%bc%80%e5%8f%91%e4%b8%ba%e4%bb%80%e4%b9%88%e6%b2%a1%e6%9c%89ui%e7%9a%84%e7%8e%8b%e8%80%85.htm/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Chrome浏览器</title>
		<link>http://www.jiehoo.me/chrome%e6%b5%8f%e8%a7%88%e5%99%a8.htm</link>
		<comments>http://www.jiehoo.me/chrome%e6%b5%8f%e8%a7%88%e5%99%a8.htm#comments</comments>
		<pubDate>Fri, 05 Sep 2008 04:59:16 +0000</pubDate>
		<dc:creator>Cherami</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[浏览器]]></category>

		<guid isPermaLink="false">http://www.jiehoo.com/chrome%e6%b5%8f%e8%a7%88%e5%99%a8.htm</guid>
		<description><![CDATA[Chrome浏览器面世一天市场份额就占到了1％，由此可见google的影响力。我当然也是在第一时间就装上了使用，总体的感觉还是不错的，特别是它的这个名字和我的英文名发音差不多(Cherami)，不过依然有一些问题： 自动阻止了重复提交，我玩的网页游戏有买卖资源的功能，而卖资源的时候反应很慢，我一般都是狂点几十下，一下就可以把全部单子下完，但是Chrome自动阻止了这种行为，点击按钮没有得到响应时点击同一个按钮是无效的。 不能显示XML文件，我在做Web Service，用它不能查看我的WSDL文件内容，这个应该起码按照文本显示下吧。 不支持FCKEditor，也就是我的blog的编辑器，所以只能用IE或者FF写博，不知道是哪方面的问题 另外，Chrome可以导出IE的很多内容，最需要注意的是可以导出IE里面保存的表单密码，我想这个应该算IE的一个安全漏洞吧，最起码IE不会提供API去导出密码，所以google在这一点上涉嫌反向工程]]></description>
			<content:encoded><![CDATA[<p class='fp'>Chrome浏览器面世一天市场份额就占到了1％，由此可见google的影响力。我当然也是在第一时间就装上了使用，总体的感觉还是不错的，特别是它的这个名字和我的英文名发音差不多(Cherami)，不过依然有一些问题：</p>
<ul>
<li>自动阻止了重复提交，我玩的网页游戏有买卖资源的功能，而卖资源的时候反应很慢，我一般都是狂点几十下，一下就可以把全部单子下完，但是Chrome自动阻止了这种行为，点击按钮没有得到响应时点击同一个按钮是无效的。</li>
<li>不能显示XML文件，我在做Web Service，用它不能查看我的WSDL文件内容，这个应该起码按照文本显示下吧。</li>
<li>不支持FCKEditor，也就是我的blog的编辑器，所以只能用IE或者FF写博，不知道是哪方面的问题</li>
</ul>
<p>另外，Chrome可以导出IE的很多内容，最需要注意的是可以导出IE里面保存的表单密码，我想这个应该算IE的一个安全漏洞吧，最起码IE不会提供API去导出密码，所以google在这一点上涉嫌反向工程<img alt="" src="/FCKeditor/editor/images/smiley/msn/shades_smile.gif" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiehoo.me/chrome%e6%b5%8f%e8%a7%88%e5%99%a8.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>打开SSL后Apache的日志的问题</title>
		<link>http://www.jiehoo.me/%e6%89%93%e5%bc%80ssl%e5%90%8eapache%e7%9a%84%e6%97%a5%e5%bf%97%e7%9a%84%e9%97%ae%e9%a2%98.htm</link>
		<comments>http://www.jiehoo.me/%e6%89%93%e5%bc%80ssl%e5%90%8eapache%e7%9a%84%e6%97%a5%e5%bf%97%e7%9a%84%e9%97%ae%e9%a2%98.htm#comments</comments>
		<pubDate>Sat, 26 Jul 2008 10:46:08 +0000</pubDate>
		<dc:creator>Cherami</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[日志]]></category>

		<guid isPermaLink="false">http://www.jiehoo.com/%e6%89%93%e5%bc%80ssl%e5%90%8eapache%e7%9a%84%e6%97%a5%e5%bf%97%e7%9a%84%e9%97%ae%e9%a2%98.htm</guid>
		<description><![CDATA[帮别人做apache＋Tomcat的集群，另外只能对外开放SSL端口，所以用OpenSSL做了SSL的配置，然后我想看看他们的Access.log，但是修改配置后无效，后来发现是httpd-ssl.conf中的配置会覆盖httpd.conf中的配置，查了下apache的手册，发现原来虚拟主机的配置会覆盖系统的配置，而SSL的配置就是利用虚拟主机配置的，问题解决。 PS：apache2.2新增了一个很好的特点，就是SetEnvIf，可以设计Access.log中只纪录某些类型的访问，对于我们而言，主要关注的就是动态的内容，静态的内容不仅多，而且我们一般都不太关注，所以这样配置下就可以只纪录.do的请求： SetEnvIf Request_URI &#34;\.do&#34; is_action CustomLog logs/access.log common&#160; env=is_action]]></description>
			<content:encoded><![CDATA[<p class='fp'>帮别人做apache＋Tomcat的集群，另外只能对外开放SSL端口，所以用OpenSSL做了SSL的配置，然后我想看看他们的Access.log，但是修改配置后无效，后来发现是httpd-ssl.conf中的配置会覆盖httpd.conf中的配置，查了下apache的手册，发现原来虚拟主机的配置会覆盖系统的配置，而SSL的配置就是利用虚拟主机配置的，问题解决。</p>
<p>PS：apache2.2新增了一个很好的特点，就是SetEnvIf，可以设计Access.log中只纪录某些类型的访问，对于我们而言，主要关注的就是动态的内容，静态的内容不仅多，而且我们一般都不太关注，所以这样配置下就可以只纪录.do的请求：</p>
<p>SetEnvIf Request_URI &quot;\.do&quot; is_action<br />
CustomLog logs/access.log common&nbsp; env=is_action</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiehoo.me/%e6%89%93%e5%bc%80ssl%e5%90%8eapache%e7%9a%84%e6%97%a5%e5%bf%97%e7%9a%84%e9%97%ae%e9%a2%98.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache2.2和tomcat集成更加简单了</title>
		<link>http://www.jiehoo.me/apache22%e5%92%8ctomcat%e9%9b%86%e6%88%90%e6%9b%b4%e5%8a%a0%e7%ae%80%e5%8d%95%e4%ba%86.htm</link>
		<comments>http://www.jiehoo.me/apache22%e5%92%8ctomcat%e9%9b%86%e6%88%90%e6%9b%b4%e5%8a%a0%e7%ae%80%e5%8d%95%e4%ba%86.htm#comments</comments>
		<pubDate>Thu, 24 Jul 2008 06:46:05 +0000</pubDate>
		<dc:creator>Cherami</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[集成]]></category>
		<category><![CDATA[Tomcat]]></category>

		<guid isPermaLink="false">http://www.jiehoo.com/apache22%e5%92%8ctomcat%e9%9b%86%e6%88%90%e6%9b%b4%e5%8a%a0%e7%ae%80%e5%8d%95%e4%ba%86.htm</guid>
		<description><![CDATA[Apache2.2新增加了几个module，和tomcat集成更加的简单了： LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_http_module modules/mod_proxy_http.so ProxyRequests Off ProxyPass / balancer://myCluster/ &#60;Proxy balancer://myCluster/&#62; &#160;&#160;&#160;&#160;&#160;&#160; BalancerMember ajp://localhost:10009 route=tomcat1 &#160;&#160;&#160;&#160;&#160;&#160; BalancerMember ajp://localhost:20009 route=tomcat2 &#60;/Proxy&#62;]]></description>
			<content:encoded><![CDATA[<p class='fp'>Apache2.2新增加了几个module，和tomcat集成更加的简单了：</p>
<p>LoadModule proxy_module modules/mod_proxy.so<br />
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so<br />
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so<br />
LoadModule proxy_http_module modules/mod_proxy_http.so</p>
<p>ProxyRequests Off</p>
<p>ProxyPass / balancer://myCluster/<br />
&lt;Proxy balancer://myCluster/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BalancerMember ajp://localhost:10009 route=tomcat1<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BalancerMember ajp://localhost:20009 route=tomcat2<br />
&lt;/Proxy&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiehoo.me/apache22%e5%92%8ctomcat%e9%9b%86%e6%88%90%e6%9b%b4%e5%8a%a0%e7%ae%80%e5%8d%95%e4%ba%86.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IE不显示内容</title>
		<link>http://www.jiehoo.me/ie-show-blank-page.htm</link>
		<comments>http://www.jiehoo.me/ie-show-blank-page.htm#comments</comments>
		<pubDate>Wed, 28 Mar 2007 06:21:59 +0000</pubDate>
		<dc:creator>Cherami</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[空白]]></category>
		<category><![CDATA[FF]]></category>
		<category><![CDATA[IE]]></category>

		<guid isPermaLink="false">http://www.jiehoo.com/ie-show-blank-page.htm</guid>
		<description><![CDATA[呵呵，发现在很多情况下IE不显示网页的内容，如果查看源代码会发现页面的内容很多，目前发现的两个情况（使用的是IE6）： 如果script使用不正确，例如引用一个js文件写成：&#60;script language=&#34;javascript&#34; src=&#34;/js/common.js&#34; /&#62;，IE会忽略这个后面的全部内容，页面显示为空白。必须写成&#60;script language=&#34;javascript&#34; src=&#34;/js/common.js&#34;&#60;/script&#62;&#62;。 必须设置title，如果你写的title是：&#60;title /&#62;，IE也会忽略后面的内容。必须写成&#60;title&#62;&#60;/title&#62;或者根本没有。 感兴趣的可以试试： &#60;!DOCTYPE HTML PUBLIC &#34;-//W3C//DTD HTML 4.0 Transitional//EN&#34;&#62; &#60;html&#62; &#160;&#160;&#160; &#60;head&#62; &#160;&#160;&#160;&#160;&#160;&#160;&#160; &#60;title /&#62; &#160;&#160;&#160;&#160;&#160;&#160;&#160; &#60;link href=&#34;/stylesheet.css&#34; rel=&#34;stylesheet&#34; type=&#34;text/css&#34; /&#62; &#160;&#160;&#160;&#160;&#160;&#160;&#160; &#60;script language=&#34;javascript&#34; src=&#34;/js/common.js&#34; /&#62; &#160;&#160;&#160; &#60;/head&#62; &#160;&#160;&#160; &#60;body&#62; &#160;&#160;&#160; &#160;&#160;&#160; xxxxx &#160;&#160;&#160; &#60;/body&#62; &#60;/html&#62; 上面的两种情况在FF下不会有问题]]></description>
			<content:encoded><![CDATA[<p class='fp'>呵呵，发现在很多情况下IE不显示网页的内容，如果查看源代码会发现页面的内容很多，目前发现的两个情况（使用的是IE6）：</p>
<ol>
<li>如果script使用不正确，例如引用一个js文件写成：&lt;script language=&quot;javascript&quot; src=&quot;/js/common.js&quot; /&gt;，IE会忽略这个后面的全部内容，页面显示为空白。必须写成&lt;script language=&quot;javascript&quot; src=&quot;/js/common.js&quot;&lt;/script&gt;&gt;。</li>
<li>必须设置title，如果你写的title是：&lt;title /&gt;，IE也会忽略后面的内容。必须写成&lt;title&gt;&lt;/title&gt;或者根本没有。</li>
</ol>
<p>感兴趣的可以试试：<br />
&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0 Transitional//EN&quot;&gt;<br />
&lt;html&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;head&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;title /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;link href=&quot;/stylesheet.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;script language=&quot;javascript&quot; src=&quot;/js/common.js&quot; /&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/head&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;body&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; xxxxx<br />
&nbsp;&nbsp;&nbsp; &lt;/body&gt;<br />
&lt;/html&gt;<br />
上面的两种情况在FF下不会有问题</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiehoo.me/ie-show-blank-page.htm/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>欣赏JavaEye的开放性</title>
		<link>http://www.jiehoo.me/%e6%ac%a3%e8%b5%8fjavaeye%e7%9a%84%e5%bc%80%e6%94%be%e6%80%a7.htm</link>
		<comments>http://www.jiehoo.me/%e6%ac%a3%e8%b5%8fjavaeye%e7%9a%84%e5%bc%80%e6%94%be%e6%80%a7.htm#comments</comments>
		<pubDate>Tue, 27 Mar 2007 08:46:43 +0000</pubDate>
		<dc:creator>Cherami</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[JavaEye]]></category>
		<category><![CDATA[jr]]></category>

		<guid isPermaLink="false">http://www.jiehoo.com/%e6%ac%a3%e8%b5%8fjavaeye%e7%9a%84%e5%bc%80%e6%94%be%e6%80%a7.htm</guid>
		<description><![CDATA[在经历了两天的加班后，今天早上终于把演示做完了，没有出现大的问题，而我们也就可以喘息一天了，所以利用这个时间看看有什么新的技术动态没有，上JR上看了下，没有什么太吸引人的新闻和文章，去JavaEye看了下，发现JavaEye改版了（可能有半年没有去过了），然后发现我原来在JavaEye的注册用户没有了，就又注册了个，还好我的万能ID（cherami）没有被人用，注册后的短信给了我一个惊喜： 增加RSS自动博客导入功能 呵呵，没有犹豫，马上导入，不过这个同步需要时间，到目前位置还没有任何反应，不过光从这个设想看，就值得夸奖一下JavaEye的开放精神，现在有太多的人都有自己的独立域名的Blog，这个功能的推出无疑可以增加JavaEye的凝聚力。 2007年3月29日更新： 确认同步功能正常工作，不过有个担心就是，那个里面的评论和这里的评论分离了，不过好像有点吹毛求疵了。 另外就是这里的更新了，那边的应该不会更新吧？ 过几天看看JavaEye上的这个日志的内容就应该知道了。]]></description>
			<content:encoded><![CDATA[<p class='fp'>在<a href="http://www.jiehoo.com/overtime-work.htm">经历了两天的加班</a>后，今天早上终于把演示做完了，没有出现大的问题，而我们也就可以喘息一天了，所以利用这个时间看看有什么新的技术动态没有，上JR上看了下，没有什么太吸引人的新闻和文章，去JavaEye看了下，发现JavaEye改版了（可能有半年没有去过了），然后发现我原来在JavaEye的注册用户没有了，就又注册了个，还好我的万能ID（cherami）没有被人用，注册后的短信给了我一个惊喜：<br />
<span style="font-size: 12pt;"><span style="color: red;"><strong>增加RSS自动博客导入功能<br />
</strong></span></span>呵呵，没有犹豫，马上导入，不过这个同步需要时间，到目前位置还没有任何反应，不过光从这个设想看，就值得夸奖一下JavaEye的开放精神<img alt="" src="/FCKeditor/editor/images/smiley/msn/thumbs_up.gif" />，现在有太多的人都有自己的独立域名的Blog，这个功能的推出无疑可以增加JavaEye的凝聚力。</p>
<p>2007年3月29日更新：<br />
确认同步功能正常工作，不过有个担心就是，那个里面的评论和这里的评论分离了，不过好像有点吹毛求疵了。<br />
另外就是这里的更新了，那边的应该不会更新吧？<br />
过几天看看JavaEye上的这个日志的内容就应该知道了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiehoo.me/%e6%ac%a3%e8%b5%8fjavaeye%e7%9a%84%e5%bc%80%e6%94%be%e6%80%a7.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>可能错怪了百度</title>
		<link>http://www.jiehoo.me/maybe-i-discriminate-baidu.htm</link>
		<comments>http://www.jiehoo.me/maybe-i-discriminate-baidu.htm#comments</comments>
		<pubDate>Thu, 01 Mar 2007 03:25:57 +0000</pubDate>
		<dc:creator>Cherami</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[baidu]]></category>
		<category><![CDATA[百度]]></category>
		<category><![CDATA[误解]]></category>

		<guid isPermaLink="false">http://www.jiehoo.com/maybe-i-discriminate-baidu.htm</guid>
		<description><![CDATA[原来我曾经写过一篇日志质疑我的访问量很多来自百度其实是百度的爬虫，最近看ShortStat的统计报告中的Last Referers发现可能是我错怪了百度，这些访问是真实的，因为从那个报告打开的百度的搜索结果看，搜索的内容和我的日志的相关度确实是比较大的，几个例子： http://www.baidu.com/s?tn=sitehao123&#38;cl=3&#38;rn=10&#38;ct=0&#38;lm=0&#38;word=post+get http://www.baidu.com/s?ie=gb2312&#38;bs=%CA%B9%D3%C3%B9%C8%B8%E8%D3%C3%CD%BE&#38;sr=&#38;z=&#38;cl=3&#38;f=8&#38;wd=%CA%B9%D3%C3%B9%C8%B8%E8&#38;ct=0 http://www.baidu.com/s?ie=gb2312&#38;bs=%B6%FE%CA%D6%B7%BF%D7%CA%D1%B8&#38;sr=&#38;z=&#38;cl=3&#38;f=8&#38;wd=%B6%FE%CA%D6%B7%BF%C2%F2%C2%F4%C1%F7%B3%CC&#38;ct=0 http://www.baidu.com/s?wd=%B6%FE%CA%D6%B7%BF%C2%F2%C2%F4%B7%D1%D3%C3&#38;lm=0&#38;si=&#38;rn=10&#38;ie=gb2312&#38;ct=0&#38;cl=3&#38;f=1&#38;rsp=6 从这些搜索结果页面看，我的日志排名非常之靠前，但是我很奇怪，我的这些刚刚发布不久，并没有被多少人引用的日志为何可以在百度的搜索结果中排名如此靠前？难到是因为我的这个站点全部是原创，是BLOG，是经验之谈？或者真如百度自己所言：&#8220;百度更懂中文&#8221;？]]></description>
			<content:encoded><![CDATA[<p class='fp'>原来我曾经写过一篇日志<a href="http://www.jiehoo.com/%e7%99%be%e5%ba%a6%e8%9c%98%e8%9b%9b%e5%92%8c%e8%b0%b7%e6%ad%8c%e5%88%86%e6%9e%90%e4%b9%8b%e9%97%b4%e7%9a%84%e6%88%98%e6%96%97.htm">质疑我的访问量很多来自百度其实是百度的爬虫</a>，最近看<span class="current">ShortStat</span>的统计报告中的Last Referers发现可能是我错怪了百度，这些访问是真实的，因为从那个报告打开的百度的搜索结果看，搜索的内容和我的日志的相关度确实是比较大的，几个例子：</p>
<ul>
<li><a href="http://www.baidu.com/s?tn=sitehao123&amp;cl=3&amp;rn=10&amp;ct=0&amp;lm=0&amp;word=post+get">http://www.baidu.com/s?tn=sitehao123&amp;cl=3&amp;rn=10&amp;ct=0&amp;lm=0&amp;word=post+get</a></li>
<li><a href="http://www.baidu.com/s?ie=gb2312&amp;bs=%CA%B9%D3%C3%B9%C8%B8%E8%D3%C3%CD%BE&amp;sr=&amp;z=&amp;cl=3&amp;f=8&amp;wd=%CA%B9%D3%C3%B9%C8%B8%E8&amp;ct=0">http://www.baidu.com/s?ie=gb2312&amp;bs=%CA%B9%D3%C3%B9%C8%B8%E8%D3%C3%CD%BE&amp;sr=&amp;z=&amp;cl=3&amp;f=8&amp;wd=%CA%B9%D3%C3%B9%C8%B8%E8&amp;ct=0</a></li>
<li><a href="http://www.baidu.com/s?ie=gb2312&amp;bs=%B6%FE%CA%D6%B7%BF%D7%CA%D1%B8&amp;sr=&amp;z=&amp;cl=3&amp;f=8&amp;wd=%B6%FE%CA%D6%B7%BF%C2%F2%C2%F4%C1%F7%B3%CC&amp;ct=0">http://www.baidu.com/s?ie=gb2312&amp;bs=%B6%FE%CA%D6%B7%BF%D7%CA%D1%B8&amp;sr=&amp;z=&amp;cl=3&amp;f=8&amp;wd=%B6%FE%CA%D6%B7%BF%C2%F2%C2%F4%C1%F7%B3%CC&amp;ct=0</a></li>
<li><a href="http://www.baidu.com/s?wd=%B6%FE%CA%D6%B7%BF%C2%F2%C2%F4%B7%D1%D3%C3&amp;lm=0&amp;si=&amp;rn=10&amp;ie=gb2312&amp;ct=0&amp;cl=3&amp;f=1&amp;rsp=6">http://www.baidu.com/s?wd=%B6%FE%CA%D6%B7%BF%C2%F2%C2%F4%B7%D1%D3%C3&amp;lm=0&amp;si=&amp;rn=10&amp;ie=gb2312&amp;ct=0&amp;cl=3&amp;f=1&amp;rsp=6</a></li>
</ul>
<p>从这些搜索结果页面看，我的日志排名非常之靠前，但是我很奇怪，我的这些刚刚发布不久，并没有被多少人引用的日志为何可以在百度的搜索结果中排名如此靠前？难到是因为我的这个站点全部是原创，是BLOG，是经验之谈？或者真如百度自己所言：&ldquo;百度更懂中文&rdquo;？</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiehoo.me/maybe-i-discriminate-baidu.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>浏览器缓存</title>
		<link>http://www.jiehoo.me/browser-cache-problem.htm</link>
		<comments>http://www.jiehoo.me/browser-cache-problem.htm#comments</comments>
		<pubDate>Thu, 15 Feb 2007 07:44:18 +0000</pubDate>
		<dc:creator>Cherami</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[缓存]]></category>
		<category><![CDATA[问题]]></category>
		<category><![CDATA[浏览器]]></category>

		<guid isPermaLink="false">http://www.jiehoo.com/browser-cache-problem.htm</guid>
		<description><![CDATA[相信有不少人会遇到浏览器缓存的问题，因为IE默认会缓存访问过的网页，特别是URL的参数是固定的，但是很可能内容会变化。 大部分都知道的可能是在head中增加meta信息： &#60;META HTTP-EQUIV=&#34;PRAGMA&#34; CONTENT=&#34;NO-CACHE&#34;&#62; 而有文章指出这个依然有问题，如果网页内容超过32K，那么那个设置就实效了，所以要把它放到网页的最后： &#160;&#160;&#160; &#160;&#160;&#160; &#160;&#160;&#160; &#60;BODY&#62; 网页内容。。。 &#60;/BODY&#62; &#60;HEAD&#62; &#60;META HTTP-EQUIV=&#34;PRAGMA&#34; CONTENT=&#34;NO-CACHE&#34;&#62; &#60;/HEAD&#62; &#60;/HTML&#62; 现在AJAX很流行，而AJAX返回的内容很可能不再是一个完整的网页，那么就不能使用上述的方法，有另外的文章说到可以使用服务器端的HTTP头控制，我试验的结果是无效： &#160;&#160;&#160; response.setHeader(&#34;Cache-Control&#34;,&#34;no-cache&#34;); &#160;&#160;&#160; response.setHeader(&#34;Cache-Control&#34;,&#34;no-store&#34;); &#160;&#160;&#160; response.setHeader(&#34;Cache-Control&#34;,&#34;must-revalidate&#34;); 最后采取的方法就是在使用AJAX发送请求的时候附加一个时间戳： var xmlhttp = createrequest(); xmlhttp.open(&#34;GET&#34;,appendTimestamp(url),true); &#160; function appendTimestamp(url) &#160; { &#160; &#160;&#160;&#160; if (url.indexOf(&#34;?&#34;)&#62;0) &#160; &#160;&#160;&#160; { &#160; &#160;&#160;&#160; &#160;&#160;&#160; return url+&#34;&#38;ajax_time=&#34;+new Date().getTime(); &#160; &#160;&#160;&#160; } else &#160; &#160;&#160;&#160; [...]]]></description>
			<content:encoded><![CDATA[<p class='fp'>相信有不少人会遇到浏览器缓存的问题，因为IE默认会缓存访问过的网页，特别是URL的参数是固定的，但是很可能内容会变化。<br />
大部分都知道的可能是在head中增加meta信息：<br />
&lt;META HTTP-EQUIV=&quot;PRAGMA&quot; CONTENT=&quot;NO-CACHE&quot;&gt; <br />
而有文章指出这个依然有问题，<a href="http://www.6to23.com/tech/btkf/wlbc/asp/28214.htm">如果网页内容超过32K，那么那个设置就实效了</a>，所以要把它放到网页的最后：<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;BODY&gt; <br />
网页内容。。。 <br />
&lt;/BODY&gt; <br />
&lt;HEAD&gt; <br />
&lt;META HTTP-EQUIV=&quot;PRAGMA&quot; CONTENT=&quot;NO-CACHE&quot;&gt; <br />
&lt;/HEAD&gt; <br />
&lt;/HTML&gt;</p>
<p>现在AJAX很流行，而AJAX返回的内容很可能不再是一个完整的网页，那么就不能使用上述的方法，有另外的文章说到可以使用<a href="http://www.mnot.net/cache_docs/#CACHE-CONTROL">服务器端的HTTP头控制</a>，我试验的结果是<strong>无效</strong>：<br />
&nbsp;&nbsp;&nbsp; response.setHeader(&quot;Cache-Control&quot;,&quot;no-cache&quot;); <br />
&nbsp;&nbsp;&nbsp; response.setHeader(&quot;Cache-Control&quot;,&quot;no-store&quot;); <br />
&nbsp;&nbsp;&nbsp; response.setHeader(&quot;Cache-Control&quot;,&quot;must-revalidate&quot;); </p>
<p>最后采取的方法就是在使用AJAX发送请求的时候附加一个时间戳：<br />
var xmlhttp = createrequest();<br />
xmlhttp.open(&quot;GET&quot;,appendTimestamp(url),true);</p>
<p>&nbsp; function appendTimestamp(url)<br />
&nbsp; {<br />
&nbsp; &nbsp;&nbsp;&nbsp; if (url.indexOf(&quot;?&quot;)&gt;0)<br />
&nbsp; &nbsp;&nbsp;&nbsp; {<br />
&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return url+&quot;&amp;ajax_time=&quot;+new Date().getTime();<br />
&nbsp; &nbsp;&nbsp;&nbsp; } else<br />
&nbsp; &nbsp;&nbsp;&nbsp; {<br />
&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; return url+&quot;?ajax_time=&quot;+new Date().getTime();<br />
&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp; }</p>
<p>当然这个方法也只能解决部分问题，如果URL太长也不行。</p>
<p>更新：<br />
对于AJAX的情况，也可以使用<br />
<strike> xmlhttp.setRequestHeader(&quot;Cache-Control&quot;,&quot;no-cache&quot;); </strike></p>
<p>推荐另外一个日志：<a href="http://x98188.bokele.com/?CH=355&amp;ViewID=31950">再论怎么有效利用浏览器缓存之怎么避免浏览器缓存静态文件</a>。</p>
<p>2007年2月28日更新：<br />
使用服务器端控制AJAX页面缓存：<br />
&nbsp;&nbsp;&nbsp; response.setHeader( &quot;Pragma&quot;, &quot;no-cache&quot; );<br />
&nbsp;&nbsp;&nbsp; response.addHeader( &quot;Cache-Control&quot;, &quot;must-revalidate&quot; );<br />
&nbsp;&nbsp;&nbsp; response.addHeader( &quot;Cache-Control&quot;, &quot;no-cache&quot; );<br />
&nbsp;&nbsp;&nbsp; response.addHeader( &quot;Cache-Control&quot;, &quot;no-store&quot; );<br />
&nbsp;&nbsp;&nbsp; response.setDateHeader(&quot;Expires&quot;, 0);<br />
单纯的使用 xmlhttp.setRequestHeader(&quot;Cache-Control&quot;,&quot;no-cache&quot;)无效。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jiehoo.me/browser-cache-problem.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
