﻿<?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--随笔分类-web开发</title><link>http://www.blogjava.net/leekiang/category/24531.html</link><description>MDA/MDD/TDD/DDD/DDDDDDD</description><language>zh-cn</language><lastBuildDate>Mon, 02 Jul 2012 02:09:18 GMT</lastBuildDate><pubDate>Mon, 02 Jul 2012 02:09:18 GMT</pubDate><ttl>60</ttl><item><title>wap</title><link>http://www.blogjava.net/leekiang/archive/2011/05/15/350283.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Sun, 15 May 2011 10:54:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2011/05/15/350283.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/350283.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2011/05/15/350283.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/350283.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/350283.html</trackback:ping><description><![CDATA[The WAP 1.0 standard, released in April 1998, described a complete software stack for mobile internet access.<br />
WAP1.1 came out in 1999.[4]. WAP 1.2, the final update of the 1.X series
 was released in June 2000.The most important addition in version 1.2 
was WAP push. <a target="_blank" href="http://en.wikipedia.org/wiki/Wireless_Application_Protocol">wikipedia上的wap介绍</a><br /><br />
wap push 的意思是带连接的短信，它可以引导你进入wap的网站<br /><br />获取手机号码<br />  String   Mobile_GPRS   =   request.getHeader("X-up-calling-line-id");  <br />  String   Mobile_CDMA   =   request.getHeader("x-up-subno");  <br />  String   Mobile_INFO     =   request.getHeader("x-network-info");  <br />  String   Mobile_DEVI     =   request.getHeader("deviceid"); <br />现在好像已经取不到了，但是像umpay和梦网这样和移动有协议的网站能够拿到。<br /><br />1、用wml还是xhtml取决于你的站点是wap 1.2还是2.0，如果是wap 1.2，那还是老老实实写wml。 <br />2、wap上线最重要的是检查页面是否能正常被手机终端访问，因为wap语法要求非常严格，不像pc上的浏览器兼容性那么好，哪怕一点点小问题，比如某个字符乱码，就可能导致页面无法访问。通常通过以下三个步骤来检查： <br />1）使用opera 8.51版本检查页面，看看是否有不规范的语法； <br />2）访问一个3C标准的网站，在网站中输入你的wap页面地址，这个网站可以对页面进行检查，看看是否符合标准。（不好意思，网站名和地址忘了） <br />3）直接使用手机访问页面进行检查。<br /><a target="_blank" href="http://www.iteye.com/topic/201526">忘了说明之所以要用opera 8.51而不是9.0</a>，是因为9.0以后的版本兼容性有很大的问题，对很多正常的页面也会提示出错。<br />注：opera8的最后一个版本是8.5.4，见http://arc.opera.com/pub/opera/win<br /><br />openwave模拟测试  <a target="_blank" href="http://dev.yesky.com/msdn/465/2471465.shtml">ASP.NET 2.0移动开发入门之使用模拟器</a><br /><br />目前低端手机的浏览器还有相当一部分只支持WML，xHTML MP的普及率在上升，但我们还是不能忽视WML only的那批客户群。<br />美国的Sprint最近几款手机开始支持ESMP（ECMA Script Mobile Profile），也就是手机上的JavaScript。<br /> 另外，Sprint也加了自己一些技术，比如pre－cache multipart mimetype。就是用multipart的方式（我们email很常见的格式）下载一个package，里面包括相关的页面，图片，ESMP等等。目前package最大尺寸是512K，mobile上大概是10多个页面吧（包括图片）。一次性下载完后，浏览页面就是本地浏览方式了。好处是一个Http connection下载所有页面和资源。坏处是下载的速度会比较慢。但现在3G的开始普及，512K的数据几秒钟就下好了，利大于弊很多很多。<a target="_blank" href="http://www.iteye.com/topic/36080">wap现状</a><br /><br />在应用层上无论是wap 1.n时代的wml还是wap2.0的XHTML MP都将会和PC浏览器走向统一，XHTML MP已经是XHTML的一个子集。在传输层上如lz所说浏览器可以直接使用HTTP协议通讯，WAP传输层上的协议也会消亡。WAP作为一种技术肯定会消失。但手机浏览器作为继PC浏览器后的另一个用户终端其B/S模式不会消亡。<a target="_blank" href="http://www.iteye.com/topic/254556?page=2">3G快来了，WAP还有前途吗？</a><br /><br />WML1只支持 粗体 斜体 下划线  &lt;small&gt; &lt;big&gt;这几个字体样式,而且有的浏览器还不支持这个样式.（字能显示出来，但没该效果） <br /><br /><a target="_blank" href="http://blog.csdn.net/xumingming64398966/archive/2007/03/17/1532159.aspx">Wap中如何进行Session管理?</a><br />Wap与PC不同之处在与Wap1.x不支持Session与Cookie,Wap2.0虽然支持但是只有协议支持还是不行,还要看手机终端支不支持?所以我们的解决方法就是完全不依赖Wap协议,完全不依赖手机终端,使用Url重写进行Session的维护,这个方法只与服务器端有关.<br /><br />&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8; X-Wap-Proxy-Cookie=none" /&gt;<br />WAP网关存在不少问题，其中之一如开发者最为头疼的问题便是cookie的处理。由于不少低端手机浏览器本身不支持cookie，于是WAP网关越俎代庖担当起此重任--通过网关软件使这些手机支持cookie，此僭越行为导致移动开发者无所适从，具体表现在：<br />a. 手机上清除cookie后仍有cookie<br />b. cookie会莫名其妙的丢失或者产生<br />c. 重复的cookie存在导致生成非法请求Header<br />应该还有很多很细小的问题让开发者头疼，在互联网上运行好好的机制移到WAP上就会有这样那样的问题，这些问题更多集中在用户登录、权限控制等方面，问题如何解决呢？解决办法是让WAP网关不保存cookie，加入上述代码即可解决问题。<br /><br /><a target="_blank" href="http://blog.csdn.net/freelongren/archive/2008/05/21/2466704.aspx">httpClient中文乱码问题解决（wap提交）</a><br /><a target="_blank" href="http://zhidao.baidu.com/question/98664886.html">手机中WAP1.0和2.0有什么不同</a><br /><a target="_blank" href="http://wenku.baidu.com/view/af571c5177232f60ddcca13a.html">WAP2.0技术分析</a><br /><a target="_blank" href="http://wenku.baidu.com/view/b19b74323968011ca30091af.html">wap2.0开发指南</a><br /><a href="http://www.iteye.com/topic/40148">设计一个J2me Wap浏览器幻想</a><br /><a target="_blank" href="http://blackanger.blog.51cto.com/140924/31652">Making your Rails app mobile with WAP and WML</a><br /><a target="_blank" href="http://iceskysl.1sters.com/?p=327">使用Rails开发支持WAP/WML的应用</a><br /><a target="_blank" href="/changedi/archive/2011/06/07/351837.html">手机wap页面前端的一点体会</a><br /><a target="_blank" href="http://www.chengxurensheng.com/htm/2010/11/149.htm">Java开发WAP网站的一些简单经验</a><br /><img src ="http://www.blogjava.net/leekiang/aggbug/350283.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2011-05-15 18:54 <a href="http://www.blogjava.net/leekiang/archive/2011/05/15/350283.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>空格和引号</title><link>http://www.blogjava.net/leekiang/archive/2011/05/01/349346.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Sun, 01 May 2011 12:03:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2011/05/01/349346.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/349346.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2011/05/01/349346.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/349346.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/349346.html</trackback:ping><description><![CDATA[
		<br />空格和双引号的utf编码<br /><table width="707" border="1" height="112"><tbody><tr><td><br /></td><td>英文半角</td><td width="25%">英文全角</td><td width="25%">中文半角</td><td width="25%">中文全角</td></tr><tr><td>空格</td><td>20<br /></td><td>e38080<br /></td><td>20<br /></td><td>e38080<br /></td></tr><tr><td>双引号</td><td>""  22 22<br /></td><td>＂＂　efbc82 　efbc82<br /></td><td>“” e2809c e2809d<br /></td><td>“”e2809c e2809d<br /></td></tr></tbody></table><br /><style type="text/css"><![CDATA[
.t {font-family: "宋体", sans-serif;}
]]&gt;</style><div class="t"><span>买 宝 贝：</span><br /><span>我的宝贝：</span><br /><span>社    区：</span><br /><br /><a target="_blank" href="http://hi.baidu.com/han_zhi_xing/blog/item/4d6d4dfa732fb4056d22eb8e.html">两个空格宽度不等于一个汉字宽度的问题</a>：<br />其实很简单，跟字符集或者编码没有太大的关系。<br />在英文字体或者其他国家语言字体下空格($nbsp;)在浏览器中显示为不同的宽度，可能是三个空格对应一个汉字，或者四个空格对应一个汉字。<br />使用中文字体可以完美解决这个问题。<br />TIP:<br />css中<br />font-family: "宋体", sans-serif;<br /></div><br /><a target="_blank" href="http://www.blueidea.com/tech/web/2007/4878_2.asp">空格的宽度</a><br /><a target="_blank" href="http://www.jb51.net/article/15654.htm">CSS 浏览器的等宽空格问题解决</a><br /><a target="_blank" href="http://blog.chinhai.com/index.php/archives/167">textarea与div中的空格在不同字体、不同IE版本的表现</a><br /><a target="_blank" href="http://topic.csdn.net/u/20100113/18/5b400db9-2f8c-45fd-a61a-dff34ad4f4df.html">请问不同浏览器空格宽度不一致怎么解决</a><br /><img src ="http://www.blogjava.net/leekiang/aggbug/349346.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2011-05-01 20:03 <a href="http://www.blogjava.net/leekiang/archive/2011/05/01/349346.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>iframe自适应高度</title><link>http://www.blogjava.net/leekiang/archive/2010/05/04/320002.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Tue, 04 May 2010 03:00:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2010/05/04/320002.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/320002.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2010/05/04/320002.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/320002.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/320002.html</trackback:ping><description><![CDATA[192.168.108.25/AppA的a.jsp里有一个iframe为b.jsp,a和b跨域,如何让这个iframe自适应高度？<br /><br />a.jsp<br />&lt;iframe src="http://192.168.2.97/AppB/b.jsp" id="b_iframe"  scrolling="no"  frameborder="0"&gt;&lt;/iframe&gt;<br /><br />b.jsp<br />&lt;iframe id='c_iframe'  height='0' width='0' src='http://192.168.108.25/AppA/c.jsp' style='display:none' &gt;&lt;/iframe&gt;<br />&lt;script&gt;<br />var b_height = Math.max(document.body.scrollHeight,document.body.clientHeight);<br />var c_iframe = document.getElementById('c_iframe');<br />c_iframe.src = c_iframe.src+'#'+b_height;<br />&lt;/script&gt;<br /><br />c.jsp<br />&lt;script&gt;<br />    var hash_url = window.location.hash;<br />    var hash_height = hash_url.split('#')[1]+'px';<br />    var b_iframe = window.parent.parent.document.getElementById('b_iframe');<br />    b_iframe.style.height = hash_height;<br />&lt;/script&gt;<img src ="http://www.blogjava.net/leekiang/aggbug/320002.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2010-05-04 11:00 <a href="http://www.blogjava.net/leekiang/archive/2010/05/04/320002.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CAP、BASE、Sharding等</title><link>http://www.blogjava.net/leekiang/archive/2010/04/26/319347.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Sun, 25 Apr 2010 16:20:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2010/04/26/319347.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/319347.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2010/04/26/319347.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/319347.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/319347.html</trackback:ping><description><![CDATA[CAP原理(CAP Theorem)<br /><span class="Apple-style-span" style=""><span class="Apple-style-span" style="">Consistency(一致性), 数据一致更新，所有数据变动都是同步的<br />Availability(可用性), 
好的响应性能<br />Partition tolerance(分区容错性) 可靠性</span></span><br />CAP原理指的是，这三个要素最多只能同时实现两点，不可能三者兼顾<br />http://www.javaeye.com/articles/2367<br /><br /><br /><span class="Apple-style-span" style=""><span class="Apple-style-span" style="">BASE模型反ACID模型，完全不同ACID模型，牺牲高一致性，获得可用性或可靠性：<br />Basically 
Available基本可用。支持分区失败(e.g. sharding碎片划分数据库)<br />Soft state软状态 
状态可以有一段时间不同步，异步。<br />Eventually consistent最终一致，最终数据是一致的就可以了，而不是时时高一致。<br /></span></span>http://lovewhzlq.javaeye.com/blog/619965<br /><span class="Apple-style-span" style=""><span class="Apple-style-span" style=""><br /></span></span>Sharding:<br />Sharding(分片)，与分区(Partition)不一样，分区不能跨数据库<br />http://www.dbanotes.net/database/database_sharding.html<img src ="http://www.blogjava.net/leekiang/aggbug/319347.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2010-04-26 00:20 <a href="http://www.blogjava.net/leekiang/archive/2010/04/26/319347.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>浏览器的并发连接数</title><link>http://www.blogjava.net/leekiang/archive/2010/04/14/318358.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Wed, 14 Apr 2010 10:32:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2010/04/14/318358.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/318358.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2010/04/14/318358.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/318358.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/318358.html</trackback:ping><description><![CDATA[浏览器默认对同一域下的资源，只允许保持一定的连接数,这里的域应该是支持二级域，<br /><table border="0"><caption>浏览器默认最大并发连接数</caption><thead><tr><th>浏览器</th><th>HTTP 1.1</th><th>HTTP 1.0</th></tr></thead><tbody><tr><td>IE 6,7</td><td>2</td><td>4</td></tr><tr><td>IE 8</td><td>6</td><td>6</td></tr><tr><td>Firefox 2</td><td>2</td><td>8</td></tr><tr><td>Firefox 3</td><td>6</td><td>6</td></tr><tr><td>Safari 3, 4</td><td>4</td><td>4</td></tr><tr><td>Chrome 1,2</td><td>6</td><td>?</td></tr><tr><td>Chrome 3</td><td>4</td><td>4</td></tr><tr><td>Opera 9.63,10.00alpha</td><td>4</td><td>4</td></tr></tbody></table><br />http协议无状态，无连接。无连接的含义就是限制每次连接只处理一个请求，收到应答后即断开。但据说这个是http1.0。
　　<br />http1.1里，提出了持久连接(persistent connection)的概念，也就是说同一条 HTTP连接，可以依次处理多个请求。<br /><br />突然想到,ajax的异步是相对这个浏览器而言，就ajax的这个请求来说，还是同步的。<br /><br />参考:<br /><a target="_blank" href="roundup-on-parallel-connections">http://www.stevesouders.com/blog/2008/03/20/roundup-on-parallel-connections/</a><br /><a target="_blank" href="http://www.impng.com/front-end/browser-max-parallel-connections.html">主流浏览器并发连接数</a><br /><a target="_blank" href="http://dev.yesky.com/86/11077586.shtml">网站的最大并发连接数</a><br /><a target="_blank" href="http://masterkey.javaeye.com/blog/192477">各个浏览器并发连接数比较</a><br /><img src ="http://www.blogjava.net/leekiang/aggbug/318358.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2010-04-14 18:32 <a href="http://www.blogjava.net/leekiang/archive/2010/04/14/318358.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>为什么说REST是无状态的</title><link>http://www.blogjava.net/leekiang/archive/2010/03/24/316489.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Wed, 24 Mar 2010 15:46:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2010/03/24/316489.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/316489.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2010/03/24/316489.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/316489.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/316489.html</trackback:ping><description><![CDATA[http://baike.baidu.com/view/1077487.htm<br />http://subject.it168.com/article/articleview.aspx?id=672857<br /><img src ="http://www.blogjava.net/leekiang/aggbug/316489.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2010-03-24 23:46 <a href="http://www.blogjava.net/leekiang/archive/2010/03/24/316489.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>跨域session丢失问题</title><link>http://www.blogjava.net/leekiang/archive/2010/01/28/311054.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Thu, 28 Jan 2010 03:57:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2010/01/28/311054.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/311054.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2010/01/28/311054.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/311054.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/311054.html</trackback:ping><description><![CDATA[后台用tomcat，用IE6访问同一个url，每次生成相同的sessionID，这是正常的。<br />而如果后台服务器改用weblogic8，用IE6访问同一个url，竟然每次都会生成新的sessionID,<br />重启IE6就好了，太奇怪了。<br /><br />本笔记重点是IFrame跨域的session问题：<br /><br />Frameset引起的内部第三方站点cookie丢失的发现解决过程http://www.phpchina.com/html/34/12834-11369.html<br />跨域session丢失问题http://blog.javaflag.com/blog/?p=484<br />用P3P header解决iframe跨域访问cookiehttp://blog.csdn.net/wonder4/archive/2008/02/27/2125804.aspx<br />Liferay Portal额外研究（三）：IFrame Portlet地session丢失疑难处理 http://www.qqgb.com/Program/Java/javadoc/javalib/Program_156031.html<img src ="http://www.blogjava.net/leekiang/aggbug/311054.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2010-01-28 11:57 <a href="http://www.blogjava.net/leekiang/archive/2010/01/28/311054.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript验证表单</title><link>http://www.blogjava.net/leekiang/archive/2009/08/24/292350.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Mon, 24 Aug 2009 04:28:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2009/08/24/292350.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/292350.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2009/08/24/292350.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/292350.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/292350.html</trackback:ping><description><![CDATA[1,验证整数<br />var r1= /^[0-9]*[1-9][0-9]*$/　　//正整数 <br />var r2=/^-[0-9]*[1-9][0-9]*$/　　//负整数<br />var r3=/^\d+$/   //非负整数（正整数 + 0）<br />var r4=/^-?\d+$/　　　　//整数<br />var val=r1.test(str); //str为你要判断的字符 执行返回结果 true 或 false<br /><br />2,<br /> function isNumber(oNum)<br />   {<br />  if(!oNum) return false;<br />  var strP=/^\d+(\.\d+)?$/;<br />  if(!strP.test(oNum)) return false;<br />  try{<br />  if(parseFloat(oNum)!=oNum) return false;<br />  }<br />  catch(ex)<br />  {<br />   return false;<br />  }<br />  return true;<br />   }<br /><br /><img src ="http://www.blogjava.net/leekiang/aggbug/292350.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2009-08-24 12:28 <a href="http://www.blogjava.net/leekiang/archive/2009/08/24/292350.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IE下如何解决层的固定</title><link>http://www.blogjava.net/leekiang/archive/2009/07/23/288035.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Thu, 23 Jul 2009 07:16:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2009/07/23/288035.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/288035.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2009/07/23/288035.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/288035.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/288035.html</trackback:ping><description><![CDATA[http://bbs.blueidea.com/archiver/tid-2938030.html<br />http://tagsoup.com/cookbook/css/fixed/<br />http://bbs.51js.com/viewthread.php?tid=84761<br />http://www.happinesz.cn/archives/991/<br />网易论坛、凤凰论坛<br /><img src ="http://www.blogjava.net/leekiang/aggbug/288035.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2009-07-23 15:16 <a href="http://www.blogjava.net/leekiang/archive/2009/07/23/288035.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ajax跨域调用及jsonp</title><link>http://www.blogjava.net/leekiang/archive/2009/07/19/287296.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Sat, 18 Jul 2009 17:48:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2009/07/19/287296.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/287296.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2009/07/19/287296.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/287296.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/287296.html</trackback:ping><description><![CDATA[
		<p>Ajax的应用中，由于安全的问题，浏览器默认是不支持跨域调用的。传统解决的方法，包括：（参考http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/）</p>
		<dl>
				<dt>Local proxy: 
