<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[vkill'blog]]></title> 
<link>http://blog.vkill.net/index.php</link> 
<description><![CDATA[思维!=知识!=学历]]></description> 
<language>en-US</language> 
<copyright><![CDATA[vkill'blog]]></copyright>
<item>
<link>http://blog.vkill.net/read.php?120</link>
<title><![CDATA[ADO显示记录，用javascript的实现方法]]></title> 
<author>vkill &lt;admin@yourname.com&gt;</author>
<category><![CDATA[web]]></category>
<pubDate>Tue, 18 Nov 2008 02:10:42 +0000</pubDate> 
<guid>http://blog.vkill.net/read.php?120</guid> 
<description>
<![CDATA[ 
	以access数据库做实验，目的是显示字段名称和字段值<br/>总的来说javascript想要读取记录集中的数据还是先要把记录集格式化成Enumerator对象，Enumerator 对象提供了访问集合的任何成员的方法，其操作与 VBScript 中的 For...Each 语句相似。<br/><br/><br/>vbscript实现:<br/><div class="code"><br/>&lt;%@LANGUAGE=&quot;VBSCRIPT&quot; CODEPAGE=&quot;65001&quot;%&gt;<br/>&lt;%<br/>set conn=Server.CreateObject(&quot;ADODB.Connection&quot;)<br/>conn.Provider=&quot;Microsoft.Jet.OLEDB.4.0&quot;<br/>conn.Open Server.MapPath(&quot;db.mdb&quot;)<br/>set rs = Server.CreateObject(&quot;ADODB.recordset&quot;)<br/>rs.Open &quot;select * from users&quot;, conn<br/>do until rs.EOF<br/>&nbsp;&nbsp;for each x in rs.Fields<br/>&nbsp;&nbsp;&nbsp;&nbsp;Response.Write(x.name)<br/>&nbsp;&nbsp;&nbsp;&nbsp;Response.Write(&quot;=&quot;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;Response.Write(x.value)<br/>&nbsp;&nbsp;Response.Write(&quot;&lt;br /&gt;&quot;) <br/>&nbsp;&nbsp;next<br/>&nbsp;&nbsp;Response.Write(&quot;&lt;br /&gt;&quot;)<br/>&nbsp;&nbsp;rs.MoveNext<br/>loop<br/>rs.close<br/>conn.close<br/>%&gt;<br/></div><br/><br/>javascript实现:<br/><div class="code"><br/>&lt;%@LANGUAGE=&quot;JAVASCRIPT&quot; CODEPAGE=&quot;65001&quot;%&gt;<br/>&lt;%<br/>var conn=Server.CreateObject(&quot;ADODB.Connection&quot;)<br/>conn.Provider=&quot;Microsoft.Jet.OLEDB.4.0&quot;<br/>conn.Open (Server.MapPath(&quot;db.mdb&quot;))<br/>var rs = Server.CreateObject(&quot;ADODB.recordset&quot;)<br/>rs.Open (&quot;select * from users&quot;, conn)<br/>while (!rs.EOF) &#123;<br/>&nbsp;&nbsp;e = new Enumerator(rs.Fields)<br/>&nbsp;&nbsp;for (; !e.atEnd(); e.moveNext()) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;x = e.item();<br/>&nbsp;&nbsp;&nbsp;&nbsp;Response.Write(x.name)<br/>&nbsp;&nbsp;&nbsp;&nbsp;Response.Write(&quot;=&quot;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;Response.Write(x.value)<br/>&nbsp;&nbsp;&nbsp;&nbsp;Response.Write(&quot;&lt;br /&gt;&quot;)<br/>&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;Response.Write(&quot;&lt;br /&gt;&quot;)<br/>&nbsp;&nbsp;rs.MoveNext()<br/>&#125;<br/>rs.Close()<br/>conn.Close()<br/>%&gt;<br/></div><br/>Tags - <a href="http://blog.vkill.net/tag.php?tag=%25E4%25BB%25A3%25E7%25A0%2581" rel="tag">代码</a> , <a href="http://blog.vkill.net/tag.php?tag=%25E5%25AD%25A6%25E4%25B9%25A0%25E7%25AC%2594%25E8%25AE%25B0" rel="tag">学习笔记</a> , <a href="http://blog.vkill.net/tag.php?tag=%25E6%2595%25B0%25E6%258D%25AE%25E5%25BA%2593" rel="tag">数据库</a> , <a href="http://blog.vkill.net/tag.php?tag=javascript" rel="tag">javascript</a> , <a href="http://blog.vkill.net/tag.php?tag=asp" rel="tag">asp</a>
]]>
</description>
</item><item>
<link>http://blog.vkill.net/read.php?119</link>
<title><![CDATA[web程序的安装页面]]></title> 
<author>vkill &lt;admin@yourname.com&gt;</author>
<category><![CDATA[web]]></category>
<pubDate>Sat, 15 Nov 2008 02:00:39 +0000</pubDate> 
<guid>http://blog.vkill.net/read.php?119</guid> 
<description>
<![CDATA[ 
	web程序的安装页面<br/><br/>特点：<br/>网页架构div+css<br/>多语种选则<br/>配置灵活<br/>纯js实现了上一步、下一步<br/>数据库连接、表创建等都用ajax实现<br/><br/>现在只是实现了全新安装，主要是不了解修复安装是怎么回事，先把这个问题放下了，等我以后写了一些web程序的时候再完善<br/><br/>演示地址：<br/><a href="http://www.vkill.net/demo/web_install/web_install.html" target="_blank">http://www.vkill.net/demo/web_install/web_install.html</a><br/><br/>网页程序打包下载：<br/><br/><a href="attachment.php?fid=14">Click to download</a><br/><br/><br/>Tags - <a href="http://blog.vkill.net/tag.php?tag=%25E5%258E%259F%25E5%2588%259B" rel="tag">原创</a> , <a href="http://blog.vkill.net/tag.php?tag=%25E4%25BB%25A3%25E7%25A0%2581" rel="tag">代码</a> , <a href="http://blog.vkill.net/tag.php?tag=%25E5%25AD%25A6%25E4%25B9%25A0%25E7%25AC%2594%25E8%25AE%25B0" rel="tag">学习笔记</a> , <a href="http://blog.vkill.net/tag.php?tag=%25E6%2595%25B0%25E6%258D%25AE%25E5%25BA%2593" rel="tag">数据库</a> , <a href="http://blog.vkill.net/tag.php?tag=css" rel="tag">css</a> , <a href="http://blog.vkill.net/tag.php?tag=javascript" rel="tag">javascript</a> , <a href="http://blog.vkill.net/tag.php?tag=asp" rel="tag">asp</a> , <a href="http://blog.vkill.net/tag.php?tag=ajax" rel="tag">ajax</a> , <a href="http://blog.vkill.net/tag.php?tag=php" rel="tag">php</a>
]]>
</description>
</item><item>
<link>http://blog.vkill.net/read.php?118</link>
<title><![CDATA[画表格斜线vml或div+css]]></title> 
<author>vkill &lt;admin@yourname.com&gt;</author>
<category><![CDATA[web]]></category>
<pubDate>Tue, 11 Nov 2008 01:35:30 +0000</pubDate> 
<guid>http://blog.vkill.net/read.php?118</guid> 
<description>
<![CDATA[ 
	画表格斜线vml或div+css<br/><br/>用到的主知识点：<br/>js获得内嵌式css中属性的值<br/>vml画直线<br/><br/>演示地址：<br/><a href="http://www.vkill.net/demo/table_bias/table_bias.html" target="_blank">http://www.vkill.net/demo/table_bias/table_bias.html</a><br/><br/>代码：<br/><br/><div class="code"><br/>&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;<br/>&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xmlns:v=&quot;urn:schemas-microsoft-com:vml&quot;&gt;<br/>&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;<br/>&lt;head&gt;<br/>&lt;title&gt;表格斜线 vml / div+css&lt;/title&gt;<br/>&lt;style&gt;<br/>v&#92;:* &#123; Behavior: url(#default#VML) &#125;<br/>&lt;/style&gt;<br/>&lt;style type=&quot;text/css&quot;&gt;<br/>* &#123;<br/>&nbsp;&nbsp;margin:0px;<br/>&nbsp;&nbsp;padding: 0px;<br/>&#125;<br/>body, div &#123;<br/>&nbsp;&nbsp;margin: 0px auto;<br/>&nbsp;&nbsp;lineHeight: 20px;<br/>&nbsp;&nbsp;font-size: 14px;<br/>&#125;<br/><br/>ul, li &#123;<br/>&nbsp;&nbsp;clear: both;<br/>&nbsp;&nbsp;list-style-type: none;<br/>&#125;<br/>.floatl &#123;<br/>&nbsp;&nbsp;float: left;<br/>&#125;<br/>.floatr &#123;<br/>&nbsp;&nbsp;float: right;<br/>&#125;<br/>.clear &#123;<br/>&nbsp;&nbsp;clear: both;<br/>&#125;<br/><br/>div.main &#123;<br/>&nbsp;&nbsp;padding: 20px 0px 0px 20px;<br/>&nbsp;&nbsp;width: 800px;<br/>&#125;<br/>div.title &#123;<br/>&nbsp;&nbsp;text-align: left;<br/>&nbsp;&nbsp;position: relative;<br/>&#125;<br/>div.a &#123;<br/>&nbsp;&nbsp;/*直接修改这里的width和height，事件触发后js会根据这里的定义自动生成斜线*/<br/>&nbsp;&nbsp;width: 60px;<br/>&nbsp;&nbsp;height: 40px;<br/>&nbsp;&nbsp;border: 1px solid #0000ff;<br/>&#125;<br/><br/>&lt;/style&gt;<br/>&lt;script&gt;<br/>//获得css中属性的值，来源于网络<br/>function getStyle(el,IE,FF)&#123;<br/>var elem=document.getElementById(el)<br/>return navigator.appName==&quot;Microsoft Internet Explorer&quot;?elem.currentStyle&#91;IE&#93;:document.defaultView.getComputedStyle(elem, &quot;&quot;).getPropertyValue(FF)<br/>&#125;<br/><br/><br/>//根据div的宽度和高度自定设置斜线的坐标点<br/>function autosetline_vml() &#123;<br/>&nbsp;&nbsp;w=getStyle(&quot;title&quot;,&quot;width&quot;,&quot;width&quot;).replace(/&#91;^0-9&#93;*/g,&quot;&quot;)<br/>&nbsp;&nbsp;h=getStyle(&quot;title&quot;,&quot;height&quot;,&quot;height&quot;).replace(/&#91;^0-9&#93;*/g,&quot;&quot;)<br/>&nbsp;&nbsp;str = &quot;&lt;v:line from=&#039;0,0&#039; to=&#039;&quot; + w + &quot;,&quot; + h + &quot;&#039; &gt;&quot;<br/>&nbsp;&nbsp;str+= &quot;&lt;v:stroke dashstyle=&#039;solit&#039; /&gt;&quot;<br/>&nbsp;&nbsp;str+= &quot;&lt;/v:line&gt;&quot;<br/>&nbsp;&nbsp;document.getElementById(&quot;line&quot;).innerHTML=str<br/>&#125;<br/>function autosetline_div() &#123;<br/>&nbsp;&nbsp;w=getStyle(&quot;title&quot;,&quot;width&quot;,&quot;width&quot;).replace(/&#91;^0-9&#93;*/g,&quot;&quot;)<br/>&nbsp;&nbsp;h=getStyle(&quot;title&quot;,&quot;height&quot;,&quot;height&quot;).replace(/&#91;^0-9&#93;*/g,&quot;&quot;)<br/>&nbsp;&nbsp;var str=&quot;&quot;<br/>&nbsp;&nbsp;for (i=0,x=1,y=1 ; i&lt;h ; i++,x+=1,y+=w/h) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;str+=&quot;&lt;div style=&#039;border:0.3px solid #000000;font-size:0px;height:1px;width:1px;background-color:#000000;position:absolute;top:&quot;+x+&quot;px;left:&quot;+y+&quot;px&#039;&gt;&lt;/div&gt;&quot;<br/>&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;document.getElementById(&quot;line&quot;).innerHTML=str<br/>&#125;<br/>&lt;/script&gt;<br/>&lt;/head&gt;<br/>&lt;body&gt;<br/>&lt;div class=&quot;main&quot;&gt;<br/>&lt;ul&gt;<br/>&nbsp;&nbsp;&lt;li&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=&quot;a floatl title&quot; id=&quot;title&quot;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div style=&quot;position:absolute; z-index:11; width:100%; height:100%;&quot; id=&quot;line&quot;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div style=&quot;position:absolute; z-index:10; height:100%; width:100%&quot; &gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=&quot;floatr&quot;&gt;成绩&lt;/div&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=&quot;floatl&quot; style=&quot;position:absolute; bottom:0px;&quot;&gt;姓名&lt;/div&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=&quot;a floatl&quot;&gt;&lt;/div&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=&quot;a floatl&quot;&gt;&lt;/div&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=&quot;a floatl&quot;&gt;&lt;/div&gt;<br/>&nbsp;&nbsp;&lt;/li&gt;<br/>&nbsp;&nbsp;&lt;li&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=&quot;a floatl&quot;&gt;&lt;/div&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=&quot;a floatl&quot;&gt;&lt;/div&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=&quot;a floatl&quot;&gt;&lt;/div&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=&quot;a floatl&quot;&gt;&lt;/div&gt;<br/>&nbsp;&nbsp;&lt;/li&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type=&quot;button&quot; onclick=&quot;autosetline_vml()&quot; value=&quot;vml画线,只适合ie&quot; /&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/li&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type=&quot;button&quot; onclick=&quot;autosetline_div()&quot; value=&quot;div+css定位，用很多div模拟一条线,ie firefox opera都适合&quot; /&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/li&gt;<br/>&lt;/ul&gt;<br/>&lt;/div&gt;<br/>&lt;/body&gt;<br/>&lt;/html&gt;<br/></div><br/>Tags - <a href="http://blog.vkill.net/tag.php?tag=%25E5%258E%259F%25E5%2588%259B" rel="tag">原创</a> , <a href="http://blog.vkill.net/tag.php?tag=%25E5%25AD%25A6%25E4%25B9%25A0%25E7%25AC%2594%25E8%25AE%25B0" rel="tag">学习笔记</a> , <a href="http://blog.vkill.net/tag.php?tag=css" rel="tag">css</a> , <a href="http://blog.vkill.net/tag.php?tag=javascript" rel="tag">javascript</a>
]]>
</description>
</item><item>
<link>http://blog.vkill.net/read.php?117</link>
<title><![CDATA[图片幻灯片式播放]]></title> 
<author>vkill &lt;admin@yourname.com&gt;</author>
<category><![CDATA[web]]></category>
<pubDate>Sat, 8 Nov 2008 01:14:12 +0000</pubDate> 
<guid>http://blog.vkill.net/read.php?117</guid> 
<description>
<![CDATA[ 
	图片幻灯片式播放<br/><br/>用到的主知识点：<br/>setTimeout()<br/><br/>演示地址：<br/><a href="http://www.vkill.net/demo/image_slide/image_slide.html" target="_blank">http://www.vkill.net/demo/image_slide/image_slide.html</a><br/><br/>网页程序打包下载：<br/><br/><a href="attachment.php?fid=13">Click to download</a><br/><br/>主代码：<br/><div class="code"><br/>&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;<br/>&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;<br/>&lt;head&gt;<br/>&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=gb2312&quot; /&gt;<br/>&lt;title&gt;图片幻灯片式播放&lt;/title&gt;<br/>&lt;style type=&quot;text/css&quot;&gt;<br/>&lt;!--<br/>* &#123;<br/>&nbsp;&nbsp;margin: 0px;<br/>&nbsp;&nbsp;padding: 0px;<br/>&#125;<br/>body &#123;<br/>&nbsp;&nbsp;font-size: 12px;<br/>&nbsp;&nbsp;margin: 20px;<br/>&#125;<br/>a:link &#123;<br/>&nbsp;&nbsp;color: #FFFFFF;<br/>&nbsp;&nbsp;text-decoration: none;<br/>&#125;<br/>a:visited &#123;<br/>&nbsp;&nbsp;text-decoration: none;<br/>&nbsp;&nbsp;color: #FFFFFF;<br/>&#125;<br/>a:hover &#123;<br/>&nbsp;&nbsp;text-decoration: none;<br/>&nbsp;&nbsp;color: #FFFFFF;<br/>&#125;<br/>a:active &#123;<br/>&nbsp;&nbsp;text-decoration: none;<br/>&nbsp;&nbsp;color: #FFFFFF;<br/>&#125;<br/><br/>div &#123;<br/>/*&nbsp;&nbsp;border: 1px solid #00cc00;<br/>*/<br/>&#125;<br/>.floatl &#123;<br/>&nbsp;&nbsp;float: left;<br/>&#125;<br/>.floatr &#123;<br/>&nbsp;&nbsp;float: right;<br/>&#125;<br/><br/>.img &#123;<br/>&nbsp;&nbsp;width: 300px;<br/>&nbsp;&nbsp;height: 200px;<br/>&nbsp;&nbsp;border: 0px;<br/>&#125;<br/><br/>div.main &#123;<br/>&nbsp;&nbsp;border: 2px solid #00ff00;<br/>&nbsp;&nbsp;width: 300px;<br/>&nbsp;&nbsp;height: 220px;<br/>&#125;<br/>div.image &#123;<br/>&nbsp;&nbsp;width: 100%;<br/>&nbsp;&nbsp;height: 200px;<br/>/*&nbsp;&nbsp;background-color: #CC3399;<br/>*/<br/>&#125;<br/>div.show_num &#123;<br/>&nbsp;&nbsp;border-top: 3px solid #cc0000;<br/>&nbsp;&nbsp;line-height: 18px;<br/>&nbsp;&nbsp;width: 100%;<br/>&nbsp;&nbsp;height: auto;<br/>/*&nbsp;&nbsp;background-color: #FFFF33;<br/>*/<br/>&#125;<br/>div.show_num_one &#123;<br/>&nbsp;&nbsp;width: 12%;<br/>&nbsp;&nbsp;height: 100%;<br/>&nbsp;&nbsp;text-align: center;<br/>&nbsp;&nbsp;background-color: #cccccc;<br/>&nbsp;&nbsp;color: #000000;<br/>&nbsp;&nbsp;border-left: 2px solid #ffffff;<br/>&#125;<br/><br/><br/><br/>--&gt;<br/>&lt;/style&gt;<br/>&lt;script type=&quot;text/javascript&quot;&gt;<br/>var int<br/>function load() &#123;<br/>&nbsp;&nbsp;//从隐式输入框中获得值后处理成为数组<br/>&nbsp;&nbsp;imgs = document.getElementById(&quot;img_urls&quot;).value.split(&quot;,&quot;)<br/>&nbsp;&nbsp;urls = document.getElementById(&quot;url_urls&quot;).value.split(&quot;,&quot;)<br/>&nbsp;&nbsp;int=auto_trans_img()&nbsp;&nbsp;//开始轮换图片<br/>&#125;<br/><br/>//自动轮换图片<br/>var n=0<br/>function auto_trans_img(s) &#123;<br/>&nbsp;&nbsp;if (!s) &#123;s=2000&#125;<br/>&nbsp;&nbsp;set_img_src(&#039;img_img&#039;,imgs&#91;n&#93;)<br/>&nbsp;&nbsp;set_a_href(&#039;img_a&#039;,urls&#91;n&#93;)<br/>&nbsp;&nbsp;numobj=&quot;num_&quot;+n<br/>&nbsp;&nbsp;if (n==0) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;numobjup=&quot;num_&quot;+(imgs.length-1)<br/>&nbsp;&nbsp;&#125; else &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;numobjup=&quot;num_&quot;+(n-1)<br/>&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;set_bgcolor(numobj)<br/>&nbsp;&nbsp;set_color(numobj)<br/>&nbsp;&nbsp;clear_bgcolor(numobjup)<br/>&nbsp;&nbsp;clear_color(numobjup)<br/>&nbsp;&nbsp;int=setTimeout(&quot;auto_trans_img()&quot;,s)<br/>&nbsp;&nbsp;n=n+1<br/>&nbsp;&nbsp;if (n==(imgs.length)) &#123;n=0&#125;<br/>&#125;<br/><br/>function sleep(s) &#123;<br/>&nbsp;&nbsp;if (!s) &#123;s=3000&#125;<br/>&nbsp;&nbsp;int=setTimeout(&quot;auto_trans_img()&quot;,s)<br/>&#125;<br/><br/>function stop_trans_img(obj) &#123;<br/>&nbsp;&nbsp;clearTimeout(int)&nbsp;&nbsp;//取消由setTimeout()方法设置的timeout<br/>&nbsp;&nbsp;if (!obj) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;n = n<br/>&nbsp;&nbsp;&#125; else &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;n = parseInt(obj.substr(obj.length-1,1))<br/>&nbsp;&nbsp;&nbsp;&nbsp;//还原所有颜色为默认<br/>&nbsp;&nbsp;&nbsp;&nbsp;for (i=0 ; i&lt;=imgs.length-1 ; i++) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clear_bgcolor(&quot;num_&quot;+i)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;clear_color(&quot;num_&quot;+i)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&#125;<br/>&#125;<br/><br/>function set_img_src(obj,src) &#123;<br/>&nbsp;&nbsp;document.getElementById(obj).src=src<br/>&#125;<br/><br/>function set_a_href(obj,url) &#123;<br/>&nbsp;&nbsp;document.getElementById(obj).href=url<br/>&#125;<br/><br/>function set_bgcolor(obj) &#123;<br/>&nbsp;&nbsp;document.getElementById(obj).style.backgroundColor=&#039;#cc0000&#039;<br/>&#125;<br/><br/>function clear_bgcolor(obj) &#123;<br/>&nbsp;&nbsp;document.getElementById(obj).style.backgroundColor=&#039;#cccccc&#039;<br/>&#125;<br/><br/>function set_color(obj) &#123;<br/>&nbsp;&nbsp;document.getElementById(obj).style.color=&#039;#ffffff&#039;<br/>&#125;<br/><br/>function clear_color(obj) &#123;<br/>&nbsp;&nbsp;document.getElementById(obj).style.color=&#039;#000000&#039;<br/>&#125;<br/><br/><br/><br/>&lt;/script&gt;<br/>&lt;/head&gt;<br/><br/>&lt;!-- onload事件不能去 --&gt;<br/>&lt;body onload=&quot;load()&quot;&gt;<br/>&lt;div class=&quot;main&quot;&gt;<br/>&nbsp;&nbsp;&lt;div class=&quot;floatl image&quot;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;a id=&quot;img_a&quot; href=&quot;#&quot; onmousemove=&quot;stop_trans_img()&quot; onmouseout=&quot;sleep()&quot;&gt;&lt;img class=&quot;img&quot; id=&quot;img_img&quot; src=&quot;&quot; /&gt;&lt;/a&gt;<br/>&nbsp;&nbsp;&lt;/div&gt;<br/>&nbsp;&nbsp;&lt;div class=&quot;floatr show_num&quot;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=&quot;floatr show_num_one&quot; id=&quot;num_0&quot; onmouseover=&quot;style.cursor=&#039;hand&#039;&quot; onclick=&quot;stop_trans_img(this.id); auto_trans_img();&quot; &gt;1&lt;/div&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=&quot;floatr show_num_one&quot; id=&quot;num_1&quot; onmouseover=&quot;style.cursor=&#039;hand&#039;&quot; onclick=&quot;stop_trans_img(this.id); auto_trans_img();&quot; &gt;2&lt;/div&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=&quot;floatr show_num_one&quot; id=&quot;num_2&quot; onmouseover=&quot;style.cursor=&#039;hand&#039;&quot; onclick=&quot;stop_trans_img(this.id); auto_trans_img();&quot; &gt;3&lt;/div&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=&quot;floatr show_num_one&quot; id=&quot;num_3&quot; onmouseover=&quot;style.cursor=&#039;hand&#039;&quot; onclick=&quot;stop_trans_img(this.id); auto_trans_img();&quot; &gt;4&lt;/div&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=&quot;floatr show_num_one&quot; id=&quot;num_4&quot; onmouseover=&quot;style.cursor=&#039;hand&#039;&quot; onclick=&quot;stop_trans_img(this.id); auto_trans_img();&quot; &gt;5&lt;/div&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!-- 这里的两个隐式输入框用来定义图片和链接的值，这样就可以用ajax来动态更新了 --&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type=&quot;hidden&quot; id=&quot;img_urls&quot; value=&quot;11.jpg,12.jpg,3.jpg,4.jpg,5.jpg&quot; /&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type=&quot;hidden&quot; id=&quot;url_urls&quot; value=&quot;#1,#2,#3,#4,#5&quot; /&gt;<br/>&nbsp;&nbsp;&lt;/div&gt;<br/>&lt;/div&gt;<br/>&lt;p&gt;当鼠标放到图片上时，放映&quot;暂停&quot;，点击可进入相应链接，鼠标移开后自动开始放映&lt;/p&gt;<br/>&lt;p&gt;也可点击数字，会从此数字自动开始放映&lt;/p&gt;<br/>&lt;/body&gt;<br/>&lt;/html&gt;<br/><br/></div><br/>Tags - <a href="http://blog.vkill.net/tag.php?tag=%25E5%258E%259F%25E5%2588%259B" rel="tag">原创</a> , <a href="http://blog.vkill.net/tag.php?tag=%25E4%25BB%25A3%25E7%25A0%2581" rel="tag">代码</a> , <a href="http://blog.vkill.net/tag.php?tag=%25E5%25AD%25A6%25E4%25B9%25A0%25E7%25AC%2594%25E8%25AE%25B0" rel="tag">学习笔记</a> , <a href="http://blog.vkill.net/tag.php?tag=%25E5%259B%25BE%25E7%2589%2587%25E5%25A4%2584%25E7%2590%2586" rel="tag">图片处理</a> , <a href="http://blog.vkill.net/tag.php?tag=javascript" rel="tag">javascript</a> , <a href="http://blog.vkill.net/tag.php?tag=css" rel="tag">css</a>
]]>
</description>
</item><item>
<link>http://blog.vkill.net/read.php?116</link>
<title><![CDATA[自己写的一个注册页面]]></title> 
<author>vkill &lt;admin@yourname.com&gt;</author>
<category><![CDATA[web]]></category>
<pubDate>Thu, 6 Nov 2008 02:48:40 +0000</pubDate> 
<guid>http://blog.vkill.net/read.php?116</guid> 
<description>
<![CDATA[ 
	注册页面<br/><br/>特点：<br/>网页架构模仿126的注册页面，div+css<br/>使用ajax判断用户是否存在、验证吗是否正确、用户是否注册成功<br/>解决ajax post乱码的问题<br/>解决ajax post部分特殊字符丢失的问题<br/><br/>演示地址：<br/><a href="http://www.vkill.net/demo/reg/reg.html" target="_blank">http://www.vkill.net/demo/reg/reg.html</a><br/><br/>网页程序打包下载：<br/><br/><a href="attachment.php?fid=12">Click to download</a><br/>Tags - <a href="http://blog.vkill.net/tag.php?tag=%25E5%258E%259F%25E5%2588%259B" rel="tag">原创</a> , <a href="http://blog.vkill.net/tag.php?tag=%25E4%25BB%25A3%25E7%25A0%2581" rel="tag">代码</a> , <a href="http://blog.vkill.net/tag.php?tag=%25E6%2595%25B0%25E6%258D%25AE%25E5%25BA%2593" rel="tag">数据库</a> , <a href="http://blog.vkill.net/tag.php?tag=%25E5%25AD%25A6%25E4%25B9%25A0%25E7%25AC%2594%25E8%25AE%25B0" rel="tag">学习笔记</a> , <a href="http://blog.vkill.net/tag.php?tag=css" rel="tag">css</a> , <a href="http://blog.vkill.net/tag.php?tag=javascript" rel="tag">javascript</a> , <a href="http://blog.vkill.net/tag.php?tag=asp" rel="tag">asp</a> , <a href="http://blog.vkill.net/tag.php?tag=ajax" rel="tag">ajax</a>
]]>
</description>
</item><item>
<link>http://blog.vkill.net/read.php?115</link>
<title><![CDATA[html asp 共用一js的方法]]></title> 
<author>vkill &lt;admin@yourname.com&gt;</author>
<category><![CDATA[web]]></category>
<pubDate>Tue, 4 Nov 2008 02:16:03 +0000</pubDate> 
<guid>http://blog.vkill.net/read.php?115</guid> 
<description>
<![CDATA[ 
	我一般把配置信息全部写入到js中，这样html和asp都可以用一个配置文件了<br/><br/><br/>test.html<br/><div class="code"><br/>&lt;html&gt;<br/>&lt;head&gt;<br/>&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;<br/>&lt;script language=&quot;javascript&quot; src=&quot;config.js&quot;&gt;&lt;/script&gt;<br/>&lt;/head&gt;<br/>&lt;body&gt;<br/>&lt;script type=&quot;text/javascript&quot;&gt;<br/>&nbsp;&nbsp;document.write (arr&#91;0&#93;)<br/>&nbsp;&nbsp;document.write (fun())<br/>&lt;/script&gt;<br/>&lt;/body&gt;<br/>&lt;/html&gt;<br/></div><br/><br/>test.asp<br/><div class="code"><br/>&lt;!--#include virtual=&quot;config.js&quot;--&gt;<br/>&lt;% Response.Clear() %&gt;<br/>&lt;%<br/>&nbsp;&nbsp;Response.Write(arr&#91;0&#93;)<br/>&nbsp;&nbsp;Response.Write(fun())<br/>%&gt;<br/></div><br/><br/>config.js<br/><div class="code"><br/>//&lt;%@LANGUAGE=&quot;JAVASCRIPT&quot; CODEPAGE=&quot;65001&quot;%&gt;&lt;%<br/>var arr = new Array()<br/>arr&#91;0&#93;=&quot;a&quot;<br/>arr&#91;1&#93;=&quot;b&quot;<br/>arr&#91;2&#93;=&quot;c&quot;<br/>function fun() &#123;<br/>&nbsp;&nbsp;return arr&#91;1&#93;<br/>&#125;<br/>//%&gt;<br/></div><br/>Tags - <a href="http://blog.vkill.net/tag.php?tag=%25E5%258E%259F%25E5%2588%259B" rel="tag">原创</a> , <a href="http://blog.vkill.net/tag.php?tag=%25E5%25AD%25A6%25E4%25B9%25A0%25E7%25AC%2594%25E8%25AE%25B0" rel="tag">学习笔记</a> , <a href="http://blog.vkill.net/tag.php?tag=javascript" rel="tag">javascript</a> , <a href="http://blog.vkill.net/tag.php?tag=asp" rel="tag">asp</a>
]]>
</description>
</item><item>
<link>http://blog.vkill.net/read.php?114</link>
<title><![CDATA[javascript 处理浏览器地址栏参数的两函数]]></title> 
<author>vkill &lt;admin@yourname.com&gt;</author>
<category><![CDATA[web]]></category>
<pubDate>Thu, 30 Oct 2008 01:52:05 +0000</pubDate> 
<guid>http://blog.vkill.net/read.php?114</guid> 
<description>
<![CDATA[ 
	处理浏览器地址栏参数最大的用处还是 html 页面间传递数据了<br/>函数代码如下：<br/><br/>函数1：保存地址栏参数到数组<br/><div class="code"><br/>//保存地址栏参数到数组<br/>function get_url_param() &#123;<br/>&nbsp;&nbsp;var url = location.search<br/>&nbsp;&nbsp;if (url.lastIndexOf(&quot;?&quot;)!=0) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//document.write(&quot;请求地址错误&quot;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;return null<br/>&nbsp;&nbsp;&#125; else &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;var querystr = url.replace(/^&#92;?/,&quot;&quot;).split(&quot;&amp;&quot;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;var paramname = new Array()<br/>&nbsp;&nbsp;&nbsp;&nbsp;var paramvalue = new Array()<br/>&nbsp;&nbsp;&nbsp;&nbsp;var re = new RegExp(&quot;^(&#91;0-9a-zA-Z&#93;*)=(&#91;0-9a-zA-Z&#93;*)$&quot;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;for (i=0;i&lt;querystr.length;i++) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (re.exec(querystr&#91;i&#93;)) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (RegExp.$1.length&gt;0 &amp;&amp; RegExp.$2.length&gt;0) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;paramname&#91;i&#93; = RegExp.$1<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;paramvalue&#91;i&#93; = RegExp.$2<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;return paramname.length&nbsp;&nbsp;//返回数组的长度<br/>&nbsp;&nbsp;&#125;<br/>&#125;<br/></div><br/><br/>函数2：获取地址栏某参数值<br/><div class="code"><br/>//获取地址栏某参数值<br/>function get_url_paramname(paramname) &#123;<br/>&nbsp;&nbsp;var url = location.search<br/>&nbsp;&nbsp;if (url.lastIndexOf(&quot;?&quot;)!=0) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;//document.write(&quot;请求地址错误&quot;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;return null<br/>&nbsp;&nbsp;&#125; else &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;var querystr = url.replace(/^&#92;?/,&quot;&quot;).split(&quot;&amp;&quot;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;var re = new RegExp(&quot;^(&quot;+paramname+&quot;)=(&#91;0-9a-zA-Z&#93;*)$&quot;,&quot;ig&quot;)<br/>&nbsp;&nbsp;&nbsp;&nbsp;for (i=0;i&lt;querystr.length;i++) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (re.exec(querystr&#91;i&#93;)) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (RegExp.$2.length&gt;0) &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return RegExp.$2<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var stat = &quot;ok&quot;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&#125;<br/>&nbsp;&nbsp;&nbsp;&nbsp;if (stat!=&quot;ok&quot;) &#123;return null&#125;<br/>&nbsp;&nbsp;&#125;<br/>&#125;<br/></div><br/>Tags - <a href="http://blog.vkill.net/tag.php?tag=%25E5%258E%259F%25E5%2588%259B" rel="tag">原创</a> , <a href="http://blog.vkill.net/tag.php?tag=%25E4%25BB%25A3%25E7%25A0%2581" rel="tag">代码</a> , <a href="http://blog.vkill.net/tag.php?tag=%25E5%25AD%25A6%25E4%25B9%25A0%25E7%25AC%2594%25E8%25AE%25B0" rel="tag">学习笔记</a> , <a href="http://blog.vkill.net/tag.php?tag=javascript" rel="tag">javascript</a>
]]>
</description>
</item><item>
<link>http://blog.vkill.net/read.php?113</link>
<title><![CDATA[saved from url 注释语句的作用]]></title> 
<author>vkill &lt;admin@yourname.com&gt;</author>
<category><![CDATA[web]]></category>
<pubDate>Tue, 28 Oct 2008 01:42:54 +0000</pubDate> 
<guid>http://blog.vkill.net/read.php?113</guid> 
<description>
<![CDATA[ 
	当在IE中打开本地html文件时，如果html中含有javascript脚本，则会跳出IE信息栏，内容如下<br/><div class="quote"><div class="quote-title">Quotation</div><div class="quote-content"><br/>"为帮助保护您的安全，Internet Explorer已经限制此文件显示可能访问您的计算机的活动内容。单击此处查看选项..."<br/></div></div><br/><br/>要想以后不提示，这时可在html源码中<html>标记之前添加类似下面这行来解决(括号里面的0008是URL后面跟的字符的长度)<br/><div class="code"><br/>&lt;!-- saved from url=(0008)file:/// --&gt;<br/></div><br/><br/>这句话的作用是让 Internet Explorer 使用Internet区域的安全设置，而不是本地计算机区域的设置<br/><br/><br/>当 Internet Explorer 打开 *.html 时，Internet Explorer 将查找“saved from URL”注释，并使用适合该 URL 的区域设置来确定对该 Web 页应用哪种安全策略。<br/><br/>在你做网页时，如果网页需要运行ActiveX或脚本，并且他们位于客户端以外的地方， 那么可以添加这个注释语句，IE当然不会不理他， IE会按照他指出的URL去找脚本的位置。<br/><br/>下面是个例子:<br/><div class="code"><br/>&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;<br/>&lt;!-- saved from url=(0008)file:/// --&gt;<br/>&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;<br/>&lt;head&gt;<br/>&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot; /&gt;<br/>&lt;title&gt;test&lt;/title&gt;<br/>&lt;script src=&quot;md5.js&quot;&gt;&lt;/script&gt;<br/>&lt;/head&gt;<br/>&lt;script type=&quot;text/javascript&quot;&gt;<br/>&nbsp;&nbsp;document.write(&quot;text&quot; + &quot;&lt;br /&gt;&quot;)<br/>&nbsp;&nbsp;document.write(hex_md5(&quot;123456&quot;) + &quot;&lt;br /&gt;&quot;)<br/>&lt;/script&gt;<br/>&lt;body&nbsp;&nbsp;&gt;<br/>&lt;/body&gt;<br/>&lt;/html&gt;<br/></div><br/>Tags - <a href="http://blog.vkill.net/tag.php?tag=%25E5%25AD%25A6%25E4%25B9%25A0%25E7%25AC%2594%25E8%25AE%25B0" rel="tag">学习笔记</a> , <a href="http://blog.vkill.net/tag.php?tag=activex" rel="tag">activex</a> , <a href="http://blog.vkill.net/tag.php?tag=javascript" rel="tag">javascript</a>
]]>
</description>
</item><item>
<link>http://blog.vkill.net/read.php?112</link>
<title><![CDATA[css提示小窗口]]></title> 
<author>vkill &lt;admin@yourname.com&gt;</author>
<category><![CDATA[web]]></category>
<pubDate>Thu, 23 Oct 2008 05:18:03 +0000</pubDate> 
<guid>http://blog.vkill.net/read.php?112</guid> 
<description>
<![CDATA[ 
	css提示小窗口<br/><br/>用到的主知识点：<br/>层的定位<br/><br/>演示地址：<br/><a href="http://www.vkill.net/demo/css_info/css_info.html" target="_blank">http://www.vkill.net/demo/css_info/css_info.html</a><br/><br/>代码：<br/><br/><div class="code"><br/>&lt;html&gt;<br/>&lt;head&gt;<br/>&lt;title&gt;css提示小窗口之一方法&lt;/title&gt;<br/>&lt;style type=&quot;text/css&quot;&gt;<br/>a.info &#123;<br/>&nbsp;&nbsp;position:relative;&nbsp;&nbsp;/*这个是关键*/<br/>&nbsp;&nbsp;text-decoration:none;<br/>&#125;<br/><br/>a.info span &#123;<br/>&nbsp;&nbsp;display:none;<br/>&#125;<br/><br/>a.info:hover &#123;<br/>&nbsp;&nbsp;background:none;&nbsp;&nbsp;/*IE中必须要,firefox不需要*/<br/>&nbsp;&nbsp;z-index:1;<br/>&#125;<br/><br/>a.info:hover span &#123;<br/>&nbsp;&nbsp;display:block;<br/>&nbsp;&nbsp;position:absolute;<br/>&nbsp;&nbsp;top:20px;<br/>&nbsp;&nbsp;left:10px;<br/>&nbsp;&nbsp;border:1px solid #ff0000;<br/>&nbsp;&nbsp;background-color:#CCFFFF;<br/>&nbsp;&nbsp;color:#000000;<br/>&nbsp;&nbsp;z-index:2;<br/>&nbsp;&nbsp;width:100px;<br/>&#125;<br/>&lt;/style&gt;<br/>&lt;/head&gt;<br/>&lt;body&gt;<br/>&lt;p&gt;&lt;a class=&quot;info&quot; href=&quot;#&quot;&gt;css&lt;span&gt;这个是对css的解释&lt;/span&gt;&lt;/a&gt;是xxx的简称&lt;/p&gt;<br/>&lt;p&gt;aaaaa&lt;a class=&quot;info&quot; href=&quot;#&quot;&gt;aaa&lt;span&gt;这个是对aaa的解释&lt;/span&gt;&lt;/a&gt;aaaaaaa&lt;/p&gt;<br/>&lt;p&gt;&lt;a href=&quot;#&quot;&gt;我就不提示&lt;/a&gt;&lt;/p&gt;<br/>&lt;/body&gt;<br/>&lt;/html&gt;<br/></div><br/>Tags - <a href="http://blog.vkill.net/tag.php?tag=css" rel="tag">css</a> , <a href="http://blog.vkill.net/tag.php?tag=javascript" rel="tag">javascript</a> , <a href="http://blog.vkill.net/tag.php?tag=%25E5%25AD%25A6%25E4%25B9%25A0%25E7%25AC%2594%25E8%25AE%25B0" rel="tag">学习笔记</a>
]]>
</description>
</item><item>
<link>http://blog.vkill.net/read.php?111</link>
<title><![CDATA[archlinux SBS--http server（1）：How to install and run Ruby On Rails]]></title> 
<author>vkill &lt;admin@yourname.com&gt;</author>
<category><![CDATA[linux system]]></category>
<pubDate>Tue, 21 Oct 2008 02:36:11 +0000</pubDate> 
<guid>http://blog.vkill.net/read.php?111</guid> 
<description>
<![CDATA[ 
	环境：<br/>linux-2.6.25-ARCH<br/>apache-2.2.9&nbsp;&nbsp;fcgi-2.4.0&nbsp;&nbsp;mod_fastcgi-2.4.6&nbsp;&nbsp;mod_fcgid-2.2<br/>ruby-1.8.7&nbsp;&nbsp;Rails-2.0.2<br/>目的：<br/>使用 apache fastcgi/fcgid 构建 ROR 环境<br/><br/>实现步骤：<br/><br/><br/>一、安装apache、fastcgi、ruby、rubygems 和 sqlite3<br/><div class="code"><br/>&#91;root@myhost ~&#93;# pacman -S apache fcgi ruby rubygems sqlite3<br/></div><br/><br/>二、安装apache模块 mod_fastcgi 和 mod_fcgid ，并配置使apache支持<br/>1、先安装mod_fastcgi<br/><div class="code"><br/>&#91;root@myhost ~&#93;# tar -zxf mod_fastcgi-2.4.6.tar.gz -C /usr/src/<br/>&#91;root@myhost ~&#93;# cd /usr/src/mod_fastcgi-2.4.6/<br/>&#91;root@myhost mod_fastcgi-2.4.6&#93;# cp Makefile.AP2 Makefile<br/>&#91;root@myhost mod_fastcgi-2.4.6&#93;# vi Makefile<br/>#修改top_dir参数，值为 apache 的安装路径<br/>top_dir&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= /usr/lib/httpd<br/>&#91;root@myhost mod_fastcgi-2.4.6&#93;# make &amp;&amp; make install<br/></div><br/>2、修改httpd配置文件，使支持 mod_fastcgi<br/><div class="code"><br/>&#91;root@myhost ~&#93;# vi /etc/httpd/conf/httpd.conf<br/>#文件末追加下面这段<br/>LoadModule fastcgi_module modules/mod_fastcgi.so<br/>&lt;IfModule mod_fastcgi.c&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;#AddHandler fastcgi-script .fcgi<br/>&nbsp;&nbsp;&nbsp;&nbsp;FastCgiIpcDir /var/lib/fastcgi_ipc/<br/>&lt;/IfModule&gt;<br/></div><br/>3、创建 fastcgi ipc 目录，并设置权限<br/><div class="code"><br/>&#91;root@myhost ~&#93;# mkdir /var/lib/fastcgi_ipc/<br/>&#91;root@myhost ~&#93;# chown http:http /var/lib/fastcgi_ipc/<br/>&#91;root@myhost ~&#93;# chmod 755 /var/lib/fastcgi_ipc/<br/></div><br/>4、再安装mod_fcgid<br/><div class="code"><br/>&#91;root@myhost ~&#93;# tar -zxf mod_fcgid.2.2.tgz -C /usr/src/<br/>&#91;root@myhost ~&#93;# cd /usr/src/mod_fcgid.2.2/<br/>&#91;root@myhost mod_fcgid.2.2&#93;# vi Makefile<br/>#修改top_dir参数，值为 apache 的安装路径<br/>top_dir&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= /usr/lib/httpd<br/>&#91;root@myhost mod_fcgid.2.2&#93;# make &amp;&amp; make install<br/></div><br/>5、修改httpd配置文件，使支持 mod_fcgid<br/><div class="code"><br/>&#91;root@myhost ~&#93;# vi /etc/httpd/conf/httpd.conf<br/>#文件末追加下面这段<br/>LoadModule fcgid_module modules/mod_fcgid.so<br/>&lt;IfModule mod_fcgid.c&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;#AddHandler fcgid-script .fcgi .fpl<br/>&nbsp;&nbsp;&nbsp;&nbsp;IPCCommTimeout 40<br/>&nbsp;&nbsp;&nbsp;&nbsp;IPCConnectTimeout 10<br/>&nbsp;&nbsp;&nbsp;&nbsp;SocketPath /var/lib/fcgid_sock/<br/>&lt;/IfModule&gt;<br/></div><br/>6、创建 fcgid sock 目录，并设置权限<br/><div class="code"><br/>&#91;root@myhost ~&#93;# mkdir /var/lib/fcgid_sock/<br/>&#91;root@myhost ~&#93;# chown http:http /var/lib/fcgid_sock/<br/>&#91;root@myhost ~&#93;# chmod 755 /var/lib/fcgid_sock/<br/></div><br/><br/>三、安装rails等 ，且创建几个rails项目做测试<br/>1、安装rails、fcgi、sqlite3这三个gem<br/><div class="code"><br/>&#91;root@myhost rubygems&#93;# pwd<br/>/rubygems<br/>//到网站http://files.rubyforge.vm.bytemark.co.uk/下载这些gem到本地来本地安装，这样速度会快很多<br/>&#91;root@myhost rubygems&#93;# ls<br/>actionmailer-2.0.2.gem&nbsp;&nbsp;activeresource-2.0.2.gem&nbsp;&nbsp;rails-2.0.2.gem<br/>actionpack-2.0.2.gem&nbsp;&nbsp;&nbsp;&nbsp;activesupport-2.0.2.gem&nbsp;&nbsp; rake-0.8.3.gem<br/>activerecord-2.0.2.gem&nbsp;&nbsp;fcgi-0.8.7.gem&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sqlite3-ruby-1.2.4.gem<br/>&#91;root@myhost rubygems&#93;# gem i rails fcgi sqlite3 --local<br/></div><br/>2、创建第一个rails项目<br/><div class="code"><br/>&#91;root@myhost rails&#93;# pwd<br/>/var/www/rails<br/>&#91;root@myhost rails&#93;# rails 001 -d sqlite3<br/>&#91;root@myhost rails&#93;# cd 001<br/>&#91;root@myhost 001&#93;# rake db:create:all<br/>&#91;root@myhost 001&#93;# script/generate controller blog show<br/>//启动服务器并测试看可否正常访问<br/>&#91;root@myhost 001&#93;# ruby script/server<br/>&#91;root@myhost 001&#93;# w3m http://127.0.0.1:3000/blog/show<br/></div><br/>3、创建第二个rails项目<br/><div class="code"><br/>&#91;root@myhost rails&#93;# pwd<br/>/var/www/rails<br/>&#91;root@myhost rails&#93;# rails 002 -d sqlite3<br/>&#91;root@myhost rails&#93;# cd 002<br/>&#91;root@myhost 002&#93;# rake db:create:all<br/>&#91;root@myhost 002&#93;# ruby script/generate scaffold post title:string body:text published:boolean<br/>&#91;root@myhost 002&#93;# rake db:migrate<br/>//启动服务器并测试看可否正常访问<br/>&#91;root@myhost 002&#93;# ruby script/server<br/>&#91;root@myhost 002&#93;# w3m http://127.0.0.1:3000/posts<br/></div><br/><br/>四、配置使用apache来访问rails项目(注意:这时使用的是cgi，而非fcgi)，我们都以创建虚拟站点来做<br/>1、我们先来看看项目中 public/.htaccess 文件中到底写的啥<br/><div class="code"><br/>&#91;root@myhost 001&#93;# pwd<br/>/var/www/rails/001<br/>&#91;root@myhost 001&#93;# sed &#039;/^#/d&#039; public/.htaccess <br/>#限于篇幅，注释都没有显示，建议去看看里面的注释<br/>AddHandler fastcgi-script .fcgi<br/>AddHandler cgi-script .cgi<br/>Options +FollowSymLinks +ExecCGI<br/><br/>#因为这里RewriteEngine On，所以要修改httpd.conf文件，确保已加载mod_rewrite模块<br/>RewriteEngine On<br/><br/>RewriteRule ^$ index.html &#91;QSA&#93;<br/>RewriteRule ^(&#91;^.&#93;+)$ $1.html &#91;QSA&#93;<br/>RewriteCond %&#123;REQUEST_FILENAME&#125; !-f<br/>RewriteRule ^(.*)$ dispatch.cgi &#91;QSA,L&#93;<br/><br/>ErrorDocument 500 &quot;&lt;h2&gt;Application error&lt;/h2&gt;Rails application failed to start properly&quot;<br/></div><br/>2、用apache来访问rails项目方法一：一个rails项目用一个主机头，这样做的不好处是每新增一个rails项目都要修改 httpd.conf 文件且还要重起 httpd 服务器<br/>修改 httpd.conf 文件，追加下面这段后重起 httpd 服务器<br/><div class="code"><br/>&lt;VirtualHost *:80&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ServerName rails1.net<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DocumentRoot &quot;/var/www/rails/001/public&quot;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Directory &quot;/var/www/rails/001/public&quot;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AllowOverride all<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Order Deny,Allow<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Allow from all<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/Directory&gt;<br/>&lt;/VirtualHost&gt;<br/></div><br/>文件 /var/www/rails/001/public/.htaccess 无须做任何修改直接 http://rails1.net/blog/show 就可访问了<br/>3、用apache来访问rails项目方法二：多个rails项目共用一个主机头，使用Alias指令，这样做的不好处还是每新增一个rails项目都要修改 httpd.conf 文件且还要重起 httpd 服务器<br/>修改 httpd.conf 文件，追加下面这段后重起 httpd 服务器<br/><div class="code"><br/>&lt;VirtualHost *:80&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ServerName rails2.net<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alias /001 &quot;/var/www/rails/001/public&quot;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Directory &quot;/var/www/rails/001/public&quot;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AllowOverride all<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Order Deny,Allow<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Allow from all<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/Directory&gt;<br/>&lt;/VirtualHost&gt;<br/></div><br/>修改文件 /var/www/rails/001/public/.htaccess ，添加一行 RewriteBase /001，修改好的.htaccess文件大概如下<br/><div class="code"><br/>&#91;root@myhost rails&#93;# sed &#039;/^#/d&#039; 001/public/.htaccess <br/>AddHandler fastcgi-script .fcgi<br/>AddHandler cgi-script .cgi<br/>Options +FollowSymLinks +ExecCGI<br/>RewriteEngine On<br/>RewriteBase /001<br/>RewriteRule ^$ index.html &#91;QSA&#93;<br/>RewriteRule ^(&#91;^.&#93;+)$ $1.html &#91;QSA&#93;<br/>RewriteCond %&#123;REQUEST_FILENAME&#125; !-f<br/>RewriteRule ^(.*)$ dispatch.cgi &#91;QSA,L&#93;<br/>ErrorDocument 500 &quot;&lt;h2&gt;Application error&lt;/h2&gt;Rails application failed to start properly&quot;<br/></div><br/>而修改完 .htaccess 后是不需要重起 httpd 服务器的，这时就可以 http://rails2.net/001/blog/show 访问了<br/>4、用apache来访问rails项目方法三：多个rails项目共用一个主机头，使用AliasMatch指令，这样做的好处是每新增一个rails项目后无须修改 httpd.conf 文件且无须重起 httpd 服务器，只需要修改新增rails项目中 public/.htaccess 文件既可<br/>修改 httpd.conf 文件，追加下面这段后重起 httpd 服务器<br/><div class="code"><br/>&lt;VirtualHost *:80&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ServerName rails3.net<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AliasMatch ^/(&#91;^/&#93;*)(.*) &quot;/var/www/rails/$1/public$2&quot;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Directory &quot;/var/www/rails/*/public&quot;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AllowOverride all<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Order Deny,Allow<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Allow from all<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/Directory&gt;<br/>&lt;/VirtualHost&gt;<br/></div><br/>修改文件 /var/www/rails/001/public/.htaccess ，添加一行 RewriteBase /001<br/>修改文件 /var/www/rails/002/public/.htaccess ，添加一行 RewriteBase /002<br/>这样就可以 http://rails3.net/001/blog/show 和 http://rails3.net/002/posts 访问了<br/>此时新增一rails项目 003 且修改文件 002/public/.htaccess ，添加一行 RewriteBase /003，最后访问测试看看，过程如下<br/><div class="code"><br/>&#91;root@myhost rails&#93;# pwd<br/>/var/www/rails<br/>&#91;root@myhost rails&#93;# rails 003 -d sqlite3<br/>&#91;root@myhost rails&#93;# cd 003<br/>&#91;root@myhost 003&#93;# rake db:create:all<br/>&#91;root@myhost 003&#93;# echo RewriteBase /003 &gt;&gt; public/.htaccess<br/>&#91;root@myhost 003&#93;# w3m http://rails3.net/003/rails/info/properties<br/>//w3m如果返回 For security purposes, this information is only available to local requests. 就说明这个方法三是可行的<br/></div><br/><br/>五、配置使用apache、mod_fastcgi来访问rails项目<br/>修改 public/.htaccess 文件中<br/><div class="quote"><div class="quote-title">Quotation</div><div class="quote-content"><br/>RewriteRule ^(.*)$ dispatch.cgi [QSA,L]<br/></div></div><br/>为<br/><div class="quote"><div class="quote-title">Quotation</div><div class="quote-content"><br/>RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]<br/></div></div><br/>即可<br/>修改好的.htaccess文件大概如下<br/><div class="code"><br/>&#91;root@myhost rails&#93;# sed &#039;/^#/d&#039; 001/public/.htaccess <br/>AddHandler fastcgi-script .fcgi<br/>AddHandler cgi-script .cgi<br/>Options +FollowSymLinks +ExecCGI<br/>RewriteEngine On<br/>RewriteBase /001<br/>RewriteRule ^$ index.html &#91;QSA&#93;<br/>RewriteRule ^(&#91;^.&#93;+)$ $1.html &#91;QSA&#93;<br/>RewriteCond %&#123;REQUEST_FILENAME&#125; !-f<br/>RewriteRule ^(.*)$ dispatch.fcgi &#91;QSA,L&#93;<br/>ErrorDocument 500 &quot;&lt;h2&gt;Application error&lt;/h2&gt;Rails application failed to start properly&quot;<br/></div><br/><br/>六、配置使用apache、mod_fcgid来访问rails项目<br/>修改 public/.htaccess 文件中<br/><div class="quote"><div class="quote-title">Quotation</div><div class="quote-content"><br/>AddHandler fastcgi-script .fcgi<br/>RewriteRule ^(.*)$ dispatch.cgi [QSA,L]<br/></div></div><br/>为<br/><div class="quote"><div class="quote-title">Quotation</div><div class="quote-content"><br/>AddHandler fcgid-script .fcgi<br/>RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]<br/></div></div><br/>即可<br/><br/><br/>Tags - <a href="http://blog.vkill.net/tag.php?tag=%25E5%258E%259F%25E5%2588%259B" rel="tag">原创</a> , <a href="http://blog.vkill.net/tag.php?tag=%25E5%25AD%25A6%25E4%25B9%25A0%25E7%25AC%2594%25E8%25AE%25B0" rel="tag">学习笔记</a> , <a href="http://blog.vkill.net/tag.php?tag=gem" rel="tag">gem</a> , <a href="http://blog.vkill.net/tag.php?tag=sqlite3" rel="tag">sqlite3</a> , <a href="http://blog.vkill.net/tag.php?tag=%25E6%2595%25B0%25E6%258D%25AE%25E5%25BA%2593" rel="tag">数据库</a> , <a href="http://blog.vkill.net/tag.php?tag=archlinux" rel="tag">archlinux</a> , <a href="http://blog.vkill.net/tag.php?tag=mod_fastcgi" rel="tag">mod fastcgi</a> , <a href="http://blog.vkill.net/tag.php?tag=mod_fcgid" rel="tag">mod fcgid</a>
]]>
</description>
</item>
</channel>
</rss>