http://liyanblog.cn/李岩的博客 李岩 java lucene 搜索 nosql hadoop 博客 mongodb, 网页2024-03-19T17:09:14+08:00李岩的博客firefox User Agent Switcher 用于模拟手机浏览 调整屏幕大小。savagertnullhttp://liyanblog.cn/articles/2016/08/17/1471401229856.html2016-08-17T10:33:50+08:00<p>按下ctrl+shift+m键就可以切换手机模式,无需任何插件</p>
<p> </p>
<p>想模拟具体机型的话安装User Agent Switcher插件</p>
<p> </p>
<p>1,打开火狐浏览器,在左上角有一个橙色的“Firefox”的按钮,点击按钮弹出列表,在列表里面有一个“获取插件”,请单击获取插件。<br /> 2,进入插件的管理页面,在左边有一个下载样子的图标,点击就可以获取火狐的插件,可以通过搜索栏进行插件的搜索,或者,从下面的的分类推荐,或者插件精选里挑选一个插件。<br /> 3,找到想下载的插件,点击进入插件的详细介绍界面,在界面里会出现一个绿色的按钮“添加到“Firefox”。点击添加,火狐就开始下载,等待下载。<br /> 4,下载完毕,就会弹出提示安装的窗口,等待三秒,点击立即安装。进行插件的安装。<br /> 5,安装完毕,重启火狐浏览器。右键就能找到添加的插件。</p>在文字标题右上角加new标签savagertnullhttp://liyanblog.cn/articles/2015/01/07/1420601071471.html2015-01-07T11:24:31+08:00<p><html><br /><br /><html><head><br /><style><br /> <br />.tv-link{float:left;display:block;width:53px;height:20px;line-height:20px;border:1px solid #eee;text-align:center;color:#00c;text-decoration:none;margin:0 0 10px 10px;border-radius:2px;position:relative}<br />.ico-new{display:inline-block;*zoom:1;*display:inline;background:url(http://p6.qhimg.com/t01cb38fa8f09c72b96.png) no-repeat;position:absolute;left:89%;top:-6px;width:21px;margin-left:-10px;height:9px;line-height:0;_font-size:0;background-position:left -58px}<br /></style><br /></head><br /><body ><br /><hr> <br /><a href="#" class="tv-link">32集<i class="ico-new"></i></a><br /><a href="#" class="tv-link" >32集<i class="ico-new"></i></a><br /><a href="#" class="tv-link" >32集<i class="ico-new"></i></a><br /><a href="#" class="tv-link" >32集<i class="ico-new"></i></a><br /><a href="#" class="tv-link" >32集<i class="ico-new"></i></a><br /><div> <br /> <br /> <br /><br /></body></html></p>escape()、encodeURI()、encodeURIComponent()savagertnullhttp://liyanblog.cn/articles/2013/07/12/1373631357087.html2013-07-12T20:15:57+08:00<p>虽然escape()、encodeURI()、encodeURIComponent()三种方法都能对一些影响URL完整性的特殊 <br />字符进行过滤。但后两者是将字符串转换为UTF-8的方式来传输,解决了页面编码不一至导致的乱码问 </p>
<p> </p>
<p>escape 方法不能用来对“统一资源标识符”(URI) 进行编码。对其编码应使用 encodeURI 和 <br />encodeURIComponent 方法。 <br />encodeURI 方法:返回编码为有效的统一资源标识符 (URI) 的字符串。 <br />function encodeURI(URIString : String) : String <br />不会被此方法编码的字符:! @ # $ & * ( ) = : / ; ? + ' <br />说明:encodeURI 方法返回一个已编码的 URI。如果将编码结果传递给 decodeURI,则将返回初始的 <br />字符串。encodeURI 不对下列字符进行编码:“:”、“/”、“;”和“?”。请使用 <br />encodeURIComponent 对这些字符进行编码。 </p>html 中 block与inline嵌套问题。savagertnullhttp://liyanblog.cn/articles/2013/04/28/1367131563430.html2013-04-28T14:46:03+08:00<p> block元素的特点:</p>
<p> 总是另起一行,在新行的开始。</p>
<p> 高度、行高以及顶和底边距都可以控制。</p>
<p> 宽度缺省是它的容器的100%,除非设定一个宽度。</p>
<p> 例如:<span style="color: #3366ff;"><div>, <p>, <h1>, <form>,<ul>, <li></span> 等等。</p>
<p> inline元素的特点:</p>
<p> 和其他元素都在一行上。</p>
<p> 高度、行高以及顶和底边距都不可以改变。</p>
<p> 宽度就是它的文字或图片的宽度,不可改变。</p>
<p> 例如<span style="color: #3366ff;">:<span>, <a>, <label>, <input>, <img>, <strong>, <em></span>等等。</p>
<p> </p>
<p> <strong>块元素与内联元素的嵌套规则:</strong>块元素可以包含内联元素或某些块元素,但内联元素却不能包含块元素,它只是包含其他的内联元素。<br /> 可以把所有的块元素再次划分成几个级别的,因可视的元素只会出现在<body>里,所以我们把<body>划在第一个级里面,接着,把不可以自由嵌套的元素划在第三个级,其他的就归进第二个级。所谓的不可自由嵌套的元素就是里面只能放内联元素的,它们包括有:标题标记的<h1>、<h2>、<h3>、<h4>、<h5>、<h6>、<caption>;段落标记的<p>;分隔线<hr>和一个特别的元素<dt>,它只存在于列表元素<dl>的子一级。</p>
<p>为什么说第二级的元素可以自由嵌套呢?我们可以把它们看成是一些容器(或者说是盒子), 这些容器的大小可以自由变化,例如我们可以把<ul>嵌在<div>里面,也可以把<div>嵌在<li>里面。</p>http响应消息头,http请求消息头savagertnullhttp://liyanblog.cn/articles/2013/03/08/1362721475826.html2013-03-08T13:44:35+08:00<div>HTTP 请求消息头部实例:<br />Host:rss.sina.com.cn<br />User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14<br />Accept:text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5<br />Accept-Language:zh-cn,zh;q=0.5<br />Accept-Encoding:gzip,deflate<br />Accept-Charset:gb2312,utf-8;q=0.7,*;q=0.7<br />Keep-Alive:300<br />Connection:keep-alive<br />Cookie:userId=C5bYpXrimdmsiQmsBPnE1Vn8ZQmdWSm3WRlEB3vRwTnRtW <-- Cookie <br />If-Modified-Since:Sun, 01 Jun 2008 12:05:30 GMT<br />Cache-Control:max-age=0</div>
<p>HTTP 响应消息头部实例:<br />Status:OK - 200 <-- 响应状态码,表示 web 服务器处理的结果。 <br />Date:Sun, 01 Jun 2008 12:35:47 GMT<br />Server:Apache/2.0.61 (Unix)<br />Last-Modified:Sun, 01 Jun 2008 12:35:30 GMT<br />Accept-Ranges:bytes<br />Content-Length:18616<br />Cache-Control:max-age=120<br />Expires:Sun, 01 Jun 2008 12:37:47 GMT<br />Content-Type:application/xml<br />Age:2<br />X-Cache:HIT from 236-41.D07071951.sina.com.cn <-- 反向代理服务器使用的 HTTP 头部<br />Via:1.0 236-41.D07071951.sina.com.cn:80 (squid/2.6.STABLE13)<br />Connection:close</p>
<p> </p>
<p>#############################</p>
<p>解释 :</p>
<div>1. Accept:告诉WEB服务器自己接受什么介质类型,*/* 表示任何类型,type/* 表示该</div>
<div> 类型下的所有子类型,type/sub-type。</div>
<div> </div>
<div>2. Accept-Charset: 浏览器申明自己接收的字符集<br /> Accept-Encoding: 浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压</div>
<div> 缩,支持什么压缩方法(gzip,deflate)<br /> Accept-Language::浏览器申明自己接收的语言</div>
<div> 语言跟字符集的区别:中文是语言,中文有多种字符集,</div>
<div> 比如big5,gb2312,gbk等等。</div>
<div> </div>
<div>3. Accept-Ranges:WEB服务器表明自己是否接受获取其某个实体的一部分(比如文件</div>
<div> 的一部分)的请求。<br /> bytes:表示接受,none:表示不接受。</div>
<div> </div>
<div>4. Age:当代理服务器用自己缓存的实体去响应请求时,用该头部表明该实体从产生</div>
<div> 到现在经过多长时间了。</div>
<div> </div>
<div>5. Authorization:当客户端接收到来自WEB服务器的 WWW-Authenticate 响应时,</div>
<div> 用该头部来回应自己的身份验证信息给WEB服务器。</div>
<div> </div>
<div>6. Cache-Control:请求:no-cache(不要缓存的实体,要求现在从WEB服务器去取)<br /> max-age:(只接受 Age 值小于 max-age 值,并且没有过期的对象)<br /> max-stale:(可以接受过去的对象,但是过期时间必须小于</div>
<div> max-stale 值)<br /> min-fresh:(接受其新鲜生命期大于其当前 Age 跟 min-fresh 值之和的</div>
<div> 缓存对象)<br /> 响应:public(可以用 Cached 内容回应任何用户)<br /> private(只能用缓存内容回应先前请求该内容的那个用户)<br /> no-cache(可以缓存,但是只有在跟WEB服务器验证了其有效后,</div>
<div> 才能返回给客户端)<br /> max-age:(本响应包含的对象的过期时间)<br /> ALL: no-store(不允许缓存)</div>
<div> </div>
<div>7. Connection:请求:close(告诉WEB服务器或者代理服务器,在完成本次请求的响应</div>
<div> 后,断开连接,不要等待本次连接的后续请求了)。<br /> keepalive(告诉WEB服务器或者代理服务器,在完成本次请求的</div>
<div> 响应后,保持连接,等待本次连接的后续请求)。<br /> 响应:close(连接已经关闭)。<br /> keepalive(连接保持着,在等待本次连接的后续请求)。<br /> Keep-Alive:如果浏览器请求保持连接,则该头部表明希望 WEB 服务器保持</div>
<div> 连接多长时间(秒)。<br /> 例如:Keep-Alive:300</div>
<div> </div>
<div>8. Content-Encoding:WEB服务器表明自己使用了什么压缩方法(gzip,deflate)压缩</div>
<div> 响应中的对象。 <br /> 例如:Content-Encoding:gzip <br /> Content-Language:WEB 服务器告诉浏览器自己响应的对象的语言。</div>
<div> Content-Length: WEB 服务器告诉浏览器自己响应的对象的长度。<br /> 例如:Content-Length: 26012<br /> Content-Range: WEB 服务器表明该响应包含的部分对象为整个对象的哪个部分。<br /> 例如:Content-Range: bytes 21010-47021/47022<br /> Content-Type: WEB 服务器告诉浏览器自己响应的对象的类型。<br /> 例如:Content-Type:application/xml</div>
<div> </div>
<div>9. ETag:就是一个对象(比如URL)的标志值,就一个对象而言,比如一个 html 文件,</div>
<div> 如果被修改了,其 Etag 也会别修改, 所以,ETag 的作用跟 Last-Modified 的</div>
<div> 作用差不多,主要供 WEB 服务器 判断一个对象是否改变了。<br /> 比如前一次请求某个 html 文件时,获得了其 ETag,当这次又请求这个文件时,</div>
<div> 浏览器就会把先前获得的 ETag 值发送给 WEB 服务器,然后 WEB 服务器</div>
<div> 会把这个 ETag 跟该文件的当前 ETag 进行对比,然后就知道这个文件</div>
<div> 有没有改变了。</div>
<div>10. Expired:WEB服务器表明该实体将在什么时候过期,对于过期了的对象,只有在</div>
<div> 跟WEB服务器验证了其有效性后,才能用来响应客户请求。<br /> 是 HTTP/1.0 的头部。<br /> 例如:Expires:Sat, 23 May 2009 10:02:12 GMT</div>
<div> </div>
<div>11. Host:客户端指定自己想访问的WEB服务器的域名/IP 地址和端口号。<br /> 例如:Host:rss.sina.com.cn</div>
<div> </div>
<div>12. If-Match:如果对象的 ETag 没有改变,其实也就意味著对象没有改变,</div>
<div> 才执行请求的动作。<br /> If-None-Match:如果对象的 ETag 改变了,其实也就意味著对象也改变了,</div>
<div> 才执行请求的动作。</div>
<div> </div>
<div>13. If-Modified-Since:如果请求的对象在该头部指定的时间之后修改了,才执行请求</div>
<div> 的动作(比如返回对象),否则返回代码304,告诉浏览器该对象</div>
<div> 没有修改。<br /> 例如:If-Modified-Since:Thu, 10 Apr 2008 09:14:42 GMT<br /> If-Unmodified-Since:如果请求的对象在该头部指定的时间之后没修改过,才执行</div>
<div> 请求的动作(比如返回对象)。</div>
<div> </div>
<div>14. If-Range:浏览器告诉 WEB 服务器,如果我请求的对象没有改变,就把我缺少的部分</div>
<div> 给我,如果对象改变了,就把整个对象给我。 浏览器通过发送请求对象的</div>
<div> ETag 或者 自己所知道的最后修改时间给 WEB 服务器,让其判断对象是否</div>
<div> 改变了。<br /> 总是跟 Range 头部一起使用。</div>
<div> </div>
<div>15. Last-Modified:WEB 服务器认为对象的最后修改时间,比如文件的最后修改时间,</div>
<div> 动态页面的最后产生时间等等。<br /> 例如:Last-Modified:Tue, 06 May 2008 02:42:43 GMT</div>
<div> </div>
<div>16. Location:WEB 服务器告诉浏览器,试图访问的对象已经被移到别的位置了,</div>
<div> 到该头部指定的位置去取。<br /> 例如:Location:</div>
<div> <a href="http://i0.sinaimg.cn/dy/deco/2008/0528/sinahome_0803_ws_005_text_0.gif%C2%A0"></a><a href="http://i0.sinaimg.cn/dy/deco/2008/0528/sinahome_0803_ws_005_text_0.gif%C2%A0" target="_blank">http://i0.sinaimg.cn/dy/deco/2008/0528/sinahome_0803_ws_005_text_0.gif </a></div>
<div> </div>
<div>17. Pramga:主要使用 Pramga: no-cache,相当于 Cache-Control: no-cache。<br /> 例如:Pragma:no-cache</div>
<div> </div>
<div>18. Proxy-Authenticate: 代理服务器响应浏览器,要求其提供代理身份验证信息。<br /> Proxy-Authorization:浏览器响应代理服务器的身份验证请求,提供自己的身份信息。</div>
<div> </div>
<div>19. Range:浏览器(比如 Flashget 多线程下载时)告诉 WEB 服务器自己想取对象的</div>
<div> 哪部分。<br /> 例如:Range: bytes=1173546-</div>
<div> </div>
<div>20. Referer:浏览器向 WEB 服务器表明自己是从哪个 网页/URL 获得/点击 当前请求中</div>
<div> 的网址/URL。<br /> 例如:Referer:<a href="http://www.sina.com/%5B/url%5D"></a><a href="http://www.sina.com/" target="_blank">http://www.sina.com/</a></div>
<div> </div>
<div>21. Server: WEB 服务器表明自己是什么软件及版本等信息。<br /> 例如:Server:Apache/2.0.61 (Unix)</div>
<div> </div>
<div>22. User-Agent: 浏览器表明自己的身份(是哪种浏览器)。<br /> 例如:User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; </div>
<div> rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14</div>
<div> </div>
<div>23. Transfer-Encoding: WEB 服务器表明自己对本响应消息体(不是消息体里面的对象)</div>
<div> 作了怎样的编码,比如是否分块(chunked)。<br /> 例如:Transfer-Encoding: chunked</div>
<div> </div>
<div>24. Vary: WEB服务器用该头部的内容告诉 Cache 服务器,在什么条件下才能用本响应</div>
<div> 所返回的对象响应后续的请求。<br /> 假如源WEB服务器在接到第一个请求消息时,其响应消息的头部为:</div>
<div> Content-Encoding: gzip; Vary: Content-Encoding 那么 Cache 服务器会分析后续</div>
<div> 请求消息的头部,检查其 Accept-Encoding,是否跟先前响应的 Vary 头部值</div>
<div> 一致,即是否使用相同的内容编码方法,这样就可以防止 Cache 服务器用自己</div>
<div> Cache 里面压缩后的实体响应给不具备解压能力的浏览器。<br /> 例如:Vary:Accept-Encoding</div>
<div> </div>
<div>25. Via: 列出从客户端到 OCS 或者相反方向的响应经过了哪些代理服务器,他们用</div>
<div> 什么协议(和版本)发送的请求。<br /> 当客户端请求到达第一个代理服务器时,该服务器会在自己发出的请求里面</div>
<div> 添加 Via 头部,并填上自己的相关信息,当下一个代理服务器 收到第一个代理</div>
<div> 服务器的请求时,会在自己发出的请求里面复制前一个代理服务器的请求的Via</div>
<div> 头部,并把自己的相关信息加到后面, 以此类推,当 OCS 收到最后一个代理服</div>
<div> 务器的请求时,检查 Via 头部,就知道该请求所经过的路由。<br /> 例如:Via:1.0 236-81.D07071953.sina.com.cn:80 (squid/2.6.STABLE13)</div>鼠标移动图片上时 放大效果savagertnullhttp://liyanblog.cn/articles/2012/11/01/1351759284840.html2012-11-01T16:41:24+08:00<div class="content-head clearfix">
<h2 class="title content-title">鼠标移动图片上时 放大效果</h2>
</div>
<div id="content" class="content mod-cs-content text-content clearfix">
<p><html><br /><head><br /><script language="JavaScript"><br /> <br /></script><br /><style type="text/css"><br /> <br /></style></p>
<p><SCRIPT LANGUAGE="JavaScript"> <br />var offsetX=120;<br />var offsetY=00; <br />function Fpop(){ <br /> var oImg =event.srcElement; <br /> var px =oImg.offsetLeft; <br /> var py =oImg.offsetTop; <br /> popDiv.innerHTML = "<img src="+oImg.src+" />";<br /> popDiv.style.left =px+offsetX; <br /> popDiv.style.top =py+offsetY; <br /> popDiv.style.display=""; <br /> }<br />function Fhidden(){<br /> popDiv.style.display="none"; <br />} <br /></SCRIPT><br /></head><br /><body><br /><div id="head">图片loading...</div></p>
<p><br /><div id="popDiv" style="position:absolute;z-index:10;border:1px solid black;display:none;"></div> <br /><img src="a.jpg" width="120" height="55" onmouseout="Fhidden()" onmouseover="Fpop()"><br /><Img Src="a.jpg" width=250 height=75 Border=0 onMouseOver='this.width=500' onMouseOut='this.width=250'> <br /><Img Src="a.jpg" width=125 Border=0 onMouseOver='this.width=this.width*2' onMouseOut='this.width=this.width/2'><br /></body><br /></html></p>
</div>textarea 校验savagertnullhttp://liyanblog.cn/articles/2012/11/01/1351757005797.html2013-03-05T17:02:24+08:00<div class="content-head clearfix">
<h2 class="title content-title">textarea 校验</h2>
</div>
<div id="content" class="content mod-cs-content text-content clearfix"> 规范的书写:<br /> <textarea name="ta" id="ta"></textarea><br /> 不规范的书写有:<br /> <textarea name="ta" id="ta"> </textarea><br /> <textarea name="ta" id="ta"><br />
<p> </textarea></p>
<p>或其它的书写方式都会造成js未能正确验证为空,其原因就是textarea标签的value是写在<textarea>和</textarea>之间,如果在书写时就在其中存在空格或<br /> 其它隐藏的代码,虽然我们在页面上看不到,但他们是同样存在的。</p>
<p>如果中间有空格。如下校验失败。应该去掉 <textarea name="ta" id="ta"></textarea>中的空格。</p>
<p>if(document.form.ta.value=="" ){</p>
<p> alert("摘要不能为空!");</p>
<p>}</p>
</div>div padding 详解savagertnullhttp://liyanblog.cn/articles/2012/10/23/1350962428475.html2012-10-23T11:20:28+08:00<div class="content-head clearfix">
<h2 class="title content-title">div padding 详解</h2>
</div>
<div id="content" class="content mod-cs-content text-content clearfix">
<p><strong>中padding:5px 6px 7px 8px; 的转法为顺时针即图:</strong><br /><a href="http://www.divcss5.com/uploads/allimg/100221/20122T561-1.jpg" target="_blank"><img src="http://hiphotos.baidu.com/savagert/pic/item/96c24403918fa0ec99d4a9ac269759ee3d6ddb10.jpg" alt="" /></a></p>
<p> </p>
<p>padding:5px 6px 7px 8px; 意思<strong>上</strong>补丁为5px,<strong>右</strong>补丁距离为6px ,<strong>下</strong>补丁距离为7px,<strong>左</strong>补丁距离8px,等于等于padding-top:5px; padding-right:6px; padding-bottom:7px; padding-right:8px; 一样效果简写; <br /><br /></p>
<p><strong>padding left用法:</strong>padding-left:10px; 这个意思距离<strong>左</strong>边补距10像素,可跟百分比如(padding-left:10%; 距离<strong>左</strong>边补10%的距离);<br /><strong>padding right用法:</strong>padding-right:10px; 这个意思距离<strong>右</strong>边补距10像素,可跟百分比如(padding-right:10%; 距离<strong>右</strong>边补10%的距离);<br /><strong>padding top用法:</strong>padding-top:10px; 这个意思距离<strong>顶</strong>边补距10像素,可跟百分比如(padding-top:10%; 距离<strong>顶</strong>边补10%的距离);<br /><strong>padding bottom用法:</strong>padding-bottom:10px; 这个意思距离<strong>低</strong>边补距10像素,可跟百分比如(padding-bottom:10%; 距离<strong>底</strong>边补10%的距离);</p>
</div>ENCTYPE="multipart/form-data"savagertnullhttp://liyanblog.cn/articles/2012/10/23/1350962331650.html2013-03-05T16:43:51+08:00<div class="content-head clearfix">
<h2 class="title content-title">ENCTYPE="multipart/form-data"</h2>
</div>
<div id="content" class="content mod-cs-content text-content clearfix">
<p>ENCTYPE="multipart/form-data"用于表单里有图片上传。</p>
<p>文章来源:http://hi.baidu.com/greengain/blog/item/e9c02855f564e6c0b645ae17.html</p>
<p><form name="userInfo" method="post" action="first_submit.php" ENCTYPE="multipart/form-data"><br />表单标签中设置enctype="multipart/form-data"来确保匿名上载文件的正确编码。<br />如下:<br /><tr><br /> <td height="30" align="right">上传企业营业执照图片:</td><br /> <td><INPUT TYPE="FILE" NAME="uploadfile" SIZE="34" onChange="checkimage()"></td><br /> </tr><br />就得加ENCTYPE="multipart/form-data"。</p>
<p><br />表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作.<br />enctype="multipart/form-data"是上传二进制数据; form里面的input的值以2进制的方式传过去。<br />form里面的input的值以2进制的方式传过去,所以request就得不到值了。 也就是说加了这段代码,用request就会传递不成功,取表单值加入数据库时,用到下面的:</p>
<p>SmartUpload su = new SmartUpload();//新建一个SmartUpload对象</p>
<p>su.getRequest().getParameterValues();取数组值</p>
<p>su.getRequest().getParameter( );取单个参数单个值</p>
</div>关于document.all 遇到IE8时无法正常取到数据savagertnullhttp://liyanblog.cn/articles/2012/10/23/1350962181607.html2012-10-23T11:16:21+08:00<div class="content-head clearfix">
<h2 class="title content-title">关于document.all 遇到IE8时无法正常取到数据</h2>
</div>
<div id="content" class="content mod-cs-content text-content clearfix"><a href="http://zhengshuo.iteye.com/blog/653341"></a>最近发现项目中遇到这样一个情况,以前系统在IE6下是好的,但是在IE8下有些输入框就出现数据拿不到等情况,后来发现在IE8下有很多表达式都是不能用的,包括现在说到的documen.all.item()拿到的对象总是为空,经过仔细收集资料发现原来这个doctype有关 <br />请看下面一个例子: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <ol>
<li><html> </li>
<li><head> </li>
<li><title>document.all.item test</title> </li>
<li></head> </li>
<li><body> </li>
<li><input name="12345" type="text"> </li>
<li><input type="button" value="doSomething" onclick="_click()"/> </li>
<li></body> </li>
<li><script type="text/javascript"> </li>
<li> function _click(){ </li>
<li> </li>
<li> document.all.item("12345").value = "abcdefg"; </li>
<li> </li>
<li> } </li>
<li></script> </li>
<li></html> </li>
</ol><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><title>document.all.item test</title></head><body><input name="12345" type="text"><input type="button" value="doSomething" onclick="_click()"/></body><script type="text/javascript"> function _click(){ document.all.item("12345").value = "abcdefg"; }</script></html><br />当你点击按钮,文本框会赋值吗? <br />如果你用IE6,我可以肯定的告诉你,会... <br />但是你如果用IE8打开,肯定是不会的... <br />不信可以试试。 <br />有两个解决办法,一个是在doctype前加一句<!-- ---> <br />另一个就是将doctype注释起来或去掉。这两个方法取得的效果是一样的,为什么呢? <br />在doctype前加注释语句块,可以将doctype的功能取缔,因为doctype必须位于html的第一行,放在第二行就失去了意义,第二个方法就不用说了。 <br />如果你也有同样的问题,你可以检查一下你的jsp,很可能你在jsp中doctype不是写在第一行,但是你查看源文件,很可能doctype就在第一行出现,所以咱们以后编写html就要注意了。 <br />为什么加了doctype就不支持了呢,首先document.all.item本身就不是w3c推出的标准,只是一个微软搞得一套东东,现在微软想在IE8中不维护这个了,所以就搞得现在不支持了。 <br />所以咱们以后写程序一定要用w3c的标准,用document.getElementsByName()[0]代替它 <br />。相信这个不会不支持的。</div>