</dt>
				<dd>Needs infrastructure (can't run a serverless client) and you
get double-taxed on bandwidth and latency (remote - proxy - client). </dd>
				<dt>Flash: 
</dt>
				<dd>Remote host needs to deploy a crossdomain.xml file, Flash is
relatively proprietary and opaque to use, requires learning a one-off
moving target programming langage. </dd>
				<dt>Script tag: 
</dt>
				<dd>Difficult to know when the content is available, no standard methodology, can be considered a "security risk". </dd>
		</dl>
		<p>以上方法都各有缺陷，都不是很好多解决方案。后来出现了一种叫<em>JSON with Padding</em> 的技术，简称 <strong>JSONP</strong>
.（原理参考http://bob.pythonmac.org/archives/2005/12/05/remote-json-jsonp/），应
用JSONP可以实现JSON数据的跨域调用。非常的幸运，JQuery1.2以后支持JSONP的应用。下面侧重说明在JQuery中，Json的跨域
调用。</p>
		<p>      应用JSONP实现Json数据跨域调用，需要服务器端与客户端的合作完成。引用Jquery官方的例子，客户端掉用如下：</p>
		<pre>$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&amp;tagmode=any&amp;format=json&amp;jsoncallback=?",<br />        function(data){<br />          $.each(data.items, function(i,item){<br />            $("&lt;img/&gt;").attr("src", item.media.m).appendTo("#images");<br />            if ( i == 3 ) return false;<br />          });<br />        });<br /></pre>
		<p> </p>
		<p>   
注意这里调用的地址中jsoncallback=?是关键的所在！其中，符号会被Query自动替换成其他的回调方法的名称，具体过程和原理我们这里不理
会。我们关心的是jsoncallback=?起什么作用了？原来jsoncallback=?被替换后，会把方法名称传给服务器。我们在服务器端要做什
么工作呢？服务器要接受参数jsoncallback，然后把jsoncallback的值作为JSON数据方法名称返回，比如服务器是JSP,我们会这
样做：</p>
		<p> </p>
		<p>      ...</p>
		<p>      String jsoncallback=request.getParameter("jsoncallback");</p>
		<p>      ...</p>
		<p>      out.print(jsoncallback+"({\"account\":\"XX\",\"passed\":\"true\",\"error\":\"null\"})");</p>
		<p> </p>
		<p>Jquery取得的数据可能如下：</p>
		<p>      JQUET0988788({"account":"XX","passed":"true","error":"null"})</p>
		<p> </p>
		<p>总结，用JSONP要做两件事：</p>
		<p>      1/请求地址加参数：jsoncallback=?</p>
		<p>      2/服务器段把jsoncallback的值作为方法名传回来，如JQUET098788(...)</p>
		<p>参考：</p>
		<p>http://www.javaeye.com/topic/169765</p>
		<p>http://www.javaeye.com/topic/260647<br /></p>
<img src ="http://www.blogjava.net/leekiang/aggbug/287296.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2009-07-19 01:48 <a href="http://www.blogjava.net/leekiang/archive/2009/07/19/287296.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>html笔记</title><link>http://www.blogjava.net/leekiang/archive/2009/03/13/259615.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Fri, 13 Mar 2009 11:54:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2009/03/13/259615.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/259615.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2009/03/13/259615.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/259615.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/259615.html</trackback:ping><description><![CDATA[1,以下写法看不到时分秒。必须加引号才能看见。<br />&lt;input type="text" name="stime" value=2009-02-12 12:43:31 /&gt;<br /><br />2,<br /><img src ="http://www.blogjava.net/leekiang/aggbug/259615.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2009-03-13 19:54 <a href="http://www.blogjava.net/leekiang/archive/2009/03/13/259615.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>json-lib.jar包使用笔记</title><link>http://www.blogjava.net/leekiang/archive/2009/03/11/259204.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Wed, 11 Mar 2009 11:59:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2009/03/11/259204.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/259204.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2009/03/11/259204.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/259204.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/259204.html</trackback:ping><description><![CDATA[1，使用jdk1.3版本的json-lib.jar时依赖的包(不一定准确，只是作个记录)<br />commons-beanutils.jar;//必须是1.7以上<br />commons-collection.jar;//必须3.1以上<br />
ezmorph.jar;<img src ="http://www.blogjava.net/leekiang/aggbug/259204.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2009-03-11 19:59 <a href="http://www.blogjava.net/leekiang/archive/2009/03/11/259204.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>my97日期控件笔记</title><link>http://www.blogjava.net/leekiang/archive/2009/03/11/259089.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Wed, 11 Mar 2009 05:58:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2009/03/11/259089.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/259089.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2009/03/11/259089.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/259089.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/259089.html</trackback:ping><description><![CDATA[1，这个控件没有自带判断日期值是否变化的函数，所以自己写了几行代码:<br />           var tempdatevalue='';<br />            function beforedatechange(dp){<br />            tempdatevalue=this.value;<br />            }<br />            function afterdatechange(dp){<br />            if(tempdatevalue!=this.value)<br />             {<br />             window.document.location.href="test.do?do=test&amp;date="+this.value;<br />             }<br />            }<br />&lt;input type="text" id="date" name="date" value="${date}"<br />                            onfocus="WdatePicker({skin:'whyGreen',dateFmt:'yyyy-MM-dd',onpicking:beforedatechange,onpicked:afterdatechange})" class="Wdate" /&gt;<br /><br />2，IE中 无法打开internet站点 。。。。。已终止操作<br />&lt;base target="_self" /&gt;<br />在&lt;script/&gt;中添加属性defer="defer";<br /><img src ="http://www.blogjava.net/leekiang/aggbug/259089.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2009-03-11 13:58 <a href="http://www.blogjava.net/leekiang/archive/2009/03/11/259089.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>dhtmlxtree笔记</title><link>http://www.blogjava.net/leekiang/archive/2009/01/15/251517.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Thu, 15 Jan 2009 15:58:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2009/01/15/251517.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/251517.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2009/01/15/251517.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/251517.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/251517.html</trackback:ping><description><![CDATA[1，基本写法<br /><span style="color: rgb(0, 0, 255);">&lt;body&gt;<br />    &lt;link rel="STYLESHEET" type="text/css" href="css/<span class="hilite1">dhtmlxtree</span>.css"&gt;<br />    &lt;script  src="js/dhtmlxcommon.js"&gt;&lt;/script&gt;<br />    &lt;script  src="js/<span class="hilite1">dhtmlxtree</span>.js"&gt;&lt;/script&gt;<br />   
&lt;div id="treeboxbox_tree"&gt;&lt;/div&gt;<br />    &lt;script type="text/javascript"&gt;<br />  tree=new dhtmlXTreeObject("treeboxbox_tree","100%","100%",0);<br />  tree.attachEvent("onClick",onNodeSelect);<br />  tree.setImagePath("images/tree/");<br />  tree.setXMLAutoLoading("dept.do?action=folder_treeview");//逐级展开<br />  tree.loadXML("dept.do?action=folder_treeview&amp;id=1");//初始化<br />  function onNodeSelect(nodeId){<br />      document.getElementById("parent_folder_id").value = nodeId;<br />  }<br />    &lt;/script&gt;<br />&lt;/body&gt;</span><br /><br />2，初始化需要的xml，必须带item<br />&lt;?xml version='1.0' encoding='utf-8'?&gt;<br />&lt;tree id="0"&gt;<br />&lt;item nocheckbox="1" open="1" id="-1" select="0" text= "公司" &gt;<br />&lt;item  open="1" child="1"  text= "财务部" id= "1"&gt;&lt;/item&gt;<br />&lt;item  open="1" child="0"  text= "技术部" id= "2"&gt;&lt;/item&gt;<br />&lt;item  open="1" child="0"  text= "人事部" id= "4"&gt;&lt;/item&gt;<br />&lt;/item&gt;<br />&lt;/tree&gt; <br />注意&lt;tree&gt;里的id的值必须和<span style="color: rgb(0, 0, 255);">dhtmlXTreeObject的第4个参数的值保持一致，否则会报错:<br /></span>Error type: DataStructure<br />Description: <span class="hilite2">XML</span><span class="hilite3">reffers</span><span class="hilite4">to</span><span class="hilite5">not</span><span class="hilite6">existing</span><span class="hilite7">parent</span><br /><br />3,逐级展开的xml<br />&lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;tree id="3"&gt;<br />&lt;item  open="1" text= "甲部门" id= "5" &gt;&lt;/item&gt;<br />&lt;item  open="1" text= "乙部门" id= "6" &gt;&lt;/item&gt;<br />&lt;/tree&gt;<br /><br />4，child属性表示是否有子级<br /><img src ="http://www.blogjava.net/leekiang/aggbug/251517.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2009-01-15 23:58 <a href="http://www.blogjava.net/leekiang/archive/2009/01/15/251517.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>关于js树的杂记</title><link>http://www.blogjava.net/leekiang/archive/2008/11/19/241361.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Wed, 19 Nov 2008 06:33:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2008/11/19/241361.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/241361.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2008/11/19/241361.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/241361.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/241361.html</trackback:ping><description><![CDATA[
		<br />改造xloadtree，改成json传参和jquery插件的方式<br />数据，结构，行为，风格<br />xloadtree：<br />树的数据是以xml的结构存放的。<br />每次点击展开的图标，只加载下一级的数据。<br />每一级的数据都是以&lt;xml&gt;的形式存放，<br />&lt;tree text="子节点" action="http://webfx.eae.net" src="NOT_AVAILABLE.xml" target="_new"<br />        icon="http://webfx.eae.net/images/favicon.gif"/&gt;<br />        如果src形如*.xml,该节点的前面才有展开的图标。<br />文件系统树，如果不作调整，最后一个节点不管是文件夹还是文件，一律显示为文件，这是不对的，如何处理：<br />(1)设置叶子图标为folder.png<br />(2)生成下一级的xml数据时判断一下，如果子级有文件夹或文件，则src形如*.xml；如果是文件，加一个icon='file.png'<br /><br /><br /><br />别的树:<br />1,http://code.google.com/p/jstree/<br />演示http://www.vakata.com/jsTree/examples/<br /><br />2,http://be.twixt.us/jquery/treeView.php<br /><br />3,http://bassistance.de/jquery-plugins/jquery-plugin-treeview/<br /><br />4,jQuery File Tree<br />  http://abeautifulsite.net/notebook_files/58/demo/<br />  <br />5,http://destroydrop.com/javascripts/tree/<br /><br />6,自动选择子节点<br />  http://www.cnblogs.com/adandelion/archive/2006/05/20/405319.html<br />7,http://www.javaeye.com/topic/148372<br />8,<b>jQuery SimpleTree Drag&amp;Drop</b> plugin<br />  http://news.kg/wp-content/uploads/tree<br />  http://www.javaeye.com/topic/249851<br />        <br /><img src ="http://www.blogjava.net/leekiang/aggbug/241361.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2008-11-19 14:33 <a href="http://www.blogjava.net/leekiang/archive/2008/11/19/241361.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>wysiwyg编辑器</title><link>http://www.blogjava.net/leekiang/archive/2008/09/20/230051.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Fri, 19 Sep 2008 17:32:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2008/09/20/230051.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/230051.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2008/09/20/230051.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/230051.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/230051.html</trackback:ping><description><![CDATA[除了fckeditor,又发现一款可能更好的<a target="_blank" href="http://tinymce.moxiecode.com/">tinymce</a><br /><a target="_blank" href="http://drupaltaiwan.org/forum/20070319/1011">TinyMCE 和 FCKEditor的差別和好壞之處在哪？</a><br /><br /><img src ="http://www.blogjava.net/leekiang/aggbug/230051.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2008-09-20 01:32 <a href="http://www.blogjava.net/leekiang/archive/2008/09/20/230051.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>text和textarea中的range处理</title><link>http://www.blogjava.net/leekiang/archive/2008/08/26/224552.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Tue, 26 Aug 2008 12:17:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2008/08/26/224552.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/224552.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2008/08/26/224552.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/224552.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/224552.html</trackback:ping><description><![CDATA[1,在text中按后退键,然后得到光标位置后，光标会移动到text的最前面,为了移动到文本的最后面,<br />加了4行代码(见注释)。这里并没有彻底搞明白，先立此存照。<br />&lt;html&gt;<br />    &lt;head&gt;<br />        &lt;meta http-equiv="content-type" content="text/html; charset=GBK"&gt;<br />        &lt;script src="../pub/jquery/jquery.pack.js"&gt;&lt;/script&gt;<br />        &lt;script&gt;<br />     function getTextCaretPos(textObj){<br />        var curRange = document.selection.createRange();<br />        var tbRange = textObj.createTextRange();<br />        tbRange.collapse(true);<br />        tbRange.select();<br />        var headRange = document.selection.createRange();<br />        headRange.setEndPoint("EndtoEnd", curRange);<br />        var pos = headRange.text.length;<br />        return pos;<br />    }<br />    <br />    jQuery(document).ready(function(){<br />       jQuery('#test').keyup(function(event){<br /> switch(event.keyCode){<br /> case 8:<br /> $('#pos').html(getTextCaretPos($('#test').get(0)));<br />//以下4行移动光标到文本最后面<br />   $('#test')[0].focus();<br />    var rng =$('#test')[0].createTextRange();<br />    rng.collapse(false);<br />    rng.select();<br />    break;<br />  }<br /> }<br />   );<br />    }<br />    );<br />  &lt;/script&gt;<br />    &lt;/head&gt;<br />    &lt;body&gt;<br />        &lt;input id='test'&gt;<br />        pos:<br />        &lt;span id='pos'&gt;&lt;/span&gt;<br />    &lt;/body&gt;<br />&lt;/html&gt;<br /><br /><img src ="http://www.blogjava.net/leekiang/aggbug/224552.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2008-08-26 20:17 <a href="http://www.blogjava.net/leekiang/archive/2008/08/26/224552.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js中this的笔记</title><link>http://www.blogjava.net/leekiang/archive/2008/06/10/206845.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Mon, 09 Jun 2008 17:53:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2008/06/10/206845.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/206845.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2008/06/10/206845.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/206845.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/206845.html</trackback:ping><description><![CDATA[function中的this在没有调用的时候只是一个符号，不代表任何对象。只有当调用的时候才会产生一个内部对象，然后将内部对象的引用指针传递给对象实例。<br /><br /><a href="http://hi.baidu.com/wyt1213/blog/item/865aa0fd0c55631209244ddd.html">http://hi.baidu.com/wyt1213/blog/item/865aa0fd0c55631209244ddd.html</a><img src ="http://www.blogjava.net/leekiang/aggbug/206845.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2008-06-10 01:53 <a href="http://www.blogjava.net/leekiang/archive/2008/06/10/206845.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>常用js工具函数</title><link>http://www.blogjava.net/leekiang/archive/2008/05/21/202027.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Wed, 21 May 2008 13:28:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2008/05/21/202027.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/202027.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2008/05/21/202027.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/202027.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/202027.html</trackback:ping><description><![CDATA[
		<p>1,得到字符串长度,非个数<br /></p>
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<span style="COLOR: #0000ff">function</span>
				<span style="COLOR: #000000"> JHshStrLen(sString)<br />{<br />   </span>
				<span style="COLOR: #0000ff">var</span>
				<span style="COLOR: #000000"> sStr,iCount,i,strTemp ;<br />   iCount </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">0</span>
				<span style="COLOR: #000000"> ;<br />   sStr </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> sString.split(</span>
				<span style="COLOR: #000000">""</span>
				<span style="COLOR: #000000">);<br />    </span>
				<span style="COLOR: #0000ff">for</span>
				<span style="COLOR: #000000"> (i </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">0</span>
				<span style="COLOR: #000000"> ; i </span>
				<span style="COLOR: #000000">&lt;</span>
				<span style="COLOR: #000000"> sStr.length ; i </span>
				<span style="COLOR: #000000">++</span>
				<span style="COLOR: #000000">)<br />     {<br />         strTemp </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> escape(sStr[i]);//或者用sStr[i].charCodeAt(0)&lt;299   ?<br />          </span>
				<span style="COLOR: #0000ff">if</span>
				<span style="COLOR: #000000"> (strTemp.indexOf(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">%u</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">,</span>
				<span style="COLOR: #000000">0</span>
				<span style="COLOR: #000000">) </span>
				<span style="COLOR: #000000">==</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">-</span>
				<span style="COLOR: #000000">1</span>
				<span style="COLOR: #000000">)<br />          {<br />              iCount </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> iCount </span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">1</span>
				<span style="COLOR: #000000"> ;<br />          }<br />          </span>
				<span style="COLOR: #0000ff">else</span>
				<span style="COLOR: #000000">
						<br />          {<br />              iCount </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> iCount </span>
				<span style="COLOR: #000000">+</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">2</span>
				<span style="COLOR: #000000"> ;<br />          }<br />      }<br />      </span>
				<span style="COLOR: #0000ff">return</span>
				<span style="COLOR: #000000"> iCount ;<br />}</span>
		</div>
		<br />2, 禁止粘贴到文本框,支持IE,FIREFOX等<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; HEIGHT: 208px; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #0000ff">function</span><span style="COLOR: #000000"> fncKeyStop(evt)<br />{<br />    </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(</span><span style="COLOR: #000000">!</span><span style="COLOR: #000000">window.event)<br />    {<br />        </span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000"> keycode </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> evt.keyCode; <br />        </span><span style="COLOR: #0000ff">var</span><span style="COLOR: #000000"> key </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> String.fromCharCode(keycode).toLowerCase();<br />        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000">(evt.ctrlKey </span><span style="COLOR: #000000">&amp;&amp;</span><span style="COLOR: #000000"> key </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">v</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)<br />        {<br />          evt.preventDefault(); <br />          evt.stopPropagation();<br />        }<br />    }<br />}<br /></span></div>&lt;input onkeydown="fncKeyStop(event)" onpaste="return false" oncontextmenu = "return false;" /&gt;<br />IE中不需要写onkeydown=fncKeyStop(event)<br />已知的问题：不能屏蔽Firefox的菜单栏上的“paste”<img src ="http://www.blogjava.net/leekiang/aggbug/202027.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2008-05-21 21:28 <a href="http://www.blogjava.net/leekiang/archive/2008/05/21/202027.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>css笔记</title><link>http://www.blogjava.net/leekiang/archive/2008/05/19/201392.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Mon, 19 May 2008 07:34:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2008/05/19/201392.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/201392.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2008/05/19/201392.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/201392.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/201392.html</trackback:ping><description><![CDATA[1,设定span的width无效,原因是span的display默认为<font size="2">inline?<br />     解决:先设定display属性，可以设定成block或者inline-block即可。text-align无效时解决办法也一样。<br />2， 
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">title</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);">鼠标划过表格行变色简洁实现,支持IE6、IE7、FF2</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">title</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /> </span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">style </span><span style="color: rgb(255, 0, 0);">type</span><span style="color: rgb(0, 0, 255);">="text/css"</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(128, 0, 0); background-color: rgb(245, 245, 245);"><br />   #tb</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">{</span><span style="color: rgb(255, 0, 0); background-color: rgb(245, 245, 245);">width</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">:</span><span style="color: rgb(0, 0, 255); background-color: rgb(245, 245, 245);">666px</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">;</span><span style="color: rgb(255, 0, 0); background-color: rgb(245, 245, 245);">border-collapse</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">:</span><span style="color: rgb(0, 0, 255); background-color: rgb(245, 245, 245);">collapse</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">;</span><span style="color: rgb(255, 0, 0); background-color: rgb(245, 245, 245);">border</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">:</span><span style="color: rgb(0, 0, 255); background-color: rgb(245, 245, 245);">1px solid #EEE</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">;</span><span style="color: rgb(255, 0, 0); background-color: rgb(245, 245, 245);">font-size</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">:</span><span style="color: rgb(0, 0, 255); background-color: rgb(245, 245, 245);">14px</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">;</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">}</span><span style="color: rgb(128, 0, 0); background-color: rgb(245, 245, 245);"><br />   #tb th</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">{</span><span style="color: rgb(255, 0, 0); background-color: rgb(245, 245, 245);">background</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">:</span><span style="color: rgb(0, 0, 255); background-color: rgb(245, 245, 245);">#EEE</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">;</span><span style="color: rgb(255, 0, 0); background-color: rgb(245, 245, 245);">border-bottom</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">:</span><span style="color: rgb(0, 0, 255); background-color: rgb(245, 245, 245);">1px solid #CCC</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">;</span><span style="color: rgb(255, 0, 0); background-color: rgb(245, 245, 245);">padding</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">:</span><span style="color: rgb(0, 0, 255); background-color: rgb(245, 245, 245);">4px</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">;</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">}</span><span style="color: rgb(128, 0, 0); background-color: rgb(245, 245, 245);"><br />   #tb td</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">{</span><span style="color: rgb(255, 0, 0); background-color: rgb(245, 245, 245);">border</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">:</span><span style="color: rgb(0, 0, 255); background-color: rgb(245, 245, 245);">1px solid #EEE</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">;</span><span style="color: rgb(255, 0, 0); background-color: rgb(245, 245, 245);">padding</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">:</span><span style="color: rgb(0, 0, 255); background-color: rgb(245, 245, 245);">4px</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">;</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">}</span><span style="color: rgb(128, 0, 0); background-color: rgb(245, 245, 245);"><br /> </span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">style</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">script </span><span style="color: rgb(255, 0, 0);">type</span><span style="color: rgb(0, 0, 255);">="text/javascript"</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);"><br /> </span><span style="color: rgb(0, 0, 255); background-color: rgb(245, 245, 245);">var</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);"> obj</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">=</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">document.getElementById(</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">"</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">tb</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">"</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">);<br /> </span><span style="color: rgb(0, 0, 255); background-color: rgb(245, 245, 245);">for</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">(</span><span style="color: rgb(0, 0, 255); background-color: rgb(245, 245, 245);">var</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);"> i</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">=</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">0</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">;i</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">&lt;</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">obj.rows.length;i</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">++</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">){  </span><span style="color: rgb(0, 128, 0); background-color: rgb(245, 245, 245);">//</span><span style="color: rgb(0, 128, 0); background-color: rgb(245, 245, 245);">by丁学 <a href="http://www.cnblogs.com/dingxue/archive/2007/08/09/848555.html">http://www.cnblogs.com/dingxue/archive/2007/08/09/848555.html</a></span><span style="color: rgb(0, 128, 0); background-color: rgb(245, 245, 245);"><br /></span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">   obj.rows[i].onmouseover</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">=</span><span style="color: rgb(0, 0, 255); background-color: rgb(245, 245, 245);">function</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">(){</span><span style="color: rgb(0, 0, 255); background-color: rgb(245, 245, 245);">this</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">.style.background</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">=</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">"</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">#0EF</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">"</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">;}<br />   obj.rows[i].onmouseout</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">=</span><span style="color: rgb(0, 0, 255); background-color: rgb(245, 245, 245);">function</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">(){</span><span style="color: rgb(0, 0, 255); background-color: rgb(245, 245, 245);">this</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">.style.background</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">=</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">""</span><span style="color: rgb(0, 0, 0); background-color: rgb(245, 245, 245);">;}<br /> }<br /></span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">script</span><span style="color: rgb(0, 0, 255);">&gt;</span></div><br />3,CSS Sprite<br />   指把整站的所有背景图片拼成一幅图片,然后利用css的位移技术,达到与原来同样的效果。<br />  例如<br />  .icon2 {<br />                    background:url(../images/ico.gif) no-repeat left -20px  <br />      }<br /> <a href="http://www.youtube.com/img/master.gif">http://www.youtube.com/img/master.gif</a><br /><br />4,</font>html中块注释css<br />条件注释的基本结构和HTML的注释(&lt;!-- --&gt;)是一样的。因此IE以外的浏览器将会把它们看作是普通的注释而完全忽略它们。只能使用在HTML文件里，而不能在CSS文件中使用。<br />&lt;!--[if IE 6]&gt;<br />&lt;style type="text/css"&gt;<br />    #mydiv{position:absolute;}<br />&lt;/style&gt;<br />&lt;![endif]--&gt;<br /><br />&lt;!--[if gte IE 6]&gt; IE6以及IE6以上版本可识别 &lt;![endif]--&gt;<br />见 http://hi.baidu.com/mengqing723/blog/item/c39020248f51f33ac9955947.html<br /><br />5,汉字对齐的问题，尤其是4个字和5个字如何对齐<br />对齐的问题，有点郁闷。刚开始只能声明text-align属性来进行对齐。但是各行的字数又不一样，试了下word-spacing，但是不起作用。word-spacing这个属性对中文没用，不过在中文之间加个空格就生效了。可能老外觉得两词之间没空格就是一个词：helloworld，你好。试验了下letter-spacing，生效，说明浏览器把没空格的中文当成字母了。 <br />word-spacing用于修改字间距离。这里的“字”，简单的说，可以是任何非空白字符组成的串，并由某种空白符包围。所以象形文字是无法指定word-spacing的，除非字之间有空格。见http://www.cnblogs.com/fivewood/archive/2009/08/31/1557500.html<br /><img src ="http://www.blogjava.net/leekiang/aggbug/201392.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2008-05-19 15:34 <a href="http://www.blogjava.net/leekiang/archive/2008/05/19/201392.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>不能取得referer的情况</title><link>http://www.blogjava.net/leekiang/archive/2008/04/26/196366.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Sat, 26 Apr 2008 14:45:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2008/04/26/196366.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/196366.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2008/04/26/196366.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/196366.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/196366.html</trackback:ping><description><![CDATA[
		<p>下列情况是从浏览器的地址栏正常取得Request.ServerVariables("HTTP_REFERER")的: <br />1.直接用&lt;a href&gt; <br />2.用Submit或&lt;input type=image&gt;提交的表单(POST or GET) <br />3.使用Jscript提交的表单(POST or GET) </p>
		<p>
				<br />下面是Request.ServerVariables("HTTP_REFERER")不能正常取值的情况: <br />1.从收藏夹链接 <br />2.单击'主页'或者自定义的地址 <br />3.利用Jscript的location.href or location.replace() <br />4.在浏览器直接输入地址 <br />5.&lt;%Response.Redirect%&gt; <br />6.&lt;%Response.AddHeader%&gt;或&lt;meta http-equiv=refresh&gt;转向 <br />7.用XML加载地址 <br /><br /><a href="http://www.linux-cn.com/html/program/ASP/20070424/12718.html">http://www.linux-cn.com/html/program/ASP/20070424/12718.html</a></p>
<img src ="http://www.blogjava.net/leekiang/aggbug/196366.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2008-04-26 22:45 <a href="http://www.blogjava.net/leekiang/archive/2008/04/26/196366.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>颜色</title><link>http://www.blogjava.net/leekiang/archive/2008/03/18/187036.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Tue, 18 Mar 2008 08:38:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2008/03/18/187036.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/187036.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2008/03/18/187036.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/187036.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/187036.html</trackback:ping><description><![CDATA[#808080 作背景，有透明效果<br /><br /><a target="_blank" href="http://blog.csdn.net/jawsy/archive/2008/04/30/2346609.aspx">css颜色代码对照</a><br /><img src ="http://www.blogjava.net/leekiang/aggbug/187036.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2008-03-18 16:38 <a href="http://www.blogjava.net/leekiang/archive/2008/03/18/187036.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js笔记</title><link>http://www.blogjava.net/leekiang/archive/2008/03/12/185820.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Wed, 12 Mar 2008 13:10:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2008/03/12/185820.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/185820.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2008/03/12/185820.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/185820.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/185820.html</trackback:ping><description><![CDATA[1，动态执行js<br />  (1)document.write("&lt;script&gt;alert('ok');&lt;/script"+"&gt;");注意&lt;/script&gt;要分开写<br />  或<br />  (2)var oDiv=document.createElement("script");<br />           oDiv.appendChild("alert('0k')");<br />        document.body.appendChild(oDiv);<br />  (3)eval("alert(ok);");<br />     但不知何故，在模态窗口中用eval执行window.dialogArguments.location.reload()会报错<br /> 详见<a href="http://hi.baidu.com/ziyou038/blog/item/38b25b540a777e57564e009d.html" target="_blank">http://hi.baidu.com/ziyou038/blog/item/38b25b540a777e57564e009d.html</a><br />  (4)不要再回调中执行document.write<br /> 原因:document close后，再document.write，就会覆盖整个页面<br /><br />2//在写JavaScript代码时，可加入一个文本区域来进行调试<br />    function debugInfo(info) {<br />      var debugWindow = document.getElementById("debug_window");<br />      debugWindow.value = debugWindow.value + "\r\n" + info;<br />   }<br /><br />3,<br />有时候，我们在调用 .js文件的时候，会发现。.js文件里的中文变成乱码了,<br />其实只要在调用的时候加一个charset就行了<br />&lt;script language="javascript" src="../jscript/Cjs.js" type="text/javascript" <span style="color: rgb(255, 0, 0);">charset="gb2312"</span>&gt;&lt;/script&gt;<br /><br />4, 
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);"> b()<br />{<br />    i </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">3</span><span style="color: rgb(0, 0, 0);">;<br />}<br /><br /></span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);"> a()<br />{<br />    i </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);">;<br />    b();<br />    alert(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">i=</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);">i);<br />}<br />a();</span></div>a()和b()里面的变量i都没有使用var声明，最终alert结果会是3！！！<br />和 shell 一样的，局部中声明了变量其实是全局的, 加了 var 才是私有的<br />来源:<a href="/vls/archive/2008/05/11/199808.html">http://www.blogjava.net/vls/archive/2008/05/11/199808.html</a><br /><br />5,table在后面添加加行或列，通用写法insertRow(-1),insertCell(-1),这样才能跨浏览器<br /><br />6,native2ascii<br />    先用alert(escape("确定")) 的方式得到"%u786E%u5B9A",然后在<br />js中alert(unescape('%u786E%u5B9A'))即可。<br />    如果是从java中得到的"\<span style="color: rgb(0, 0, 0);">u786E\u5B9A"<br /></span><span style="color: rgb(0, 0, 0);">&lt;</span><span style="color: rgb(0, 0, 0);">script</span><span style="color: rgb(0, 0, 0);">&gt;</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);"> str</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">"\</span><span style="color: rgb(0, 0, 0);">u786E\u5B9A</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">;<br />str</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">str.replace(</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">\\</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">,</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">%</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">);<br /></span><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);"> a</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">unescape(str)<br />document.write(a);<br /></span><span style="color: rgb(0, 0, 0);">&lt;</span><span style="color: rgb(0, 0, 0);">/</span><span style="color: rgb(0, 0, 0);">script&gt;<br /><br />7,在JavaScript中不要使用跟HTML的id一样的变量名。否则IE会报I对象未定义的错误<br />8,<span><span class="keyword">var</span><span> fileName = </span><span class="string">"This is a title"</span><span>.replace(/ /g,</span><span class="string">"_"</span><span>);  <br />9,<span><span>parseInt(</span><span class="string">"09"</span><span>)有问题,应该为</span></span><span><span>parseInt(</span><span class="string">"09"</span><span>, 10)<br /><a href="http://www.javaeye.com/topic/200401">http://www.javaeye.com/topic/200401</a><br />10,执行focus()的时候，元素尚未可用。因此要延迟执行:<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);"> newInput </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> document.createElement(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">input</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">);  <br />newInput.id </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">TheNewInput</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">;  <br />document.body.appendChild(newInput);  <br /></span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);">在0.01秒之后调用匿名函数获取焦点  </span><span style="color: rgb(0, 128, 0);"><br /></span><span style="color: rgb(0, 0, 0);">setTimeout(</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">(){      document.getElementById('TheNewInput').focus();  <br />document.getElementById('TheNewInput').select();}, </span><span style="color: rgb(0, 0, 0);">10</span><span style="color: rgb(0, 0, 0);">);  <br /></span></div><br />11,</span></span></span></span></span><span style="color: rgb(0, 0, 0);"><span><span><span><span>arguments.callee.length</span></span></span></span></span><br /><span style="color: rgb(0, 0, 0);"><span><span><span><span>&lt;script&gt;<br />function test(x,y,z)<br />{<br />alert('argu.length:'+arguments.length);//实参的长度4<br />alert('argu.callee.length:'+arguments.callee.length);//形参的长度3<br />return x+y+z;<br />}<br />test(1,2,3,4);<br />&lt;/script&gt;<br /><br />12,js的substr和substring不一样<br />"aaaaa".substr(N1,N2)    从指定的位置(N1)截取指定长度(N2)的字符串; <br />"aaaaa".substring(N1,N2) 从指定的位置(N1)到指定的位置(N2)的字符串; <br />举个例子：<br />alert("123456789".substr(2,5)) 它显示的是 "34567"<br />alert("123456789".substring(2,5)) 则显示的为 "345" <br /><br />13,js的switch也可用字符串匹配,只要能用==的都可以<br /></span></span></span></span></span>function   test(cs){   <br />   switch(cs){   <br />   		case   "a":alert("input   a");break;   <br />   		case   "b":alert("input   b");break;   <br />   		case   "c":alert("input   c");break;   <br />   		default:alert("input   other   words");break;   <br />   	}   <br />   }   <br />   test("a"); <br />14,在js中动态生成代码<br />eval("var obj = document." + formName + "." + filedname + ";");<br /><br />15,使用Javascript的eval生成json对象有个地方要注意：<br />var  myJSONtext="{a1:'黄夏柳',a2:'贾政经'}";<br />var myObject = eval('(' + myJSONtext + ')');//即要括起来,同时用两副单引号<br />用下面的写法不行var myObject=eval("(' + myJSONtext + ')");不知何故。<br /><br />16,登录后用window.open实现浏览器全屏<br />//window.open(document.location, '窗体名称', 'fullscreen');//这句打开并去掉所有栏，连任务栏都盖住<br />//window.open(document.location,'窗体名称','fullscreen,scrollbars');//带滚动条<br />window.open('url','maxwindow','toolbar=no,location=no,directories=no,menubar=no,scrollbars=yes,resizable=no,status=no'); <br />opener=null;//没有这句，关闭时有提示,ie5.5以上有效。<br />//如果是跳转到一个iframe，就改为parent.opener=null<br />window.close();//关闭当前窗口 <br /><br />17，<a href="http://hi.baidu.com/aji88/blog/item/39adca821e9cb596f703a63b.html">IE,FF下取Iframe window对象的方法</a><br /><p>IE：document.frames("Iframe_ID");</p><p>FF: document.frames("Iframe_ID") : document.getElementById("ifr_1").contentWindow;</p><p>IE和FF都兼容的方法：var ifr = document.frames ? document.frames("ifr_1") : document.getElementById("ifr_1").contentWindow;</p><p>18，关于右下角弹出窗口：</p><p>   参看凤凰网、天涯或CSDN的例子</p><p>19,链接的点击，两种方式:</p><p>&lt;A href="#" onclick="log();"&gt; <br /></p><p>&lt;a href="javascript:log()"&gt;  千万不要写target="_parent"，这样调的是父页面的函数</p><p><br /></p><img src ="http://www.blogjava.net/leekiang/aggbug/185820.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2008-03-12 21:10 <a href="http://www.blogjava.net/leekiang/archive/2008/03/12/185820.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>json笔记</title><link>http://www.blogjava.net/leekiang/archive/2008/03/09/184776.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Sat, 08 Mar 2008 17:56:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2008/03/09/184776.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/184776.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2008/03/09/184776.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/184776.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/184776.html</trackback:ping><description><![CDATA[不建议索隐、考据,但基本的常识还是需要知道的<br />1,json全称JavaScript Object Notation(记法，表示法)<br />2,json格式非常适合那些具有一些属性和值对的简单对象.<br />3,json的数据格式:以"{"开始，以"}"结束,中间的属性与值对以","分隔，属性与值之间以":"分隔。属性可以是:<br />  简单的字符串,例如 "hello"<br />  数组,例如 [1,2,3,4]<br />  数字<br />  true, false, 或 null<br />  其他对象,或者对象中还有对象。<br />  例如'{name:"tom",dept:"R&amp;D",man:{name:"zhangsan",dept:"HR"}}';<br />4,ajax和json是绝配。ajax减少请求，json简化服务器端的输出。<br />5,可以在客户端事先放好html模板，然后以不增一字不减一字、含金量极高的json去填充<br />6,json与xml相比，json获得js的原生支持，json对象本身就是js对象，js操作json极其方便。<br />7,建议在server -&gt; client单向使用，不用json-lib，在输出时写个几十行的程序就可以把Java object输出成json string，<br />毕竟js是json的舞台<br />8,文本转json对象，有两种方式:<br />   var resp ='{msgCt:"1",msgs:{from:"zhangsan",content:"hello"}}';<br />   var jsonObj1 = eval('('+resp+')');//方式一<br />   var func = new Function("return "+resp);<br />   var jsonObj2 =func();//方式二<br />   alert(jsonObj1.msgs.content);<br />9,怀疑js里的函数和java的类一样，只有使用了才加载到内存中，没有使用时跟不存在一个样<br /><br /><img src ="http://www.blogjava.net/leekiang/aggbug/184776.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2008-03-09 01:56 <a href="http://www.blogjava.net/leekiang/archive/2008/03/09/184776.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>showModalDialog和window.open用法</title><link>http://www.blogjava.net/leekiang/archive/2008/01/25/177714.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Fri, 25 Jan 2008 03:29:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2008/01/25/177714.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/177714.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2008/01/25/177714.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/177714.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/177714.html</trackback:ping><description><![CDATA[1,vReturnValue = window.showModelDialog(sURL [， vArguments] [，sFeatures])<br />vArguments--<br />可选参数，用来向对话框传递参数。传递的参数类型不限，包括数组等。对话框通过window.dialogArguments来取得传递进来的参数。<br />vArguments的类型不限制，对于字符串类型，最大为4096个字符。也可以传递对象。如果为this或window，则传递的是父页面的引用<br />parent.htm<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);"> obj </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> Object();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />obj.name</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">51js</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />window.showModalDialog(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">modal.htm</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">，obj，</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">dialogWidth=200px;dialogHeight=100px</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div><br />modal.htm<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);"> obj </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> window.dialogArguments<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />alert(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">您传递的参数为：</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);"> obj.name)<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div><br /><br />2，怎样才让在showModalDialog和showModelessDialog的超连接不弹出新窗口？<br />　　在被打开的网页里加上&lt;base target="_self"&gt;<br />3，怎样才刷新showModalDialog和showModelessDialog里的内容？<br />　　在showModalDialog和showModelessDialog里是不能按F5刷新的，又不能弹出菜单。这个只能依靠javascript了，以下是相关代码：<br />&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;<br />　　将filename.htm替换成网页的名字然后将它放到你打开的网页里，按F5就可以刷新了，注意，这个要配合&lt;base target="_self"&gt;使用，不然你按下F5会弹出新窗口的。<br />在模态窗口的模态窗口中刷新父窗口，可用:<br />String js = "&lt;script&gt;"<br />                + "self.close();parent.window.dialogArguments.alert('成功!');"<br />                + "parent.window.dialogArguments.document.getElementById('reload').click();"<br />                + "&lt;/script&gt;";<br />4、如何用javascript关掉showModalDialog(或showModelessDialog)打开的窗口。<br />　　&lt;input type="button" value="关闭" onclick="window.close()"&gt;<br />　　也要配合&lt;base target="_self"&gt;，不然会打开一个新的IE窗口，然后再关掉的。<br />5，window.open打开的窗口不产生滚动条，怎么办?<br />    修改body ： &lt;body scroll="yes"&gt;。 看起来是yes，以为就算没有超出范围也会有滚动条，而实际上IE会自动判断，只有超出才会有滚动条，实际效果应该是scroll=auto.为什么会这样？不深究了。<br /><br />6,不能location.reload,而要用location.href=''<br /><br />7，在模态对话框里显示滚动条<br />   在body里加style="overflow: auto;" scroll="yes"<br /><img src ="http://www.blogjava.net/leekiang/aggbug/177714.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2008-01-25 11:29 <a href="http://www.blogjava.net/leekiang/archive/2008/01/25/177714.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js验证</title><link>http://www.blogjava.net/leekiang/archive/2008/01/03/172515.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Thu, 03 Jan 2008 09:00:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2008/01/03/172515.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/172515.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2008/01/03/172515.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/172515.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/172515.html</trackback:ping><description><![CDATA[//验证正数和0<br />var re = /^\d+(?=\.{0,1}\d+$|$)/<br />//验证浮点数<br />       var re2=/^(-?\d+)(\.\d+)?$/<br />     re.test('0.21');<br />    re.test('-0.21');<br />    re2.test('-0.21');<br /><img src ="http://www.blogjava.net/leekiang/aggbug/172515.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2008-01-03 17:00 <a href="http://www.blogjava.net/leekiang/archive/2008/01/03/172515.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>createElement方法在IE和Firefox下的差异(转)</title><link>http://www.blogjava.net/leekiang/archive/2007/11/14/160637.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Wed, 14 Nov 2007 14:04:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2007/11/14/160637.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/160637.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2007/11/14/160637.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/160637.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/160637.html</trackback:ping><description><![CDATA[
		<div class="cnt">
				<p>IE有3种方式都可以创建一个元素:</p>
				<p>1 document.createElement("&lt;input type=text&gt;")<br />2 document.createElement("&lt;input&gt;")<br />3 document.createElement("input")</p>
				<p>Firefox只支持一种方式:<br />document.createElement("input");document.setAttribute(name,value);</p>
				<p>------------<br />注: 在一个节点下增加子节点 IE也比Firefox下的方式要多.</p>
				<p>IE:  </p>
				<p>1 node.insertBefore(Element)<br />2 node.insertAfter(Element)<br />3 node.appendChild(Element)</p>
				<p>而Firefox仅支持 node.appendChild.<br /><br />在IE里面，html元素如果可以作为容器，那么在document.createElement创建元素时是无法设置name属性的，比如：div,span,font等等。<br />相反不可以做为容器的，在用document.createElement创建元素时可以设置控件的name属性，比如：input,button,a,img等等</p>
		</div>
