﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-&lt;h1&gt;&lt;font color="red" size="36"&gt;︻┳═一Java&lt;/font&gt;&lt;/h1&gt;-文章分类-HTML</title><link>http://www.blogjava.net/rain1102/category/14846.html</link><description>&lt;b&gt;&lt;font color="#3C1435"&gt;08年奋斗目标：&lt;/font&gt;&lt;font color="maroon"&gt;赚钱买个房子！&lt;/font&gt;&lt;/b&gt;</description><language>zh-cn</language><lastBuildDate>Fri, 29 Feb 2008 16:46:48 GMT</lastBuildDate><pubDate>Fri, 29 Feb 2008 16:46:48 GMT</pubDate><ttl>60</ttl><item><title>IE中打开UTF-8编码title为中文的网页会显示空白页的问题</title><link>http://www.blogjava.net/rain1102/articles/182999.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Fri, 29 Feb 2008 09:31:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/articles/182999.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/182999.html</wfw:comment><comments>http://www.blogjava.net/rain1102/articles/182999.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/182999.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/182999.html</trackback:ping><description><![CDATA[当页面使用 utf-8 编码时， <br />
&nbsp;&nbsp;&lt;title&gt;标签被放在&lt;meta&gt;标签前面。当title为中文的时(比如Blog名为中文或者文章标题为中文)，在IE下会出现显示空白页的问题。 <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;由于 utf-8 使用3个字节表示一个汉字，而GB2312或BIG5使用两个字节。页面输出时，由于上述原因，使浏览器解析、输出&lt;title&gt; &lt;/title&gt;的内容时，如果在&lt;/title&gt;前有奇数个全角字符时，IE把 UTF-8 当作两个字节解析时出现半个汉字的情况，这时该半个汉字会和&lt;/title&gt;的&lt;结合成一个乱码字，导致IE无法读完&lt;title&gt;部分，致使整个页面为空百输出。此时查看源文件，会发现实际上整个页面全部已经下载了。 <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;而浏览器解析html的方式是：浏览器读取了页面的html代码后开始进行解析。解析前浏览器要先知道页面的编码方式，然后根据编码方式进行解码，然后才能开始解析。 <br />
&nbsp;&nbsp;浏览器可以从下面3个方面得到页面编码方式： <br />
&nbsp;&nbsp;HTTP Header中的"Content-Type"项； <br />
&nbsp;&nbsp;返回的html代码开头是否有BOM（Byte Order Mark）； <br />
&nbsp;&nbsp;html代码中的meta标签。 <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;浏览器(无论是IE还是Firefox)在解析页面时，首先取HTTP Header中的Content-Type项，如果有写明charset的话就认定页面的编码方式为charset指定的值。如果没有指明，则认定为默认值。根据上表，IE中文版的默认值是GB2312，Firefox中文版的默认值是GBK，不过IE的GB2312好像和GBK没啥区别。然后，浏览器会看一下有没有BOM。一旦发现有UTF-8的3字节BOM，则重新认定页面的编码方式为UTF-8。 <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;解码阶段，解码完成后是解析html的阶段。解析html的过程中，当解析到head部分的meta标签时，浏览器会根据&lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /&gt;这个语句中的说明，重新认定编码方式为charset后面的方式，中断html解析过程，返回到解码步骤重新解码。 <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;GBK 和 UTF-8 的编码范围： <br />
&nbsp;&nbsp;GBK的编码范围是0&#215;8140-0xfefe。从GB2312-80开始，因为ASCII码的范围是0~127，首字位是0，所以GB2312-80使用双字节，并设置首字位为1。&#8220;GBK 亦采用双字节表示，总体编码范围为 8140-FEFE，首字节在 81-FE 之间，尾字节在 40-FE 之间。&#8221; <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;UTF-8中中文都是3个字节的，由于Unicode中中日韩的文字都混在一起，可以使用Windows自带的字符映射表查看CJK表意字符的范围，即为汉字的范围。3字节的UTF-8编码是：1110xxxx 10xxxxxx 10xxxxxx，编码范围是8000-EFFF，首字节在80-EF之间，尾字节在00-FF之间。 <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp; 显然当一段UTF-8编码的文本被按照GBK方式解码的时候，由于有一些编码在GBK中不存在，造成解码程序出现错误。当UTF-8文本被按照GBK的方式解码的时候，前两个字节会被认为是一个字，后一个字节将和下一个字符结合。当&lt;title&gt;标签里的汉字数是偶数个时，勉强有3/4的概率通过解码程序(因为GBK的第二个字节要求是40-FE)，当有奇数个汉字的时候，最后一个汉字的三个字节的最后一个字节会和&lt; /title&gt;的第一个字符&lt;结合，而&lt;的编码是3C，正好不在尾字节40-FE的范围中，造成错误。如果&lt; /title&gt;标签前有多余的空格也会产生错误，因为空格的编码20也不在范围中。 <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;meta 标签的作用：详细请看 《HTML中meta的作用》 <br />
&nbsp;&nbsp;&#8220;meta是用来在HTML文档中模拟HTTP协议的响应头报文。&#8221;在meta标签中写和在HTTP头里写是一样的，这也是为了解决用普通HTML写网页的人无法自行定义HTTP头的问题。但是，meta是一个html标签，所以必须进入到html解析的步骤才能生效，而生效后，浏览器会退回几步，重新设置好HTTP头从头再开始解码、解析html。所以meta中写的内容会覆盖HTTP头里的内容，无论哪个浏览器都是这样的。 <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;出现空白页必须的3项条件： <br />
&nbsp;&nbsp;1.title标签里的内容为中文其他双字节字符； <br />
&nbsp;&nbsp;2.指定网页编码的 meta 信息在 title 标签的下方； <br />
&nbsp;&nbsp;3.另存或转换utf-8编码时没有包括 unicode 签名。 <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;BOM （Byte Order Mark，字节序标识）的作用： <br />
&nbsp;&nbsp;用于UTF-16编码的文件，在UTF-8编码的文件中不需要标识字节序，所以被用来标识这是一个UTF-8编码文件。 <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;这个问题还是IE的兼容性问题，在解码的时候如果遇到错误的编码就中断解码。 <br />
&nbsp;&nbsp;这个是IE的bug，不过也不要认为你用的是MyIE、MyIE2、遨游Maxthon、GreenBrowser、腾讯TT就不会受到影响。Firefox或者Opera就更不会了。 <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;解决办法： <br />
&nbsp;&nbsp;utf8页面应该使用标准顺序 <br />
&nbsp;&nbsp;&lt;meta http-equiv=&#8221;content-type&#8221; content=&#8221;text/html; charset=UTF-8&#8243; /&gt; <br />
&nbsp;&nbsp;&lt;meta http-equiv=&#8221;content-language&#8221; content=&#8221;zh-CN&#8221; /&gt; <br />
&nbsp;&nbsp;&lt;meta name=&#8221;robots&#8221; content=&#8221;index,follow&#8221; /&gt; <br />
&nbsp;&nbsp;&lt;meta name=&#8221;keywords&#8221; content=&#8221;" /&gt; <br />
&nbsp;&nbsp;&lt;meta name=&#8221;description&#8221; content=&#8221;" /&gt; <br />
&nbsp;&nbsp;&lt;meta name=&#8221;rating&#8221; content=&#8221;general&#8221; /&gt; <br />
&nbsp;&nbsp;&lt;meta name=&#8221;author&#8221; content=&#8221;" /&gt; <br />
&nbsp;&nbsp;&lt;meta name=&#8221;copyright&#8221; content=&#8221;" /&gt; <br />
&nbsp;&nbsp;&lt;meta name=&#8221;generator&#8221; content=&#8221;" /&gt; <br />
&nbsp;&nbsp;&lt;title&gt;&lt;/title&gt; <br />
&nbsp;&nbsp; <br />
&nbsp;&nbsp;参考文章： <br />
&nbsp;&nbsp;http://hewei.org/website-research/shtml-utf8-bom/ shtml调用在utf8编码下多出空行的问题（解决） <br />
&nbsp;&nbsp;IE中打开UTF-8编码title为中文的网页会显示空白页的问题 (文中大部分是这里的观点) <br />
&nbsp;&nbsp; &nbsp;做人要厚道，请注明转自酷网动力(www.ASPCOOL.COM)。<img src ="http://www.blogjava.net/rain1102/aggbug/182999.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2008-02-29 17:31 <a href="http://www.blogjava.net/rain1102/articles/182999.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSP中出现According to TLD or attribute directive in tag file..</title><link>http://www.blogjava.net/rain1102/articles/182143.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Tue, 26 Feb 2008 01:53:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/articles/182143.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/182143.html</wfw:comment><comments>http://www.blogjava.net/rain1102/articles/182143.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/182143.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/182143.html</trackback:ping><description><![CDATA[<div class="blog_content">一下转帖别人博客的解决方式 <a href="http://blog.csdn.net/f9inux/archive/2006/11/05/1368428.aspx" target="_blank">http://blog.csdn.net/f9inux/archive/2006/11/05/1368428.aspx</a> <br />
应用部署运行的时候出现JSP异常, 发生在使用JSTL库的时候: According to TLD or attribute directive in tag file, attribute value does not accept any expressions, 可能是因为使用了JSP2.0版本, 同时又没有使用JSTL core库的备用版本(RT库), 以下有两种处理方法: <br />
<br />
1. 修改web.xml. <br />
&lt;web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"&gt; <br />
<br />
改为2.3版本的 <br />
&lt;!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"&gt; <br />
&lt;web-app&gt; <br />
<br />
2. 使用JSTL core RT库 <br />
<br />
JSTL core库的有两种taglib伪指令, 其中RT库即是依赖于JSP传统的请求时属性值, 而不是依赖于EL来实现(称为EL库.JSP2.0将支持EL) <br />
<br />
JSP中使用&lt;%@ taglib uri=http://java.sun.com/jstl/core prefix="c"%&gt;在2.3版本都可以,在2.4就不行了, 难道是版本不兼容吗? <br />
<br />
只要将 <br />
&lt;%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%&gt; <br />
<br />
改为 <br />
&lt;%@ taglib uri=http://java.sun.com/jstl/core_rt prefix="c"%&gt; </div><img src ="http://www.blogjava.net/rain1102/aggbug/182143.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2008-02-26 09:53 <a href="http://www.blogjava.net/rain1102/articles/182143.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>对多列表格多种数据类型进行排序 </title><link>http://www.blogjava.net/rain1102/articles/177464.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Thu, 24 Jan 2008 05:08:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/articles/177464.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/177464.html</wfw:comment><comments>http://www.blogjava.net/rain1102/articles/177464.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/177464.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/177464.html</trackback:ping><description><![CDATA[<p>&lt;html&gt;<br />
&nbsp; &lt;head&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;title&gt;Sort.html&lt;/title&gt;<br />
&nbsp;&lt;script type="text/javascript"&gt;<br />
&nbsp;&nbsp;function convert(sValue, sDataType) {<br />
&nbsp;&nbsp;&nbsp;switch (sDataType) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;case "int":<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return parseInt(sValue);<br />
&nbsp;&nbsp;&nbsp;&nbsp;case "float":<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return parseFloat(sValue);<br />
&nbsp;&nbsp;&nbsp;&nbsp;case "date":<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return new Date(Date.parse(sValue));<br />
&nbsp;&nbsp;&nbsp;&nbsp;default:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return sValue.toString();<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}<br />
&nbsp;<br />
&nbsp;&nbsp;function generateCompareTRs(iCol, sDataType) {<br />
&nbsp;&nbsp;&nbsp;return function compareTRs(oTR1, oTR2) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;var sValue1 = convert(oTR1.cells[iCol].firstChild.nodeValue, sDataType);<br />
&nbsp;&nbsp;&nbsp;&nbsp;var sValue2 = convert(oTR2.cells[iCol].firstChild.nodeValue, sDataType);<br />
&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;//这里就不可以使用localeCompare方法了，因为数字和日期不支持它，也不可以用"=="，因为日期是对象。<br />
&nbsp;&nbsp;&nbsp;&nbsp;if (sValue1 &lt; sValue2) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return -1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;} else if (sValue1 &gt; sValue2) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 1;<br />
&nbsp;&nbsp;&nbsp;&nbsp;} else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;function sortTable(sTableID, iCol, sDataType) {<br />
&nbsp;&nbsp;&nbsp;var oTable = document.getElementById(sTableID);<br />
&nbsp;&nbsp;&nbsp;var oTBody = oTable.tBodies[0];<br />
&nbsp;&nbsp;&nbsp;var colDataRows = oTBody.rows;<br />
&nbsp;&nbsp;&nbsp;var aTRs = new Array;<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;for (var i = 0; i &lt; colDataRows.length; i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;aTRs.push(colDataRows[i]);<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;if (oTable.sortCol == iCol){<br />
&nbsp;&nbsp;&nbsp;&nbsp;aTRs.reverse();<br />
&nbsp;&nbsp;&nbsp;} else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;aTRs.sort(generateCompareTRs(iCol, sDataType));<br />
&nbsp;&nbsp;&nbsp;}</p>
<p>&nbsp;&nbsp;&nbsp;var oFragment = document.createDocumentFragment();<br />
&nbsp;&nbsp;&nbsp;for (var i = 0; i &lt; aTRs.length; i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;oFragment.appendChild(aTRs[i]);<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;oTBody.appendChild(oFragment);<br />
&nbsp;&nbsp;&nbsp;oTable.sortCol = iCol;<br />
&nbsp;&nbsp;}<br />
&nbsp;&lt;/script&gt;<br />
&nbsp; &lt;/head&gt;<br />
&nbsp; <br />
&nbsp; &lt;body&gt;<br />
&nbsp;&nbsp;&nbsp; This is my HTML page. &lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;table border="1" id="tblSort"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&lt;thead&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;th onclick="sortTable('tblSort', 0)" style="cursor:pointer"&gt;Last Name&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;th onclick="sortTable('tblSort', 1)" style="cursor:pointer"&gt;First Name&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;th onclick="sortTable('tblSort', 2, 'date')" style="cursor:pointer"&gt;Birthday&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;th onclick="sortTable('tblSort', 3, 'int')" style="cursor:pointer"&gt;Age&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&lt;/thead&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&lt;tbody&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;Smith&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;John&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;7/12/1978&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;31&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;Johnson&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;Betty&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;10/15/1977&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;32&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;Henderson&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;Nathan&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;02/22/1982&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;27&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;Williams&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;James&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;8/19/1980&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;29&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;Gilliams&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;Michael&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;5/13/1972&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;39&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;Walker&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;Matthew&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;10/19/1981&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;28&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&lt;/tbody&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/table&gt;<br />
&nbsp; &lt;/body&gt;<br />
&lt;/html&gt;<br />
</p><img src ="http://www.blogjava.net/rain1102/aggbug/177464.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2008-01-24 13:08 <a href="http://www.blogjava.net/rain1102/articles/177464.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>对多列表格进行排序</title><link>http://www.blogjava.net/rain1102/articles/177457.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Thu, 24 Jan 2008 04:24:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/articles/177457.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/177457.html</wfw:comment><comments>http://www.blogjava.net/rain1102/articles/177457.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/177457.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/177457.html</trackback:ping><description><![CDATA[&lt;html&gt;<br />
&nbsp; &lt;head&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;title&gt;Sort.html&lt;/title&gt;<br />
&nbsp;&lt;script type="text/javascript"&gt;<br />
&nbsp;&nbsp;function generateCompareTRs(iCol) {<br />
&nbsp;&nbsp;&nbsp;return function compareTRs(oTR1, oTR2) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;var sValue1 = oTR1.cells[iCol].firstChild.nodeValue;<br />
&nbsp;&nbsp;&nbsp;&nbsp;var sValue2 = oTR2.cells[iCol].firstChild.nodeValue;<br />
&nbsp;&nbsp;&nbsp;&nbsp;return sValue1.localeCompare(sValue2);<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;function sortTable(sTableID, iCol) {<br />
&nbsp;&nbsp;&nbsp;var oTable = document.getElementById(sTableID);<br />
&nbsp;&nbsp;&nbsp;var oTBody = oTable.tBodies[0];<br />
&nbsp;&nbsp;&nbsp;var colDataRows = oTBody.rows;<br />
&nbsp;&nbsp;&nbsp;var aTRs = new Array;<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;for (var i = 0; i &lt; colDataRows.length; i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;aTRs.push(colDataRows[i]);<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;aTRs.sort(generateCompareTRs(iCol));<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;var oFragment = document.createDocumentFragment();<br />
&nbsp;&nbsp;&nbsp;for (var i = 0; i &lt; aTRs.length; i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;oFragment.appendChild(aTRs[i]);<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;oTBody.appendChild(oFragment);<br />
&nbsp;&nbsp;}<br />
&nbsp;&lt;/script&gt;<br />
&nbsp; &lt;/head&gt;<br />
&nbsp; <br />
&nbsp; &lt;body&gt;<br />
&nbsp;&nbsp;&nbsp; This is my HTML page. &lt;br&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;table border="1" id="tblSort"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&lt;thead&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;th onclick="sortTable('tblSort', 0)" style="cursor:pointer"&gt;Last Name&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;th onclick="sortTable('tblSort', 1)" style="cursor:pointer"&gt;First Name&lt;/th&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&lt;/thead&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&lt;tbody&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;Smith&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;John&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;Johnson&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;Betty&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;Henderson&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;Nathan&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;Williams&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;James&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;Gilliams&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;Michael&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;Walker&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&lt;td&gt;Matthew&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&lt;/tr&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&lt;/tbody&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/table&gt;<br />
&nbsp; &lt;/body&gt;<br />
&lt;/html&gt;<br />
<br />
<strong>逆序排列：</strong><br />
上面只对表格进行了排列，如果要实现想Microsoft Outlook那样，第一次点击是排序，如果再点击一次，将会对此列进行逆序排列。<br />
修改以后的代码为：<br />
<p>function sortTable(sTableID, iCol) {<br />
&nbsp;&nbsp;&nbsp;var oTable = document.getElementById(sTableID);<br />
&nbsp;&nbsp;&nbsp;var oTBody = oTable.tBodies[0];<br />
&nbsp;&nbsp;&nbsp;var colDataRows = oTBody.rows;<br />
&nbsp;&nbsp;&nbsp;var aTRs = new Array;<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;for (var i = 0; i &lt; colDataRows.length; i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;aTRs.push(colDataRows[i]);<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;<span style="color: red">&nbsp;if (oTable.sortCol == iCol){<br />
&nbsp;&nbsp;&nbsp;&nbsp;aTRs.reverse();<br />
&nbsp;&nbsp;&nbsp;} else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;aTRs.sort(generateCompareTRs(iCol));<br />
&nbsp;&nbsp;&nbsp;}</span>&nbsp;<br />
&nbsp;&nbsp;var oFragment = document.createDocumentFragment();<br />
&nbsp;&nbsp;&nbsp;for (var i = 0; i &lt; aTRs.length; i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;oFragment.appendChild(aTRs[i]);<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;oTBody.appendChild(oFragment);<br />
&nbsp;&nbsp;&nbsp;<span style="color: red">oTable.sortCol = iCol;</span><br />
&nbsp;&nbsp;}</p><img src ="http://www.blogjava.net/rain1102/aggbug/177457.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2008-01-24 12:24 <a href="http://www.blogjava.net/rain1102/articles/177457.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Form中input和textarea自动选择文本</title><link>http://www.blogjava.net/rain1102/articles/177418.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Thu, 24 Jan 2008 01:58:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/articles/177418.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/177418.html</wfw:comment><comments>http://www.blogjava.net/rain1102/articles/177418.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/177418.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/177418.html</trackback:ping><description><![CDATA[<span style="color: #008000">FormUtil.setTextboxes = function() {<br />
&nbsp;&nbsp; var colInputs = document.getElementsByTagName("input");<br />
&nbsp;&nbsp; var colTextAreas = document.getElementsByTagName("textarea");<br />
&nbsp;<br />
&nbsp;&nbsp; for (var i = 0; i &lt; colInputs.length; i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (colInputs[i].type == "text" || colInputs[i].type == "password") {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; colInputs[i].onfocus = function() {this.select();};<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp; }<br />
&nbsp;&nbsp; for (var i = 0; i &lt; colTextAreas.length; i++) {<br />
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;colTextAreas[i].onfocus = function() {this.select();};<br />
&nbsp;&nbsp; }<br />
}</span><img src ="http://www.blogjava.net/rain1102/aggbug/177418.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2008-01-24 09:58 <a href="http://www.blogjava.net/rain1102/articles/177418.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>自定义鼠标提示代码</title><link>http://www.blogjava.net/rain1102/articles/177315.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Wed, 23 Jan 2008 08:38:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/articles/177315.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/177315.html</wfw:comment><comments>http://www.blogjava.net/rain1102/articles/177315.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/177315.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/177315.html</trackback:ping><description><![CDATA[<p><span style="color: #008000">&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"&gt;<br />
&lt;HTML&gt;<br />
&nbsp;&lt;HEAD&gt;<br />
&nbsp; &lt;TITLE&gt; Tip &lt;/TITLE&gt;<br />
&nbsp; &lt;script type="text/JavaScript"&gt;<br />
<span style="color: #ff0000">&nbsp;function showTip(oEvent) {<br />
&nbsp;&nbsp;var oDiv = document.getElementById("divTip1");<br />
&nbsp;&nbsp;oDiv.style.visibility = "visible";<br />
&nbsp;&nbsp;oDiv.style.left = oEvent.clientX + 5;<br />
&nbsp;&nbsp;oDiv.style.top = oEvent.clientY + 5;<br />
&nbsp;}<br />
&nbsp;function hideTip(oEvent) {<br />
&nbsp;&nbsp;var oDiv = document.getElementById("divTip1");<br />
&nbsp;&nbsp;oDiv.style.visibility = "hidden";<br />
&nbsp;}</span><br />
&nbsp; &lt;/script&gt;<br />
&nbsp;&lt;/HEAD&gt;</span></p>
<p><span style="color: #008000">&nbsp;&lt;BODY&gt;<br />
&nbsp;&lt;p&gt;Move your mouser over the red square.&lt;/p&gt;<br />
&nbsp;&lt;div id="div1" style="background-color:red; height:50px; width:50px" onmouseover="showTip(event);" onmouseout="hideTip(event);"&gt;&lt;div&gt;<br />
&nbsp;&lt;div id="divTip1" style="background-color:yellow;position:absolute;visibility:hidden;padding:5px"&gt;<br />
&nbsp;&nbsp;&lt;span style="font-weight:bold"&gt;Custom Tooltip&lt;/span&gt;&lt;br/&gt;<br />
&nbsp;&lt;/div&gt;<br />
&nbsp;&lt;/BODY&gt;<br />
&lt;/HTML&gt;<br />
</span></p><img src ="http://www.blogjava.net/rain1102/aggbug/177315.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2008-01-23 16:38 <a href="http://www.blogjava.net/rain1102/articles/177315.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>showModalDialog和showModelessDialog使用</title><link>http://www.blogjava.net/rain1102/articles/176785.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Mon, 21 Jan 2008 08:27:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/articles/176785.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/176785.html</wfw:comment><comments>http://www.blogjava.net/rain1102/articles/176785.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/176785.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/176785.html</trackback:ping><description><![CDATA[<p>问题描述：有一个列表，点击每个标题弹出新页面进入修改该标题的具体内容。提交以后，子页面关闭，父页面刷新。<br />
经常想起来的是使用window.open弹出一个新窗口，然后好像这个不好处理。所以到网上查了一下，使用了window.showModalDialog方法。</p>
<p><strong>ShowModalDialog函数的功能：<br />
</strong>打开一个子窗口，并且可与父窗口相互传递数据，它与window.open的最大区别就在于由ShowModalDialog打开子窗口后，父窗口将不能操作。<br />
<strong>使用方法：</strong><br />
vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures])<br />
<strong>参数说明：<br />
</strong><font color="#5577aa">sURL</font><br />
必选参数，类型：字符串。用来指定对话框要显示的文档的URL。<br />
<font color="#5577aa">vArguments</font><br />
可选参数，类型：变体。用来向对话框传递参数。传递的参数类型不限，包括数组等。对话框通过window.dialogArguments来取得传递进来的参数。<br />
<font color="#5577aa">sFeatures</font><br />
可选参数，类型：字符串。用来描述对话框的外观等信息，可以使用以下的一个或几个，用分号&#8220;;&#8221;隔开。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dialogHeight 对话框高度，不小于１００px，ＩＥ４中dialogHeight 和 dialogWidth 默认的单位是em，而ＩＥ５中是px，为方便其见，在定义modal方式的对话框时，用px做单位。<br />
　　 dialogWidth: 对话框宽度。<br />
　　 dialogLeft: 距离桌面左的距离。<br />
　　 dialogTop: 离桌面上的距离。<br />
　　 center: {yes | no | 1 | 0 }：窗口是否居中，默认yes，但仍可以指定高度和宽度。<br />
　　 help: {yes | no | 1 | 0 }：是否显示帮助按钮，默认yes。<br />
　　 resizable: {yes | no | 1 | 0 } ［ＩＥ５＋］：是否可被改变大小。默认no。<br />
　　 status: {yes | no | 1 | 0 } ［IE5+］：是否显示状态栏。默认为yes[ Modeless]或no&nbsp; [Modal]。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; scroll:{ yes | no | 1 | 0 | on | off }：指明对话框是否显示滚动条。默认为yes。<br />
<strong>参数传递方法：<br />
</strong>父窗口向子窗口传递参数采用ShowModalDialog的第2个参数即可，父窗口要获取子窗口传回的参数则可通过ShowModalDialog函数的返回值获取。<br />
子窗口获取父窗口参数的方法为采用子窗口window对象dialogArguments属性获取，例如：<br />
var a=window.dialogArguments;<br />
子窗口向父窗口返回参数采用window.returnValue属性，如：<br />
window.returnValue=1;<br />
window.close();</p>
<p>比如实现上面问题，只需要这样：<br />
<span style="color: #003300"><span style="color: #00ff00"><span style="color: #800080">var&nbsp; url = "page.html";<br />
&nbsp;&nbsp;var retValue = window.showModalDialog(url, "newwindow", "dialogWidth:500px;dialogHeight:200px;help:no;resizable:no;scroll:no;status:no");</span></span></span></p>
<span style="color: #003300"><span style="color: #00ff00"><span style="color: #800080">if (retValue == "ok")<br />
&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;document.location.reload(true);<br />
&nbsp;&nbsp;}</span></span><br />
</span><br />
注意这里要在page页面中提交事件里添加<br />
window.returnValue = "ok";<br />
window.close();<br />
这样就可以实现上面的功能了！<br />
<br />
一、showModalDialog和showModelessDialog有什么不同？<br />
　　showModalDialog：被打开后就会始终保持输入焦点。除非对话框被关闭，否则用户无法切换到主窗口。类似alert的运行效果。<br />
　　showModelessDialog：被打开后，用户可以随机切换输入焦点。对主窗口没有任何影响。<br />
<p>二、怎样才让在showModalDialog和showModelessDialog的超连接不弹出新窗口？<br />
　　在被打开的网页里加上&lt;base target="_self"&gt;就可以了。这句话一般是放在&lt;html&gt;和&lt;body&gt;之间的。</p>
<p>三、怎样才刷新showModalDialog和showModelessDialog里的内容？<br />
　　在showModalDialog和showModelessDialog里是不能按F5刷新的，又不能弹出菜单。这个只能依靠javascript了，以下是相关代码：</p>
<p>&lt;body onkeydown="if (event.keyCode==116){reload.click()}"&gt;<br />
&lt;a id="reload" href="filename.htm" style="display:none"&gt;reload...&lt;/a&gt;</p>
<p>　　将filename.htm替换成网页的名字然后将它放到你打开的网页里，按F5就可以刷新了，注意，这个要配合&lt;base target="_self"&gt;使用，不然你按下F5会弹出新窗口的。</p>
<p>四、如何用javascript关掉showModalDialog(或showModelessDialog)打开的窗口。<br />
　　&lt;input type="button" value="关闭" onclick="window.close()"&gt;<br />
　　也要配合&lt;base target="_self"&gt;，不然会打开一个新的IE窗口，然后再关掉的。</p><img src ="http://www.blogjava.net/rain1102/aggbug/176785.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2008-01-21 16:27 <a href="http://www.blogjava.net/rain1102/articles/176785.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>RSS</title><link>http://www.blogjava.net/rain1102/articles/176345.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Fri, 18 Jan 2008 14:14:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/articles/176345.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/176345.html</wfw:comment><comments>http://www.blogjava.net/rain1102/articles/176345.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/176345.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/176345.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 1．RSS 介绍RSS是利用XML把一个网站的内容发送给其他网站的方式。RSS允许快速浏览新闻与更新。什么是RSS？RSS是在线共享内容的一种简易方式（也叫聚合内容，Really Simple Syndication），Rss允许联合站点内容，Rss定义了一个简单的方式来共享和查看标题及内容。Rss文件可以自动更新，Rss允许个人查看不同站点，Rss是用XML编写的。为什么要使用R...&nbsp;&nbsp;<a href='http://www.blogjava.net/rain1102/articles/176345.html'>阅读全文</a><img src ="http://www.blogjava.net/rain1102/aggbug/176345.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2008-01-18 22:14 <a href="http://www.blogjava.net/rain1102/articles/176345.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>XML/XSL-FO</title><link>http://www.blogjava.net/rain1102/articles/176203.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Fri, 18 Jan 2008 06:36:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/articles/176203.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/176203.html</wfw:comment><comments>http://www.blogjava.net/rain1102/articles/176203.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/176203.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/176203.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在学习XSL-FO之前，你应该已经掌握了XML和XML命名空间的基本知识。1．什么是XSL-FO？XSL-FO 是用于将结果格式化成XML数据的语言，XSL-FO全称为（Extensible Stylesheet Language Formatting Objects：扩展格式化对象样式表语言），XSL-FO 是W3C的推荐标准，XSL-FO 现在通常被称为XSL。XSL-FO 是用于...&nbsp;&nbsp;<a href='http://www.blogjava.net/rain1102/articles/176203.html'>阅读全文</a><img src ="http://www.blogjava.net/rain1102/aggbug/176203.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2008-01-18 14:36 <a href="http://www.blogjava.net/rain1102/articles/176203.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JS常见的location及URL变量 </title><link>http://www.blogjava.net/rain1102/articles/174604.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Fri, 11 Jan 2008 05:29:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/articles/174604.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/174604.html</wfw:comment><comments>http://www.blogjava.net/rain1102/articles/174604.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/174604.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/174604.html</trackback:ping><description><![CDATA[<p>alert(location);<br />
alert(location.href);<br />
alert(location.search);<br />
alert(location.pathname);<br />
<br />
上面四个分别得到下面四个结果<br />
<br />
<a href="http://www.baidu.com/s/abc/d?ie=gb2312&amp;bs=baseURL&amp;sr=&amp;z=&amp;cl=3&amp;f=8&amp;wd=baseURL+IE+FF&amp;ct=0">http://www.baidu.com/s/abc/d?ie=gb2312&amp;bs=baseURL&amp;sr=&amp;z=&amp;cl=3&amp;f=8&amp;wd=baseURL+IE+FF&amp;ct=0</a><br />
http://www.baidu.com/s/abc/d?ie=gb2312&amp;bs=baseURL&amp;sr=&amp;z=&amp;cl=3&amp;f=8&amp;wd=baseURL+IE+FF&amp;ct=0<br />
?ie=gb2312&amp;bs=baseURL&amp;sr=&amp;z=&amp;cl=3&amp;f=8&amp;wd=baseURL+IE+FF&amp;ct=0<br />
/s/abc/d </p><img src ="http://www.blogjava.net/rain1102/aggbug/174604.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2008-01-11 13:29 <a href="http://www.blogjava.net/rain1102/articles/174604.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何在dwr的回调函数中传递多个参数</title><link>http://www.blogjava.net/rain1102/articles/171357.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Fri, 28 Dec 2007 15:42:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/articles/171357.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/171357.html</wfw:comment><comments>http://www.blogjava.net/rain1102/articles/171357.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/171357.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/171357.html</trackback:ping><description><![CDATA[function selectCountry(countryId) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var num = countryId.indexOf("Country");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var prefix = countryId.substr(0,num);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var countryId = document.getElementById(countryId).value;<br />
&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; loveService.getProvincesByCountry(countryId, function(data){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="color: #008000">callBackProvices(data,<span style="color: #ff0000">prefix</span>);<br />
</span>&nbsp;&nbsp;&nbsp;});<br />
&nbsp;&nbsp;&nbsp;resetProvince(prefix+"Province");<br />
&nbsp;&nbsp;&nbsp;resetCity(prefix+"City");<br />
&nbsp;&nbsp;}<br />
&nbsp;<br />
&nbsp;&nbsp;function <span style="color: #ff0000">callBackProvices(data, prefix)</span> {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var provinceId = prefix+'Province';<br />
&nbsp;&nbsp;&nbsp;DWRUtil.removeAllOptions(provinceId);<br />
&nbsp;&nbsp;&nbsp;DWRUtil.addOptions(provinceId, arrayObject, 'value', 'name');<br />
&nbsp;&nbsp;&nbsp;DWRUtil.addOptions(provinceId, data);<br />
&nbsp;&nbsp;}
<p>&nbsp;</p><img src ="http://www.blogjava.net/rain1102/aggbug/171357.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2007-12-28 23:42 <a href="http://www.blogjava.net/rain1102/articles/171357.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>snap给文章中的链接加上缩略图(小教程)（转载）</title><link>http://www.blogjava.net/rain1102/articles/168953.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Thu, 20 Dec 2007 02:36:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/articles/168953.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/168953.html</wfw:comment><comments>http://www.blogjava.net/rain1102/articles/168953.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/168953.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/168953.html</trackback:ping><description><![CDATA[<p>标放到链接上就可以看到缩略图。<br />
效果演示见<a href="http://www.dimlau.com/" target="_blank">本站首页</a></p>
<p>具体使用办法，<br />
到<a href="http://www.snap.com/about/spa1.php" target="_blank" rel="nofollow">snap</a>网站可以申请到一段类似以下形式的代码：<br />
</p>
<blockquote>&lt;script&nbsp;defer&nbsp;id="snap_preview_anywhere"&nbsp;type="text/javascript"&nbsp;src="http://spa.snap.com/snap_preview_anywhere.js?ap=1&amp;amp;key=739080a127808f9856fa43a8c91c4d21&amp;amp;sb=1&amp;amp;domain=dimlau.com"&gt;&lt;/script&gt;</blockquote><br />
将代码置于页面代码的&lt;/head&gt;前面就可以了。（经测试，为不拖慢速度，放在&lt;/body&gt;前也可以，）
<p>下面说说代码的修改：</p>
<p><strong>1、使用默认的代码，鼠标移动到链接上时显示的效果是带搜索框的，</strong>但是可以通过修改代码来去掉搜索框，先看效果对比：<br />
<a href="http://www.flickr.com/photos/dimstudio/299277592/" target="_blank" rel="nofollow"><img alt="snap" src="http://static.flickr.com/120/299277592_9b1efac7fb.jpg" /></a></p>
<p>修改方法是，将获得代码中的<strong>sb=1</strong>改成<strong>sb=0</strong></p>
<p><strong>2、默认代码效果是页面中的所有链接都有鼠标划过时显示缩略图效果。</strong>如果你想对某个特定链接禁用缩略图效果，可以对该链接加上一个分类来标识；<br />
例如链接</p>
<blockquote>&lt;a&nbsp;href="xxxx"&gt;xxx&lt;/a&gt;</blockquote>，禁用缩略图的方法是写成
<blockquote>&lt;a&nbsp;href="xxxx"&nbsp;class="snap_nopreview"&gt;xxx&lt;/a&gt;</blockquote>
<p>通常，一个页面里大部分链接我们都不想加入缩略图的，所以上述办法有点烦琐了。<br />
其实可以通过修改代码中的<strong>ap=1</strong>为<strong>ap=0</strong>来使页面的所有链接在默认情况下不显示缩略图，这时只有链接写成以下格式的情况下才会有缩略图显示：<br />
</p>
<blockquote>&lt;a&nbsp;class="snap_preview"&nbsp;href="XXX"&gt;XXX&lt;/a&gt;</blockquote>
<p>对于上述各种情况，如果链接本身已经有了某个class分类，比如已经分类为class="123",可以用<strong>空格</strong>来分隔，并赋予多个class分类，比如<br />
class="123 snap_nopreview"或者class="123 snap_preview"</p>
<p>以上为本人的一点小小心得，希望对各位看官有点帮助。<br />
--------------------------------------------------------------------------------------------------------</p>
<p>对于我使用的MT，可以对模版中的评论者网站链接形式加入一个class="snap_preview"来实现对评论者网站界面的初步预览，我觉得是个不错的小工具。<br />
当然其他程序，也可以做相应的修改实现该效果。我就不再多说了。</p><img src ="http://www.blogjava.net/rain1102/aggbug/168953.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2007-12-20 10:36 <a href="http://www.blogjava.net/rain1102/articles/168953.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>符合web标准插入Flash的方法</title><link>http://www.blogjava.net/rain1102/articles/168268.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Mon, 17 Dec 2007 08:57:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/articles/168268.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/168268.html</wfw:comment><comments>http://www.blogjava.net/rain1102/articles/168268.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/168268.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/168268.html</trackback:ping><description><![CDATA[<a href="http://and8.net/article.asp?id=174" target="_blank">符合web标准插入Flash的方法</a><img src ="http://www.blogjava.net/rain1102/aggbug/168268.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2007-12-17 16:57 <a href="http://www.blogjava.net/rain1102/articles/168268.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用CSS控制图片对齐方式</title><link>http://www.blogjava.net/rain1102/articles/168013.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Sat, 15 Dec 2007 15:04:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/articles/168013.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/168013.html</wfw:comment><comments>http://www.blogjava.net/rain1102/articles/168013.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/168013.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/168013.html</trackback:ping><description><![CDATA[在以前做图片和文字对齐的时候，使用的是img的属性，比如align="left" ，而在使用CSS控制图片的时候，则需要使用float来替代align，而不是text-align！<img src ="http://www.blogjava.net/rain1102/aggbug/168013.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2007-12-15 23:04 <a href="http://www.blogjava.net/rain1102/articles/168013.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>QQ和MSN在线聊天代码</title><link>http://www.blogjava.net/rain1102/articles/167483.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Thu, 13 Dec 2007 06:07:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/articles/167483.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/167483.html</wfw:comment><comments>http://www.blogjava.net/rain1102/articles/167483.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/167483.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/167483.html</trackback:ping><description><![CDATA[QQ在线聊天代码<br />
&lt;a target=blank href=http://wpa.qq.com/msgrd?V=1&amp;Uin=65305003&amp;Site=http://www.sonicsoft.net&amp;Menu=yes&gt;&lt;img border="0" SRC=http://wpa.qq.com/pa?p=1:65305003:1 alt="点击这里给我发消息"&gt;&lt;/a&gt; <br />
<br />
MSN在线聊天代码<br />
&lt;A href="msnim:chat?contact=xie_wansong@hotmail.com" target=blank&gt;点这里和我MSN聊天&lt;/A&gt; <br />
<br />
MSN从7。5开始加入了命令行控制，你可以在网页中加入&#8220;与我交谈&#8221;这样的按钮了，访问者点击就可以直接用他的MSN与你对话，代码是<br />
<br />
建立对话：msnim:chat?contact=[邮件地址]<br />
<br />
添加好友：msnim:add?contact=[邮件地址]<br />
<br />
语音聊天：msnim:voice?contact=[邮件地址]<br />
<br />
视频聊天：msnim:video?contact=[邮件地址]<br />
<br />
用的时候把[邮件地址]写成你的MSN账号，不要方括号，用链接即可，如<br />
<br />
&lt;a&nbsp;href="msnim:chat?contact=yourname@hotmail.com"&gt;与我交谈&lt;/a&gt;<br />
<br />
&lt;a&nbsp;href="msnim:add?contact=yourname@hotmail.com"&gt;加我为好友&lt;/a&gt;<br /><img src ="http://www.blogjava.net/rain1102/aggbug/167483.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2007-12-13 14:07 <a href="http://www.blogjava.net/rain1102/articles/167483.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CSS样式切换技巧 - 动态更换网页色彩皮肤(转)</title><link>http://www.blogjava.net/rain1102/articles/163809.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Wed, 28 Nov 2007 12:58:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/articles/163809.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/163809.html</wfw:comment><comments>http://www.blogjava.net/rain1102/articles/163809.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/163809.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/163809.html</trackback:ping><description><![CDATA[<span style="font-family: 宋体">样式与数据分离所带来的不只是符合标准这样的简单，样式既然与数据分离那么样式的切换则变得理所当然的了！但是网上这样的中文教程实在是太少了！所以我收集了一部分中外网站已经实现的技术资料整理出来供网友参考。</span><span style="font-family: Arial"> <br />
<br />
</span><span style="font-family: 宋体">首先要具备不同内容的</span><span style="font-family: Arial">CSS</span><span style="font-family: 宋体">文件（最好每个文件代表一种样式，或是代表需要作出变动的部分）。这里以三个为例：</span><span style="font-family: Arial"> <br />
<br />
</span><span style="font-family: 宋体">第一个是背景为红色的</span><span style="font-family: Arial">CSS</span><span style="font-family: 宋体">文件（</span><span style="font-family: Arial">red.css</span><span style="font-family: 宋体">）</span><span style="font-family: Arial">CSS</span><span style="font-family: 宋体">中的内容为：</span>
<p style="margin: 6pt 1.5pt 1.5pt; word-break: break-all; text-align: left" align="left"><strong><span style="font-size: 7.5pt; color: #005681; font-family: Arial"><a href="javascript:"><span style="color: #2f5fa1; text-decoration: none; text-underline: none">Copy code</span></a></span></strong></p>
<p style="word-break: break-all; text-align: left" align="left"><span style="font-size: 9pt; color: #81888c; font-family: Arial">body {background-color:red;} </span><span style="font-family: Arial"><br />
<br />
</span><span style="font-family: 宋体">第二个是背景为绿色的</span><span style="font-family: Arial">CSS</span><span style="font-family: 宋体">文件（</span><span style="font-family: Arial">green.css</span><span style="font-family: 宋体">）</span><span style="font-family: Arial">CSS</span><span style="font-family: 宋体">中的内容为：</span>&nbsp;</p>
<p style="margin: 6pt 1.5pt 1.5pt; word-break: break-all; text-align: left" align="left"><strong><span style="font-size: 7.5pt; color: #005681; font-family: Arial"><a href="javascript:"><span style="color: #2f5fa1; text-decoration: none; text-underline: none">Copy code</span></a></span></strong></p>
<p style="word-break: break-all; text-align: left" align="left"><span style="font-size: 9pt; color: #81888c; font-family: Arial">body {background-color:green;} </span><span style="font-family: Arial"><br />
<br />
</span><span style="font-family: 宋体">第三个是背景为黄色的</span><span style="font-family: Arial">CSS</span><span style="font-family: 宋体">文件（</span><span style="font-family: Arial">yellow.css</span><span style="font-family: 宋体">）</span><span style="font-family: Arial">CSS</span><span style="font-family: 宋体">中的内容为：</span></p>
<p style="margin: 6pt 1.5pt 1.5pt; word-break: break-all; text-align: left" align="left"><strong><span style="font-size: 7.5pt; color: #005681; font-family: Arial"><a href="javascript:"><span style="color: #2f5fa1; text-decoration: none; text-underline: none">Copy code</span></a></span></strong></p>
<p style="word-break: break-all; text-align: left" align="left"><span style="font-size: 9pt; color: #81888c; font-family: Arial">body {background-color:yellow;}</span><span style="font-family: Arial"><br />
<br />
</span><span style="font-family: 宋体">然后在</span><span style="font-family: Arial">xthml</span><span style="font-family: 宋体">文件中加入这三个</span><span style="font-family: Arial">CSS</span><span style="font-family: 宋体">的链接</span></p>
<p style="margin: 6pt 1.5pt 1.5pt; word-break: break-all; text-align: left" align="left"><strong><span style="font-size: 7.5pt; color: #005681; font-family: Arial"><a href="javascript:"><span style="color: #2f5fa1; text-decoration: none; text-underline: none">Copy code</span></a></span></strong></p>
<p style="word-break: break-all; text-align: left" align="left"><span style="font-size: 9pt; color: #81888c; font-family: Arial">&lt;link rel="alternate stylesheet" href="red.css" type="text/css" title="red" media="screen, projection"/&gt; <br />
&lt;link rel="stylesheet" href="green.css" type="text/css" title="green" media="screen, projection"/&gt; <br />
&lt;link rel="alternate stylesheet" href="yellow.css" type="text/css" title="yellow" media="screen, projection"/&gt;</span><span style="font-family: Arial"><br />
<br />
</span><span style="font-family: 宋体">这三个中除了</span><span style="font-family: Arial">title</span><span style="font-family: 宋体">不一样外还有一个地方有所不同，那就是</span><span style="font-family: Arial">REL</span><span style="font-family: 宋体">。第一个与第三个都是</span><span style="font-family: Arial">alternate stylesheet</span><span style="font-family: 宋体">只有第二个是</span><span style="font-family: Arial">stylesheet</span><span style="font-family: 宋体">。这第二个就是当然样式。</span><span style="font-family: Arial"> <br />
<br />
</span><span style="font-family: 宋体">在链接下面再导入一个</span><span style="font-family: Arial">JS</span><span style="font-family: 宋体">文件，用来控制这个样式切换</span></p>
<p style="margin: 6pt 1.5pt 1.5pt; word-break: break-all; text-align: left" align="left"><strong><span style="font-size: 7.5pt; color: #005681; font-family: Arial"><a href="javascript:"><span style="color: #2f5fa1; text-decoration: none; text-underline: none">Copy code</span></a></span></strong></p>
<p style="word-break: break-all; text-align: left" align="left"><span style="font-size: 9pt; color: #81888c; font-family: Arial">function setActiveStyleSheet(title) { <br />
&nbsp;&nbsp;var i, a, main; <br />
&nbsp;&nbsp;if (title) { <br />
&nbsp;&nbsp;for(i=0; (a = document.getElementsByTagName('link')[i]); i++) { <br />
&nbsp;&nbsp;if(a.getAttribute('rel').indexOf('style') != -1 &amp;&amp; a.getAttribute('title')) { <br />
&nbsp;&nbsp;a.disabled = true; <br />
&nbsp;&nbsp;if(a.getAttribute('title') == title) a.disabled = false; <br />
&nbsp;&nbsp;} <br />
&nbsp;&nbsp;} <br />
&nbsp;&nbsp;} <br />
&nbsp;&nbsp;} <br />
&nbsp;&nbsp;function getActiveStyleSheet() { <br />
&nbsp;&nbsp;var i, a; <br />
&nbsp;&nbsp;for(i=0; (a = document.getElementsByTagName('link')[i]); i++) { <br />
&nbsp;&nbsp;if(a.getAttribute('rel').indexOf('style') != -1 &amp;&amp; a.getAttribute('title') &amp;&amp; !a.disabled) return a.getAttribute('title'); <br />
&nbsp;&nbsp;} <br />
&nbsp;&nbsp;return null; <br />
} </span></p>
<p style="margin-bottom: 12pt; word-break: break-all; text-align: left" align="left"><span style="font-family: Arial"><br />
</span><span style="font-family: 宋体">在合适的地方加入三个切换按钮</span></p>
<p style="margin: 6pt 1.5pt 1.5pt; word-break: break-all; text-align: left" align="left"><strong><span style="font-size: 7.5pt; color: #005681; font-family: Arial"><a href="javascript:"><span style="color: #2f5fa1; text-decoration: none; text-underline: none">Copy code</span></a></span></strong></p>
<p style="word-break: break-all; text-align: left" align="left"><span style="font-size: 9pt; color: #81888c; font-family: Arial">&lt;a href="javascript :void()" onclick="setActiveStyleSheet('red'); return false;" title="</span><span style="font-size: 9pt; color: #81888c; font-family: 宋体">红色样式</span><span style="font-size: 9pt; color: #81888c; font-family: Arial">"&gt;&lt;/a&gt; <br />
&lt;a href="javascript :void()" onclick="setActiveStyleSheet('green'); return false;" title="</span><span style="font-size: 9pt; color: #81888c; font-family: 宋体">绿色样式</span><span style="font-size: 9pt; color: #81888c; font-family: Arial">"&gt;&lt;/a&gt; <br />
&lt;a href="javascript :void()" onclick="setActiveStyleSheet('yellow'); return false;" title="</span><span style="font-size: 9pt; color: #81888c; font-family: 宋体">黄色样式</span><span style="font-size: 9pt; color: #81888c; font-family: Arial">"&gt;&lt;/a&gt; <br />
&lt;a href="javascript :void()" onclick="setActiveStyleSheet('none'); return false;" title="</span><span style="font-size: 9pt; color: #81888c; font-family: 宋体">没有样式</span><span style="font-size: 9pt; color: #81888c; font-family: Arial">"&gt;&lt;/a&gt; </span><span style="font-family: Arial"><br />
<br />
</span><span style="font-family: 宋体">好了发布试试点那三个切换链接！是不是已经切换了样式？</span><span style="font-family: Arial"> <br />
<br />
<br />
</span><strong><span style="font-family: 宋体">补遗：带有记忆功能的</span></strong><strong><span style="font-family: Arial">JS</span></strong><strong><span style="font-family: 宋体">文档</span></strong></p>
<p style="margin: 6pt 1.5pt 1.5pt; word-break: break-all; text-align: left" align="left"><strong><span style="font-size: 7.5pt; color: #005681; font-family: Arial"><a href="javascript:"><span style="color: #2f5fa1; text-decoration: none; text-underline: none">Copy code</span></a></span></strong></p>
<p style="word-break: break-all; text-align: left" align="left"><span style="font-size: 9pt; color: #81888c; font-family: Arial">function setActiveStyleSheet(title) { <br />
var i, a, main; <br />
for(i=0; (a = document.getElementsByTagName <br />
("link")[i]); i++) { <br />
if(a.getAttribute("rel").indexOf("style") <br />
!= -1 &amp;&amp; a.getAttribute("title")) { <br />
a.disabled = true; <br />
if(a.getAttribute("title") == title) <br />
a.disabled = false; <br />
} <br />
} <br />
} <br />
function getActiveStyleSheet() { <br />
var i, a; <br />
for(i=0; (a = document.getElementsByTagName <br />
("link")[i]); i++) { <br />
if(a.getAttribute("rel").indexOf("style") <br />
!= -1 &amp;&amp; a.getAttribute("title") &amp;&amp; !a.disabled) <br />
return a.getAttribute("title"); <br />
} <br />
return null; <br />
} <br />
function getPreferredStyleSheet() { <br />
var i, a; <br />
for(i=0; (a = document.getElementsByTagName <br />
("link")[i]); i++) { <br />
if(a.getAttribute("rel").indexOf("style") != -1 <br />
&amp;&amp; a.getAttribute("rel").indexOf("alt") == -1 <br />
&amp;&amp; a.getAttribute("title") <br />
) return a.getAttribute("title"); <br />
} <br />
return null; <br />
} <br />
function createCookie(name,value,days) { <br />
if (days) { <br />
var date = new Date(); <br />
date.setTime(date.getTime()+(days*24*60*60*1000)); <br />
var expires = "; expires="+date.toGMTString(); <br />
} <br />
else expires = ""; <br />
document.cookie = name+"="+value+expires+"; <br />
path=/"; <br />
} <br />
function readCookie(name) { <br />
var nameEQ = name + "="; <br />
var ca = document.cookie.split(';'); <br />
for(var i=0;i &lt; ca.length;i++) { <br />
var c = ca[i]; <br />
while (c.charAt(0)==' ') c = c.substring(1,c.length); <br />
if (c.indexOf(nameEQ) == 0) return <br />
c.substring(nameEQ.length,c.length); <br />
} <br />
return null; <br />
} <br />
window.onload = function(e) { <br />
var cookie = readCookie("style"); <br />
var title = cookie ? cookie : <br />
getPreferredStyleSheet(); <br />
setActiveStyleSheet(title); <br />
} <br />
window.onunload = function(e) { <br />
var title = getActiveStyleSheet(); <br />
createCookie("style", title, 365); <br />
} <br />
var cookie = readCookie("style"); <br />
var title = cookie ? cookie : <br />
getPreferredStyleSheet(); <br />
setActiveStyleSheet(title);</span></p><img src ="http://www.blogjava.net/rain1102/aggbug/163809.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2007-11-28 20:58 <a href="http://www.blogjava.net/rain1102/articles/163809.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Display与Visibility的不同 </title><link>http://www.blogjava.net/rain1102/articles/75390.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Mon, 16 Oct 2006 04:58:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/articles/75390.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/75390.html</wfw:comment><comments>http://www.blogjava.net/rain1102/articles/75390.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/75390.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/75390.html</trackback:ping><description><![CDATA[<div class="left fontsize3">css中的display与visibility——大多数人很容易将css属性display和visibility混淆，它们看似没有什么不同，其实它们的差别却是很大的。 visibility属性用来确定元素是显示还是隐藏，这用visibility="visible|hidden"来表示，visible表示显示，hidden表示隐藏。当visibility被设置为"hidden"的时候，元素虽然被隐藏了，但它仍然占据它原来所在的位置。</div><img src ="http://www.blogjava.net/rain1102/aggbug/75390.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2006-10-16 12:58 <a href="http://www.blogjava.net/rain1102/articles/75390.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTTP状态代码</title><link>http://www.blogjava.net/rain1102/articles/72432.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Thu, 28 Sep 2006 00:19:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/articles/72432.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/72432.html</wfw:comment><comments>http://www.blogjava.net/rain1102/articles/72432.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/72432.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/72432.html</trackback:ping><description><![CDATA[
		<table bordercolor="#99ccff" cellpadding="2" width="100%" border="1">
				<tbody>
						<tr>
								<td align="middle" width="15%" bgcolor="#3366cc" height="30">
										<font color="#ffffff">
												<b>状态代码</b>
										</font>
								</td>
								<td align="middle" width="30%" bgcolor="#3366cc">
										<font color="#ffffff">
												<b>状态信息</b>
										</font>
								</td>
								<td align="middle" width="55%" bgcolor="#3366cc">
										<font color="#ffffff">
												<b>代码含义</b>
										</font>
								</td>
						</tr>
						<tr>
								<td height="20">100</td>
								<td>Continue</td>
								<td>初始的请求已经接受，客户应当继续发送请求的其余部分。</td>
						</tr>
						<tr>
								<td height="20">101</td>
								<td>Switching Protocols</td>
								<td>服务器将遵从客户的请求转换到另外一种协议</td>
						</tr>
						<tr>
								<td height="20">200</td>
								<td>OK</td>
								<td>一切正常，对GET和POST请求的应答文档跟在后面。</td>
						</tr>
						<tr>
								<td height="20">201</td>
								<td>Created</td>
								<td>服务器已经创建了文档，Location头给出了它的URL。</td>
						</tr>
						<tr>
								<td height="20">202</td>
								<td>Accepted</td>
								<td>已经接受请求，但处理尚未完成。</td>
						</tr>
						<tr>
								<td height="20">203</td>
								<td>Non-Authoritative Information</td>
								<td>文档已经正常地返回，但一些应答头可能不正确，因为使用的是文档的拷贝 </td>
						</tr>
						<tr>
								<td height="20">204</td>
								<td>No Content</td>
								<td>没有新文档，浏览器应该继续显示原来的文档。如果用户定期地刷新页面，而Servlet可以确定用户文档足够新，这个状态代码是很有用的。</td>
						</tr>
						<tr>
								<td height="20">205</td>
								<td>Reset Content</td>
								<td>没有新的内容，但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容 </td>
						</tr>
						<tr>
								<td height="20">206</td>
								<td>Partial Content</td>
								<td>客户发送了一个带有Range头的GET请求，服务器完成了它。</td>
						</tr>
						<tr>
								<td height="20">300</td>
								<td>Multiple Choices</td>
								<td>客户请求的文档可以在多个位置找到，这些位置已经在返回的文档内列出。如果服务器要提出优先选择，则应该在Location应答头指明。</td>
						</tr>
						<tr>
								<td height="20">301</td>
								<td>Moved Permanently</td>
								<td>客户请求的文档在其他地方，新的URL在Location头中给出，浏览器应该自动地访问新的URL。</td>
						</tr>
						<tr>
								<td height="20">302</td>
								<td>Found</td>
								<td>类似于301，但新的URL应该被视为临时性的替代，而不是永久性的。注意，在HTTP1.0中对应的状态信息是“Moved</td>
						</tr>
						<tr>
								<td height="20">303</td>
								<td>See Other</td>
								<td>类似于301/302，不同之处在于，如果原来的请求是POST，Location头指定的重定向目标文档应该通过GET提取 </td>
						</tr>
						<tr>
								<td height="20">304</td>
								<td>Not Modified</td>
								<td>客户端有缓冲的文档并发出了一个条件性的请求（一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档）。服务器告诉客户，原来缓冲的文档还可以继续使用。</td>
						</tr>
						<tr>
								<td height="20">305</td>
								<td>Use Proxy</td>
								<td>客户请求的文档应该通过Location头所指明的代理服务器提取 </td>
						</tr>
						<tr>
								<td height="20">307</td>
								<td>Temporary Redirect</td>
								<td>和302（Found）相同。许多浏览器会错误地响应302应答进行重定向，即使原来的请求是POST，即使它实际上只能在POST请求的应答是303时才能重定向。由于这个原因，HTTP 1.1新增了307，以便更加清除地区分几个状态代码：当出现303应答时，浏览器可以跟随重定向的GET和POST请求；如果是307应答，则浏览器只能跟随对GET请求的重定向。</td>
						</tr>
						<tr>
								<td height="20">400</td>
								<td>Bad Request</td>
								<td>请求出现语法错误。</td>
						</tr>
						<tr>
								<td height="20">401</td>
								<td>Unauthorized</td>
								<td>客户试图未经授权访问受密码保护的页面。应答中会包含一个WWW-Authenticate头，浏览器据此显示用户名字/密码对话框，然后在填写合适的Authorization头后再次发出请求。</td>
						</tr>
						<tr>
								<td height="20">403</td>
								<td>Forbidden</td>
								<td>资源不可用。服务器理解客户的请求，但拒绝处理它。通常由于服务器上文件或目录的权限设置导致。</td>
						</tr>
						<tr>
								<td height="20">404</td>
								<td>Not Found</td>
								<td>无法找到指定位置的资源。这也是一个常用的应答。</td>
						</tr>
						<tr>
								<td height="20">405</td>
								<td>Method Not Allowed</td>
								<td>请求方法（GET、POST、HEAD、DELETE、PUT、TRACE等）对指定的资源不适用。</td>
						</tr>
						<tr>
								<td height="20">406</td>
								<td>Not Acceptable</td>
								<td>指定的资源已经找到，但它的MIME类型和客户在Accpet头中所指定的不兼容 </td>
						</tr>
						<tr>
								<td height="20">407</td>
								<td>Proxy</td>
								<td>类似于401，表示客户必须先经过代理服务器的授权。</td>
						</tr>
						<tr>
								<td height="20">408</td>
								<td>Request Timeout</td>
								<td>在服务器许可的等待时间内，客户一直没有发出任何请求。客户可以在以后重复同一请求。</td>
						</tr>
						<tr>
								<td height="20">409</td>
								<td>Conflict</td>
								<td>通常和PUT请求有关。由于请求和资源的当前状态相冲突，因此请求不能成功。</td>
						</tr>
						<tr>
								<td height="20">410</td>
								<td>Gone</td>
								<td>所请求的文档已经不再可用，而且服务器不知道应该重定向到哪一个地址。它和404的不同在于，返回407表示文档永久地离开了指定的位置，而404表示由于未知的原因文档不可用。</td>
						</tr>
						<tr>
								<td height="20">411</td>
								<td>Length Require</td>
								<td>服务器不能处理请求，除非客户发送一个Content-Length头。</td>
						</tr>
						<tr>
								<td height="20">412</td>
								<td>Precondition Failed</td>
								<td>请求头中指定的一些前提条件失败 </td>
						</tr>
						<tr>
								<td height="20">413</td>
								<td>Request Entity Too Large</td>
								<td>目标文档的大小超过服务器当前愿意处理的大小。如果服务器认为自己能够稍后再处理该请求，则应该提供一个Retry-After头 </td>
						</tr>
						<tr>
								<td height="20">414</td>
								<td>Request URI Too Long</td>
								<td>URI太长 。</td>
						</tr>
						<tr>
								<td height="20">416</td>
								<td>Requested Range Not Satisfiable</td>
								<td>服务器不能满足客户在请求中指定的Range头。</td>
						</tr>
						<tr>
								<td height="20">500</td>
								<td>Internal Server Error</td>
								<td>服务器遇到了意料不到的情况，不能完成客户的请求。</td>
						</tr>
						<tr>
								<td height="20">501</td>
								<td>Not Implemented</td>
								<td>服务器不支持实现请求所需要的功能。例如，客户发出了一个服务器不支持的PUT请求。</td>
						</tr>
						<tr>
								<td height="20">502</td>
								<td>Bad Gateway</td>
								<td>服务器作为网关或者代理时，为了完成请求访问下一个服务器，但该服务器返回了非法的应答。</td>
						</tr>
						<tr>
								<td height="20">503</td>
								<td>Service Unavailable</td>
								<td>服务器由于维护或者负载过重未能应答。例如，Servlet可能在数据库连接池已满的情况下返回503。服务器返回503时可以提供一个Retry-After头。</td>
						</tr>
						<tr>
								<td height="20">504</td>
								<td>Gateway Timeout</td>
								<td>由作为代理或网关的服务器使用，表示不能及时地从远程服务器获得应答。</td>
						</tr>
						<tr>
								<td height="20">505</td>
								<td>HTTP Version Not Supported</td>
								<td>服务器不支持请求中所指明的HTTP版本。</td>
						</tr>
				</tbody>
		</table>
<img src ="http://www.blogjava.net/rain1102/aggbug/72432.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2006-09-28 08:19 <a href="http://www.blogjava.net/rain1102/articles/72432.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>innerText和innerHTML的区别</title><link>http://www.blogjava.net/rain1102/articles/71765.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Mon, 25 Sep 2006 07:41:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/articles/71765.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/71765.html</wfw:comment><comments>http://www.blogjava.net/rain1102/articles/71765.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/71765.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/71765.html</trackback:ping><description><![CDATA[innerText和innerHTML的区别<br />先看下面的代码<br />&lt;html&gt;<br />&lt;head&gt;&lt;title&gt;test&lt;/title&gt;<br />&lt;script language="javascript"&gt;<br />function show1(){<br />document.all.test.innerText="&lt;font color=blue&gt;test&lt;/font&gt;"; <br />}<br />function show2(){<br />document.all.test.innerHTML="&lt;font color=blue&gt;test&lt;/font&gt;"; <br />}<br />&lt;/script&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br />&lt;table&gt;&lt;tr&gt;&lt;td id=test&gt;&lt;font color=red&gt;innerText&lt;/font&gt;&lt;/td&gt;<br />&lt;/tr&gt;&lt;/table&gt;<br />&lt;a href="javascript:show1();"&gt;testinnerText&lt;/a&gt;<br />&lt;a href="javascript:show2();"&gt;testinnerHTML&lt;/a&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;<br />对于innerText，即把"&lt;font color=blue&gt;test&lt;/font&gt;"当成整体内容显示出来。而对于innerHTML而言，则把"&lt;font color=blue&gt;test&lt;/font&gt;"当成页面的一部分，即显示兰色的test字符！<img src ="http://www.blogjava.net/rain1102/aggbug/71765.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2006-09-25 15:41 <a href="http://www.blogjava.net/rain1102/articles/71765.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTML技巧-事件触发列表与解说</title><link>http://www.blogjava.net/rain1102/articles/67713.html</link><dc:creator>Eric.Zhou</dc:creator><author>Eric.Zhou</author><pubDate>Tue, 05 Sep 2006 00:17:00 GMT</pubDate><guid>http://www.blogjava.net/rain1102/articles/67713.html</guid><wfw:comment>http://www.blogjava.net/rain1102/comments/67713.html</wfw:comment><comments>http://www.blogjava.net/rain1102/articles/67713.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/rain1102/comments/commentRss/67713.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/rain1102/services/trackbacks/67713.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 一般事件																																																																																																																																																																										...&nbsp;&nbsp;<a href='http://www.blogjava.net/rain1102/articles/67713.html'>阅读全文</a><img src ="http://www.blogjava.net/rain1102/aggbug/67713.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/rain1102/" target="_blank">Eric.Zhou</a> 2006-09-05 08:17 <a href="http://www.blogjava.net/rain1102/articles/67713.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>