<img src ="http://www.blogjava.net/leekiang/aggbug/160637.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2007-11-14 22:04 <a href="http://www.blogjava.net/leekiang/archive/2007/11/14/160637.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>html笔记</title><link>http://www.blogjava.net/leekiang/archive/2007/10/30/156916.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Tue, 30 Oct 2007 05:44:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2007/10/30/156916.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/156916.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2007/10/30/156916.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/156916.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/156916.html</trackback:ping><description><![CDATA[
		<p>1,css文件里的background里的图片路径是相对于该css文件的路径<br />2，9pt=12px<br />3，要移动的对象的style中position属性一定要指定为absolute或者relative，因为position属性默认是static，在这种情况下，对象的left和top属性会被CSS解释器忽略。<br />      <a href="/yoda/archive/2008/04/16/193461.html">http://www.blogjava.net/yoda/archive/2008/04/16/193461.html</a><br /><br />      相对定位是"相对于"元素在文档流中的初始位置,而绝对定位是"相对于"最近的已定位祖先元素,如果不存在已定位的祖先元素，那么是最初的包含块(可能是html元素)。<br />      <a href="http://www.ddcat.net/blog/archives/2006/08/121.html">http://www.ddcat.net/blog/archives/2006/08/121.html</a><br />4, 怎么让checkbox与文字在同一水平线<br />    给checkbox定义vertical-align:middle;属性?<br />5,跨不同编码格式的应用传递数据时指定编码方式的处理,见<br />    <a id="viewpost1_TitleUrl" href="/emu/archive/2008/01/31/178715.html">在IE下面指定表单编码方式</a>  <br />   20080512备注:此方法好像不稳定<br />6,在IE里一个汉字对应2个&amp;nbsp ,在firefox却不一样，不知道如何兼容。<br />7,在页面里写样式时,&lt;style type="text/css"&gt;里的type必须有，否则不起作用<br />8,跨浏览器的table样式定义<br />cellpadding="0" cellspacing="1" bgcolor="#cccccc"<br />#tabid td{//不要定义在tr上，否则不兼容<br />font-size:12px;<br />padding:2px 3px;<br />text-align:center;<br />vertical-align:middle;<br />background-color: #ffffff;<br />}</p>
		<p>#tabid .table_th td{<br />background-color:#C2E6F5;<br />font-weight:bold;<br />}<br />9,  与某QQ号对话,支持IE和Firefox<br />tencent://message/?uin=73035879<br />10,<a id="viewpost1_TitleUrl" href="http://www.cnweblog.com/maomao2008/archive/2008/01/04/269140.html"><font size="3">轻松玩转花样表单(转)</font></a><br />     讲了各种表单域的属性说明和样式控制。例如textarea的wrap能控制是否自动换行，输入框如何实现信纸效果。<br />11,IE密码框里模拟显示*号<br /><a href="http://bbs.51js.com/thread-72067-1-1.html">http://bbs.51js.com/thread-72067-1-1.html</a><br />12,<a href="http://www.achome.cn/blog/?p=130" target="_blank">让alt和title换行的小技巧<br /></a>在"&amp;#"后面加值,ASCII码回车：13,ASCII码换行：10,只用&amp;#10就行<br />13,居中问题<br />    (1)div居中.<br />    IE将text-align:center误解为让所有东西居中，而不只是文本.<br />    非IE,只需定义div的宽度，然后把水平空白边设为auto      margin:0 auto;<br />   把以上两者都考虑进来，即可以做跨浏览器的水平居中.<br />   垂直居中比较麻烦，现在先写死，以后再考虑如何通用<br />    (2)图片居中<br />     现在先把图片放在一个居中的大小与图片一样的div中,通用的方案以后再考虑。<br />    <a href="http://topic.csdn.net/u/20070114/20/0718aef7-ce18-490a-9be3-b8f765490c79.html?1700147196">http://topic.csdn.net/u/20070114/20/0718aef7-ce18-490a-9be3-b8f765490c79.html?1700147196</a><br />    <a href="http://www.websbook.com/htmlcssdiv/divzrhstpczjz_14033.html">http://www.websbook.com/htmlcssdiv/divzrhstpczjz_14033.html</a><br />    (3)div中的文字垂直居中可以通过设置line-height解决?</p>14,css如何区分text还是button(IE6不支持样式选择器)<br />input<br />{<br /> border:expression(this.type=="text"?'1px solid #58D3E1':'');<br />}<br />15,td里如果只有英文不会折断换行<br />办法:<span style="font-size: 10pt;"><span style="color: rgb(0, 0, 255);">&lt;</span><span style="color: rgb(128, 0, 0);">td </span><span style="color: rgb(255, 0, 0);">style</span><span style="color: rgb(0, 0, 255);">="width:30px;word-wrap:break-word;word-break:break-all;"</span><span style="color: rgb(0, 0, 255);">&gt;</span><span style="color: rgb(0, 0, 0);">abcdabcdabcdabcdabcd</span><span style="color: rgb(0, 0, 255);">&lt;/</span><span style="color: rgb(128, 0, 0);">td</span><span style="color: rgb(0, 0, 255);">&gt;</span></span><br /><br />16, 表单的reset方法，对于select元素有问题，不能复原。 <br /> 自己写了一个代替默认的reset方法，但没有考虑checkbox,radio<br />  function my_reset(){<br />    form1.reset();<br />    jQuery('#sel').val('${obj.sel}');<br />    }<br /><br />17,iframe如果要设置滚动条，就需要设置宽度或高度。<br />   访问iframe里的元素： .contentWindow.document.getElementById('')<br /><br />18<br /><br />http://blog.163.com/pcboby@126/blog/static/3120140020085692040249/<br />http://kazesky.spaces.live.com/blog/cns!FC7C5F854D637274!322.entry<br /><img src ="http://www.blogjava.net/leekiang/aggbug/156916.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2007-10-30 13:44 <a href="http://www.blogjava.net/leekiang/archive/2007/10/30/156916.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>firefox扩展</title><link>http://www.blogjava.net/leekiang/archive/2007/10/23/155417.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Tue, 23 Oct 2007 14:50:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2007/10/23/155417.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/155417.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2007/10/23/155417.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/155417.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/155417.html</trackback:ping><description><![CDATA[1，firebug<br />使用说明http://blog.csdn.net/tianxiaode/archive/2007/09/02/1769152.aspx<br />2, flashgot<br />3, Cache Status<br />   可在状态栏查看和清除缓存(包括硬盘和内存上的)，"附加软件"--&gt;"选项"可设置缓存最大值。<br />4, CacheViewer<br />   排列并允许搜索缓存文件，可与3互相补充。<br />5，<font color="#a9a9a9">Fasterfox 已弃用</font><br />6, Better Gmail<br />   还不熟悉<br />7，Google Toolbar for Firefox<br />   书签很有用。<br />8,flashblock<br />   只有点击后才会加载flash,不点击只显示一个占位<br /><a href="https://addons.mozilla.org/zh-CN/firefox/addon/433">https://addons.mozilla.org/zh-CN/firefox/addon/433</a><br />9,livehttpheaders :类似httpwatch的抓包工具<br /><a href="http://livehttpheaders.mozdev.org/">http://livehttpheaders.mozdev.org/</a><br />  <font color="#ff0000">HttpFox</font> 功能类似,貌似更好用<br />10,ServerSpy<br />    获取某网站使用的web服务器类型<br />11，Leak Monitor<br />https://addons.mozilla.org/zh-CN/firefox/addon/2490<br />http://www.jb51.net/article/8145.htmLeak Monitor<br />12,<dfn> Proxy</dfn><dfn>Switch<br /></dfn><dfn>    浏览器代理</dfn>.另外还有FoxyProxy和switchproxy<br />http://www.proxy-offline-browser.com/ProxySwitch/<br />13，File Title<br />保存网页时以网页的title命名<br />https://addons.mozilla.org/en-US/firefox/addon/834<br />14，<font color="#ff0000">CoLT</font><br />提供一种很便捷的方式复制网页上的链接，会给写blog带来一些方便。<br />https://addons.mozilla.org/en-US/firefox/addon/1812<br /><br />15，searchstatus<br />显示网站的Alexa排名,对一般人意义不大。<br />16，FireGestures<br /> 可以让您通过五个类型的鼠标手势来执行各种各样的命令:<br />
* 鼠标手势 (按住右键不放移动鼠标)；<br />
* 滚轮手势 (按住右键不放滚动滚轮)；<br />
* 摇杆手势 (按住右键不放左击,反之亦然)；<br />
* 按键手势 (按住Ctrl / Shift键不放使用鼠标手势)；<br />
* 标签滚轮手势 (在标签栏上滚动滚轮)。<br /><br />17,<font color="#ff0000">Session Manager </font><br />可以保存session,还可以记录多组tab页<br /><br />20,YSlow<br />需要先装firebug<br />YSlow analyzes web pages and tells you why they're slow based on the rules for high performance web sites. YSlow is a Firefox add-on integrated with the popular Firebug web development tool. YSlow gives you:<br />    * Performance report card<br />    * HTTP/HTML summary<br />    * List of components in the page<br />    * Tools including JSLint<br />21，<font color="#ff0000">Firecookie</font>用来管理Cookies.<br />22，firephp提供给PHP开发者使用，能够管理PHP函数<br />23, Jiffy是由Scott Ruthfield 和 Whitepages.com团队开发的一个细颗粒和灵活的网站性能追踪，分析套件。<br />24,<a href="http://xrefresh.com/rainbow">RainbowForFirebug</a> brings Javascript syntax highlighting to Firebug.<br />25,<a href="http://getlivecoder.com/">LiveCoder</a> lets you poke at the
browser's DOM, just like Firebug. But LiveCoder also lets you examine
Firebug itself. In addition to examining the DOM, you can alter it
including changing functions. This is a great way to debug your code
and test fixes more quickly.<br />26,<a href="http://www.pixelperfectplugin.com/">Pixel Perfect</a> is a firebug extension that allows web developers to easily overlay a web composition over top of the developed html.这个能让一个图片悬浮在网页上,并且可以设置透明度和微调坐标。这对某些人来说是好东西。<br /><br />27,GreaseMonkey<br /> 可以给别人的网站添加自定义代码<br /><br />28,IE Tab<br /> 可以在ff中打开ie的tab<br />   <br />29,wmlbrowser<br />模拟WAP浏览查看wml页面<br /><br />30,ScrapBook<br />帮助您保存和整理收藏的网页资料<br /><br />31,RefControl<br />針對每個網站送出想要的 HTTP Referer.<a href="http://www.burninger.com/pjblog/article.asp?id=1685">Burning</a>注：对于Sina，Sohu，163，百度等BSP的Blog，只有这个才能在<a href="http://www.xianguo.com/" target="_blank">鲜果</a>中顺利的看到图片，不至于让他们提示“此图片用来与***沟通”<br /><br />32,Zotero<br />文献管理工具<br />http://www.snakehsu.info/sigma_c/2007/10/firefox-zotero.html<br /><br />33,Colorzilla<br />可以捕获当前鼠标所指的页面坐标位置和颜色，以及DOM路径<br /><br />34,MeasureIt<br />在Firefox中画坐标和度量尺的小插件，用它测量HTML元素的宽高很是方便
                <br /><br />35,Simple Mail<br />http://www.hellohuohu.com/2008/01/03/94/<br /><br />36，ScribeFire<br />写博客的.即以前的Performancing for Firefox<br />http://cajon.cnblogs.com/archive/2006/05/16/401423.html<br /><br />37,<font color="#ff0000">ctrl-Tab</font> 比showcase好用<br />   可预览可切换tab,快捷键为ctrl+tab<br /><br />38,<font color="#ff0000">Easy DragToGo</font><br />   可以定义拖拽文字链接图片的行为<br />39,Quick TransLation<br />   翻译扩展<br />40,QuickNote<br />   笔记扩展 <br />41,新同文堂<br />   繁简转化<br />42,Show Location<br />   利用 IP 数据库，在状态栏显示网页服务器的位置<br />   说明见http://mozilla.sociz.com/viewthread.php?tid=18118<br /><br />43,Tamper Data 篡改数据<br />TamperData is an extension to track and modify http/https requests,<br /><ul><li>security testing of Web based applications</li><li>tracking request/responses <br /></li></ul>http://zoukejian.blog.51cto.com/131276/62057<br /><br />44,UnMHT 另存为mht文件<br /><br />45,<font color="#ff0000">Text Link</font> :双击url文本可打开<br /><br />46，有了firebug,为何还要用web developer<br /><br />47，Fiddler Switch<br />在前端开发界，有这么一个说法：Firefox + Firebug + Fiddler，称之为
3F，拯救了前端的工作。Fiddler是个伟大的工具，默认在IE上工作得挺好，但在Firefox上需要设置代理，有点麻烦，Fiddler
Switch就是Taobao UED空帷达人为了解决此问题而开发的。如果你还没用过Fiddler，推荐阅读下这篇文章：<a href="http://lifesinger.org/blog/?p=40">如何直接调试线上页面的JavaScript和CSS</a><br /><a target="_blank" href="http://lifesinger.org/blog/?p=971">Firefox非主流开发扩展推荐</a><br /><a href="http://lifesinger.org/blog/?p=40">如何直接调试线上页面的JavaScript和CSS</a><br /><br />48，autopager<br /><br />49,codeburner<br />CodeBurner is a Firefox add-on that integrates with Firebug, to extend it with reference material for HTML and CSS. <br /><br />50,tab counter<br />51, cssviewer<br />52,CustomizeGoogle<br /> is a Firefox extension that enhances Google search
results by adding extra information (like links to Yahoo, Ask.com, MSN
etc) and removing unwanted information (like ads and spam).<br />53,downthemall<br />54,google reader watcher<br />55,google 笔记本<br />56,image zoom<br />57,NoScript<br />58,PDF Download<br />59,Prism is a simple XULRunner based browser that hosts web applications
without the normal web browser user interface. Prism is based on a
concept called Site Specific Browsers (SSB)<br />60,reminderfox<br />   显示和管理备忘和计划<br /><br /><br /><br /><code>修改旧扩展以支持ff3.0.1:改xpi为zip,然后把install.rdf</code> 文件拖出，找到 <code>em:maxVersion</code> 标签，把值改为 <code>3.0.1 ,再放回去，重新改后缀为xpi</code>.<br />http://www.awflasher.com/blog/archives/750<br />http://www.hualian.net/<br />http://www.softwareishard.com/blog/firebug/list-of-firebug-extensions/<br /><a target="_blank" href="http://www.ibm.com/developerworks/cn/web/wa-lo-firefox-ext/?ca=drs-tp0808">实战 Firefox 扩展开发</a><br /><img src ="http://www.blogjava.net/leekiang/aggbug/155417.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2007-10-23 22:50 <a href="http://www.blogjava.net/leekiang/archive/2007/10/23/155417.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js操作table</title><link>http://www.blogjava.net/leekiang/archive/2007/10/19/154253.html</link><dc:creator>leekiang</dc:creator><author>leekiang</author><pubDate>Fri, 19 Oct 2007 08:28:00 GMT</pubDate><guid>http://www.blogjava.net/leekiang/archive/2007/10/19/154253.html</guid><wfw:comment>http://www.blogjava.net/leekiang/comments/154253.html</wfw:comment><comments>http://www.blogjava.net/leekiang/archive/2007/10/19/154253.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/leekiang/comments/commentRss/154253.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/leekiang/services/trackbacks/154253.html</trackback:ping><description><![CDATA[<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;x</span><span style="color: #000000;">=</span><span style="color: #000000;">document.getElementById('myTable').rows;<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;y</span><span style="color: #000000;">=</span><span style="color: #000000;">x[</span><span style="color: #000000;">0</span><span style="color: #000000;">].cells;<br />
&nbsp;&nbsp;&nbsp;&nbsp;y[</span><span style="color: #000000;">0</span><span style="color: #000000;">].innerHTML</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">NEW&nbsp;CONTENT</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br />
</span></div>
<font color="#2a00ff"><br />
</font>
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;x</span><span style="color: #000000;">=</span><span style="color: #000000;">document.getElementById('myTable').insertRow(</span><span style="color: #000000;">2</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;y</span><span style="color: #000000;">=</span><span style="color: #000000;">x.insertCell(</span><span style="color: #000000;">0</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;z</span><span style="color: #000000;">=</span><span style="color: #000000;">x.insertCell(</span><span style="color: #000000;">1</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;y.innerHTML</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">NEW&nbsp;CELL1</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;z.innerHTML</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">NEW&nbsp;CELL2</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br />
</span></div>
<br />
<font color="#2a00ff">见www.java2s.com<br />
</font>
<img src ="http://www.blogjava.net/leekiang/aggbug/154253.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/leekiang/" target="_blank">leekiang</a> 2007-10-19 16:28 <a href="http://www.blogjava.net/leekiang/archive/2007/10/19/154253.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>