﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-&lt;b&gt;BeanSoft's Java Blog&lt;/b&gt;-随笔分类-AJAX</title><link>http://www.blogjava.net/beansoft/category/19463.html</link><description>免费电子书/视频&lt;a href="http://www.blogjava.net/beansoft/archive/2008/08/17/222589.html"&gt;《MyEclipse 6 Java 开发中文教程》&lt;/a&gt;作者刘长炯官方博客  专注于 Java 企业级应用</description><language>zh-cn</language><lastBuildDate>Thu, 05 Nov 2009 08:33:19 GMT</lastBuildDate><pubDate>Thu, 05 Nov 2009 08:33:19 GMT</pubDate><ttl>60</ttl><item><title>Ext 2.0.1 Grid 增删改 &amp; DWR 1 实例 - 操作数据库版本(带源码)</title><link>http://www.blogjava.net/beansoft/archive/2008/06/06/206334.html</link><dc:creator>BeanSoft</dc:creator><author>BeanSoft</author><pubDate>Fri, 06 Jun 2008 07:19:00 GMT</pubDate><guid>http://www.blogjava.net/beansoft/archive/2008/06/06/206334.html</guid><wfw:comment>http://www.blogjava.net/beansoft/comments/206334.html</wfw:comment><comments>http://www.blogjava.net/beansoft/archive/2008/06/06/206334.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.blogjava.net/beansoft/comments/commentRss/206334.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/beansoft/services/trackbacks/206334.html</trackback:ping><description><![CDATA[
		<p>
				<font color="#ff0000">
						<strong>友情提示</strong>
						<strong>: </strong>
						<strong>下载微软网盘文件时关闭下载工具</strong>
						<strong>,  </strong>
						<strong>否则你将得到错误的文件</strong>
						<strong>, </strong>
						<strong>双击</strong>
						<strong>EXE </strong>
						<strong>会出来</strong>
						<strong>DOS </strong>
						<strong>窗口</strong>
						<strong>. </strong>
						<strong>正确操作是点击文件名后能看到显示下载链接和文件大小等信息</strong>
						<strong>.</strong>
				</font>
		</p>
		<p>微软的网盘终于又能用了,5G空间呢,微软就是有钱啊. </p>
		<p>
				<a title="http://cid-519b3f7aa2172030.skydrive.live.com/self.aspx/Public/AJAX/extdwrgrid.zip" href="http://cid-519b3f7aa2172030.skydrive.live.com/self.aspx/Public/AJAX/extdwrgrid.zip">http://cid-519b3f7aa2172030.skydrive.live.com/self.aspx/Public/AJAX/extdwrgrid.zip</a> 1.13 MB 导入MyEclipse即可,也可用其它开发工具. <br /></p>
		<p>如果无法下载，请到 <a href="/beansoft/archive/2008/03/23/188084.html"><strong><font color="#006bad">FTP</font></strong></a> 的 /AJAX 目录下载 extdwrgrid.zip 文件，文件已经是最新版。<br /><br />运行截图: </p>
		<p>
				<a href="/images/blogjava_net/beansoft/WindowsLiveWriter/ExtDWRMysqlGrid_D482/image_2.png">
						<img border="0" alt="image" src="http://www.blogjava.net/images/blogjava_net/beansoft/WindowsLiveWriter/ExtDWRMysqlGrid_D482/image_thumb.png" width="434" height="187" />
				</a>
		</p>
		<p>
				<a href="/images/blogjava_net/beansoft/WindowsLiveWriter/ExtDWRMysqlGrid_D482/image_4.png">
						<img border="0" alt="image" src="http://www.blogjava.net/images/blogjava_net/beansoft/WindowsLiveWriter/ExtDWRMysqlGrid_D482/image_thumb_1.png" width="552" height="172" />
				</a>
		</p>
		<p>这次是真的了, 和数据库同步操作,不过,有安全性问题,建议加密码,一共有20个字段.后台数据库: </p>
		<p>
				<a href="/images/blogjava_net/beansoft/WindowsLiveWriter/ExtDWRMysqlGrid_D482/image_6.png">
						<img border="0" alt="image" src="http://www.blogjava.net/images/blogjava_net/beansoft/WindowsLiveWriter/ExtDWRMysqlGrid_D482/image_thumb_2.png" width="640" height="96" />
				</a>
		</p>
		<p>
				<a href="/images/blogjava_net/beansoft/WindowsLiveWriter/ExtDWRMysqlGrid_D482/image_8.png">
						<img border="0" alt="image" src="http://www.blogjava.net/images/blogjava_net/beansoft/WindowsLiveWriter/ExtDWRMysqlGrid_D482/image_thumb_3.png" width="562" height="209" />
				</a>
		</p>
		<p>
		</p>
		<h3>
				<strong>Ext + DWR + Mysql 简单例子</strong>
		</h3>
		<p>包括5个例子:<br />EXT 2 和 DWR 1 表格编辑控件示例(无数据库版本)<br />EXT 2 表格编辑控件示例(静态页面，Java和DWR无关版本)<br />Netbeans 6 开放文档团队在线通讯录(Ext + DWR + MySQL)<br />DWR 检查注册用户名是否存在<br />模拟DWR 引擎通过反射调用类中方法并获取返回值 </p>
		<p>要运行此例子,请先<br />1. 运行 table.sql 在 Mysql 中建表;<br />2. 修改 src/dao/UserManagerNB.java 的 <br />    public static Connection getConnection() 方法, 来连接到<br />    正确的数据库地址.<br />3. 发布项目并键入地址 <a href="http://localhost:8080/extdwrgrid/">http://localhost:8080/extdwrgrid/</a> 访问;<br />4. 要修改例子, 注意绝大多数页面都是 UTF-8 编码的, 例如 .js 文件. </p>
		<p>附件:<br />DWR通过AJAX后台POST调用参数,然后使用反射技术调用类的方法并获得结果. </p>
		<p>后台发送的AJAX请求:<br />POST dwr/exec/JUserManager.checkUserExits.dwr HTTP/1.1<br />Accept: */*<br />Accept-Language: zh-cn<br />Referer: <a href="http://192.168.1.200:8000/ajaxreview/ajax_reg_dwr.html">http://192.168.1.200:8000/ajaxreview/ajax_reg_dwr.html</a><br />Content-Type: text/plain<br />Accept-Encoding: gzip, deflate<br />User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)<br />Host: 192.168.1.200:8000<br />Content-Length: 146<br />Connection: Keep-Alive<br />Cache-Control: no-cache<br />Cookie: JSESSIONID=F0D84EF983957A66162555D3AB966A29 </p>
		<p>callCount=1<br />c0-scriptName=JUserManager // 类<br />c0-methodName=checkUserExits// 方法名<br />c0-id=358_1212542593797<br />c0-param0=string:%E6%B8%A9%E5%AE%B6%E5%AE%9D // 编码过的参数值<br />xml=true </p>
		<p>后台返回的值:<br />头部<br />HTTP/1.1 200 OK<br />Server: Apache-Coyote/1.1<br />Content-Type: text/plain;charset=ISO-8859-1<br />Transfer-Encoding: chunked<br />Date: Wed, 04 Jun 2008 01:23:14 GMT </p>
		<p>正文(responseText)是方法的执行结果<br />var s0="\u5BF9\u4E0D\u8D77, \u6B64\u7528\u6237\u540D\u4E0D\u5141\u8BB8\u6CE8\u518C";<br />DWREngine._handleResponse('358_1212542593797', s0); </p>
		<p>BeanSoft@126.com (刘长炯)<br />http://beansoft.blogjava.net/</p>
<img src ="http://www.blogjava.net/beansoft/aggbug/206334.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/beansoft/" target="_blank">BeanSoft</a> 2008-06-06 15:19 <a href="http://www.blogjava.net/beansoft/archive/2008/06/06/206334.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转载：[原创/整理]首次发布DWR中文文档.PDF </title><link>http://www.blogjava.net/beansoft/archive/2008/04/25/196033.html</link><dc:creator>BeanSoft</dc:creator><author>BeanSoft</author><pubDate>Fri, 25 Apr 2008 10:02:00 GMT</pubDate><guid>http://www.blogjava.net/beansoft/archive/2008/04/25/196033.html</guid><wfw:comment>http://www.blogjava.net/beansoft/comments/196033.html</wfw:comment><comments>http://www.blogjava.net/beansoft/archive/2008/04/25/196033.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.blogjava.net/beansoft/comments/commentRss/196033.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/beansoft/services/trackbacks/196033.html</trackback:ping><description><![CDATA[
		<a id="viewpost1_TitleUrl" href="/jorwen/archive/2007/02/08/98857.html">
				<font color="#000080">[原创/整理]首次发布DWR中文文档.PDF</font>
		</a>
		<br />
		<br />v0.9 <a title="点击下载" href="/Files/jorwen/DWR中文文档v0.9.rar"><font color="#ff0000">点击下载</font></a><br /><br />有些错别字，我会在以后版本更正<br /><a href="/jorwen/archive/2007/02/08/98857.html">http://www.blogjava.net/jorwen/archive/2007/02/08/98857.html</a><img src ="http://www.blogjava.net/beansoft/aggbug/196033.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/beansoft/" target="_blank">BeanSoft</a> 2008-04-25 18:02 <a href="http://www.blogjava.net/beansoft/archive/2008/04/25/196033.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>推荐Ext的教程：ExtJS2.0实用简明教程</title><link>http://www.blogjava.net/beansoft/archive/2008/04/13/192514.html</link><dc:creator>BeanSoft</dc:creator><author>BeanSoft</author><pubDate>Sun, 13 Apr 2008 02:03:00 GMT</pubDate><guid>http://www.blogjava.net/beansoft/archive/2008/04/13/192514.html</guid><wfw:comment>http://www.blogjava.net/beansoft/comments/192514.html</wfw:comment><comments>http://www.blogjava.net/beansoft/archive/2008/04/13/192514.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/beansoft/comments/commentRss/192514.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/beansoft/services/trackbacks/192514.html</trackback:ping><description><![CDATA[<p>有人询问除了Ext Grid视频教程之外的基础教程，本着不重复发明轮子的原则，特意推荐开源框架EasyJWeb的成员之一冷雨制作的文章，适合入门学习。特此转载，出处：<a title="http://www.easyjf.com/blog/html/20080217/1179671.html" href="http://www.easyjf.com/blog/html/20080217/1179671.html">http://www.easyjf.com/blog/html/20080217/1179671.html</a></p> <h4><a>ExtJS2.0实用简明教程</a></h4><a href="http://www.easyjf.com/blog/html/20080217/1146886.html">序</a><br><a href="http://www.easyjf.com/blog/html/20080217/1146887.html">ExtJS简介</a><br><a href="http://www.easyjf.com/blog/html/20080217/1146888.html">开始ExtJS</a><br><a href="http://www.easyjf.com/blog/html/20080217/1146888.html">获得ExtJS</a><br><a href="http://www.easyjf.com/blog/html/20080217/1146889.html">应用ExtJS</a><br><a href="http://www.easyjf.com/blog/html/20080217/1179648.html">ExtJS版的Hello</a><br><a href="http://www.easyjf.com/blog/html/20080217/1179649.html">Ext框架基础及核心简介</a><br><a href="http://www.easyjf.com/blog/html/20080217/1179649.html">Ext类库简介</a><br><a href="http://www.easyjf.com/blog/html/20080217/1179651.html">ExtJS的组件</a><br><a href="http://www.easyjf.com/blog/html/20080217/1179653.html">组件的使用</a><br><a href="http://www.easyjf.com/blog/html/20080217/1179656.html">组件的配置属性</a><br><a href="http://www.easyjf.com/blog/html/20080217/1179658.html">事件处理</a><br><a href="http://www.easyjf.com/blog/html/20080217/1179661.html">使用面板</a><br><a href="http://www.easyjf.com/blog/html/20080217/1179661.html">Panel</a><br><a href="http://www.easyjf.com/blog/html/20080217/1179662.html">工具栏Toolbar</a><br><a href="http://www.easyjf.com/blog/html/20080217/1179663.html">选项面板TabPanel</a><br><a href="http://www.easyjf.com/blog/html/20080217/1179665.html">视图区ViewPort</a><br><a href="http://www.easyjf.com/blog/html/20080217/1179667.html">窗口Window及对话框MessageBox</a><br><a href="http://www.easyjf.com/blog/html/20080217/1179667.html">窗口基本应用</a><br><a href="http://www.easyjf.com/blog/html/20080217/1179669.html">窗口分组</a><br><a href="http://www.easyjf.com/blog/html/20080217/1179670.html">对话框</a><br><a href="http://www.easyjf.com/blog/html/20080217/1146890.html">布局layout</a><br><a href="http://www.easyjf.com/blog/html/20080217/1146890.html">布局概述</a><br><a href="http://www.easyjf.com/blog/html/20080217/1179650.html">Border区域布局</a><br><a href="http://www.easyjf.com/blog/html/20080217/1179652.html">Column列布局</a><br><a href="http://www.easyjf.com/blog/html/20080217/1179654.html">Fit布局</a><br><a href="http://www.easyjf.com/blog/html/20080217/1179655.html">Form布局</a><br><a href="http://www.easyjf.com/blog/html/20080217/1179657.html">Accordion布局</a><br><a href="http://www.easyjf.com/blog/html/20080217/1179659.html">Card布局</a><br><a href="http://www.easyjf.com/blog/html/20080217/1179660.html">Table布局及其它布局</a><br><a href="http://www.easyjf.com/blog/html/20080217/1179664.html">使用表格控件Grid</a><br><a href="http://www.easyjf.com/blog/html/20080217/1179664.html">基本表格GridPanel</a><br><a href="http://www.easyjf.com/blog/html/20080217/1179666.html">可编辑的表格EditorGridPanel</a><br><a href="http://www.easyjf.com/blog/html/20080217/1179668.html">与服务器交互</a><br><a href="http://www.easyjf.com/blog/html/20080224/1245187.html">数据存储Stroe</a><br><a href="http://www.easyjf.com/blog/html/20080224/1245185.html">Stroe</a><br><a href="http://www.easyjf.com/blog/html/20080224/1245189.html">DataReader</a><br><a href="http://www.easyjf.com/blog/html/20080224/1245188.html">DataProxy与自定义Store</a> <p><a href="http://www.easyjf.com/blog/html/20080224/1245186.html">使用树控件TreePanel</a><br><a href="http://www.easyjf.com/blog/html/20080224/1245186.html">TreePanel基本使用</a><br><a href="http://www.easyjf.com/blog/html/20080224/1245192.html">TreeNode</a><br><a href="http://www.easyjf.com/blog/html/20080224/1245193.html">TreeLoader</a><br><a href="http://www.easyjf.com/blog/html/20080224/1245194.html">自定义TreeLoader</a> <p>使用表单Forms<br>FormPanel基本应用<br>FieldSet<br>基本Field<br>ComboBox<br>DateField<br>TimeField<br>HtmlEditor<br>拖放(DD)<br>拖放的基本应用<br>DD<br>DDTarget<br>实用工具(Util)<br>Ext类<br>Ext.Ajax类<br>Ext.util.Format类<br>Date扩展<br>String扩展<br>Function扩展<br>其它 <img src ="http://www.blogjava.net/beansoft/aggbug/192514.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/beansoft/" target="_blank">BeanSoft</a> 2008-04-13 10:03 <a href="http://www.blogjava.net/beansoft/archive/2008/04/13/192514.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>分享两个小代码：ibatis简单示例和在浏览器中同时选中多文件上传</title><link>http://www.blogjava.net/beansoft/archive/2008/04/02/190341.html</link><dc:creator>BeanSoft</dc:creator><author>BeanSoft</author><pubDate>Wed, 02 Apr 2008 04:55:00 GMT</pubDate><guid>http://www.blogjava.net/beansoft/archive/2008/04/02/190341.html</guid><wfw:comment>http://www.blogjava.net/beansoft/comments/190341.html</wfw:comment><comments>http://www.blogjava.net/beansoft/archive/2008/04/02/190341.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/beansoft/comments/commentRss/190341.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/beansoft/services/trackbacks/190341.html</trackback:ping><description><![CDATA[
		<p>本文代码一概以不担保，免责（也就是不管你遇到任何问题，都与本人无关）的方式提供，内容仅供参考。</p>
		<p>
				<font color="#ff0000">
						<strong>友情提示</strong>
						<strong>: </strong>
						<strong>下载微软网盘文件时关闭下载工具</strong>
						<strong>,  </strong>
						<strong>否则你将得到错误的文件</strong>
						<strong>, </strong>
						<strong>双击</strong>
						<strong>EXE </strong>
						<strong>会出来</strong>
						<strong>DOS </strong>
						<strong>窗口</strong>
						<strong>. </strong>
						<strong>正确操作是点击文件名后能看到显示下载链接和文件大小等信息</strong>
						<strong>.</strong>
				</font>
		</p>
		<p> </p>
		<p>
				<a title="http://cid-519b3f7aa2172030.skydrive.live.com/self.aspx/Public/ibatis/ibatis.zip" href="http://cid-519b3f7aa2172030.skydrive.live.com/self.aspx/Public/ibatis/ibatis.zip">http://cid-519b3f7aa2172030.skydrive.live.com/self.aspx/Public/ibatis/ibatis.zip</a>  IMB 这是个我写的iBATIS的入门单表映射例子，MySQL开发，注释完整，表还是我常用的那个 Student.</p>
		<p>示例文件：</p>
		<p> </p>
		<blockquote>
				<p>&lt;?xml version="1.0" encoding="UTF-8" ?&gt; </p>
				<p>&lt;!DOCTYPE sqlMap      <br />    PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"      <br />    "<a href="http://ibatis.apache.org/dtd/sql-map-2.dtd&quot;" temp_href="http://ibatis.apache.org/dtd/sql-map-2.dtd&quot;">http://ibatis.apache.org/dtd/sql-map-2.dtd"</a>&gt; </p>
				<p>&lt;!-- 此命名空间在配置文件较多时可以起到包的作用，参考 useStatementNamespaces 相关资料 --&gt;<br />&lt;sqlMap namespace="Student"&gt; </p>
				<p>  &lt;!-- 使用类型的别名可以避免在下面的 SQL 映射语句中每次都得使用完整类名称 --&gt;<br />  &lt;typeAlias alias="Student" type="entity.Student"/&gt; </p>
				<p>  &lt;!-- 结果集映射描述了从查询结果的列映射到类属性的方式. 当然这个结果映射配置不是必须的，<br />  如果列名(或者查询结果的列别名）和属性相匹配的话，会进行自动转换. <br />  &lt;resultMap id="StudentResult" class="Student"&gt;<br />    &lt;result property="id" column="USER_ID"/&gt;<br />    &lt;result property="username" column="USER_NAME"/&gt;<br />    &lt;result property="password" column="USER_PASSWORD"/&gt;<br />    &lt;result property="age" column="USER_AGE"/&gt;<br />  &lt;/resultMap&gt;<br />  --&gt; </p>
				<p>  &lt;!-- 不带参数选中数据并将结果映射到 Student（对应类 entity.Student）. --&gt;<br />  &lt;select id="selectAllStudent" resultClass="Student"&gt;<br />    select * from Student<br />  &lt;/select&gt; </p>
				<p>  &lt;!-- 根据ID选择数据并映射到类，带有一个属性名为 id 的参数 --&gt;<br />  &lt;select id="selectStudentById" parameterClass="int" resultClass="Student"&gt;<br />    select<br />      *<br />    from Student<br />    where ID = #id#<br />  &lt;/select&gt;<br />  &lt;!-- 插入数据示例，使用了 Student 类作为参数 --&gt;<br />  &lt;insert id="insertStudent" parameterClass="Student"&gt;<br />    insert into Student (<br />      username,<br />      password,<br />      age )<br />    values (<br />      #username#, #password#, #age#<br />    )<br />  &lt;/insert&gt; </p>
				<p>  &lt;!-- 更新数据示例, 使用了 Student 类作为参数 --&gt;<br />  &lt;update id="updateStudent" parameterClass="Student"&gt;<br />    update Student set<br />      username = #username#,<br />      password = #password#,<br />      age = #age#<br />    where<br />      ID = #id#<br />  &lt;/update&gt; </p>
				<p>  &lt;!-- 删除示例, 使用整数作为参数 --&gt;<br />  &lt;delete id="deleteStudentById" parameterClass="int"&gt;<br />    delete from Student where ID = #id#<br />  &lt;/delete&gt; </p>
				<p>&lt;/sqlMap&gt;</p>
		</blockquote>
		<p> </p>
		<p>另外，做开发时经常有人希望能在浏览器中一次选中多个文件然后上传（注意是在文件打开框里选中多个，不是一次选一个那种），还带上传队列和进度条。不过这个使用HTML自带的File组件是办不到的，可以使用Applet，或者SWF，或者IE插件来实现。有个开源的是FancyUpload，用SWF实现的。大家可以自己去看例子<a title="http://digitarald.de/playground/uplooad.html" href="http://digitarald.de/playground/uplooad.html">http://digitarald.de/playground/uplooad.html</a> 官方站点 <a title="http://digitarald.de/project/fancyupload/" href="http://digitarald.de/project/fancyupload/">http://digitarald.de/project/fancyupload/</a></p>
		<p>JavaEye上有人把完整代码做了个例子提供下载，并写了个说明，参考：<a href="http://www.javaeye.com/topic/144518">http://www.javaeye.com/topic/144518</a> Ajax+Flash多文件上传之FancyUpload的应用，尊重作者，这第二个代码是原作者写的，我只是转载，欢迎阅读原文获得信息。</p>
		<p>
				<a title="http://cid-519b3f7aa2172030.skydrive.live.com/self.aspx/Public/AJAX/fancyupload.rar" href="http://cid-519b3f7aa2172030.skydrive.live.com/self.aspx/Public/AJAX/fancyupload.rar">http://cid-519b3f7aa2172030.skydrive.live.com/self.aspx/Public/AJAX/fancyupload.rar</a> 21KB </p>
		<p>运行效果示例：</p>
		<p>
				<a href="/images/blogjava_net/beansoft/WindowsLiveWriter/ibatis_B4FF/image_8.png">
						<img border="0" alt="image" src="http://www.blogjava.net/images/blogjava_net/beansoft/WindowsLiveWriter/ibatis_B4FF/image_thumb_3.png" width="711" height="168" />
				</a>
		</p>
		<p>
				<a href="/images/blogjava_net/beansoft/WindowsLiveWriter/ibatis_B4FF/image_2.png">
						<img border="0" alt="image" src="http://www.blogjava.net/images/blogjava_net/beansoft/WindowsLiveWriter/ibatis_B4FF/image_thumb.png" width="563" height="420" />
				</a>
		</p>
		<p>附送美女一张（好像是大旗网的）： </p>
		<p>
				<a title="http://image1.daqi.com/pic_search/original/26956/5927cb911989eaf46bd378c75f6b46e7.jpg" href="http://image1.daqi.com/pic_search/original/26956/5927cb911989eaf46bd378c75f6b46e7.jpg">http://image1.daqi.com/pic_search/original/26956/5927cb911989eaf46bd378c75f6b46e7.jpg</a> 点击看大图</p>
		<p>
				<img src="http://image1.daqi.com/pic_search/original/26956/5927cb911989eaf46bd378c75f6b46e7.jpg" width="576" height="768" />
		</p>
<img src ="http://www.blogjava.net/beansoft/aggbug/190341.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/beansoft/" target="_blank">BeanSoft</a> 2008-04-02 12:55 <a href="http://www.blogjava.net/beansoft/archive/2008/04/02/190341.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>翻译: MyEclipse AJAX 调试教程(含官方视频)</title><link>http://www.blogjava.net/beansoft/archive/2007/11/22/162498.html</link><dc:creator>BeanSoft</dc:creator><author>BeanSoft</author><pubDate>Thu, 22 Nov 2007 15:52:00 GMT</pubDate><guid>http://www.blogjava.net/beansoft/archive/2007/11/22/162498.html</guid><wfw:comment>http://www.blogjava.net/beansoft/comments/162498.html</wfw:comment><comments>http://www.blogjava.net/beansoft/archive/2007/11/22/162498.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/beansoft/comments/commentRss/162498.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/beansoft/services/trackbacks/162498.html</trackback:ping><description><![CDATA[<p>这是 MyEclipse 帮助文档中的内容的翻译, 点击菜单 Help -&gt; Contents 可以看到 MyEclipse 的全部英文帮助文档.</p> <p>在线阅读(完整内容含 Flash 动画): <a href="http://beansoft.java-cn.org/myeclipse_doc_cn/ajaxtutorial/">http://beansoft.java-cn.org/myeclipse_doc_cn/ajaxtutorial/</a> </p> <p>下载: <a href="http://cid-519b3f7aa2172030.skydrive.live.com/self.aspx/Public/MyEclipse中文文档/ajaxtutorial.zip">http://cid-519b3f7aa2172030.skydrive.live.com/self.aspx/Public/MyEclipse中文文档/ajaxtutorial.zip</a> 1.53 MB&nbsp; </p> <h3><strong><font color="#ff0000">友情提示: 下载微软网盘文件时关闭下载工具,&nbsp; 否则你将得到错误的文件, 双击 EXE 会出来 DOS 窗口. 正确操作是点击文件名后能看到显示下载链接和文件大小等信息.</font> </strong></h3> <p>翻译: 刘长炯 <a href="mailto:BeanSoft@126.com">BeanSoft@126.com</a><br>Blog: <a href="http://www.blogjava.net/beansoft/">http://www.blogjava.net/beansoft/</a><br>日期: 2007-11-22<br>声明: 中文文字版权归 刘长炯 所有, 原文及相关的图片等资源的版权归原作者 Genuitec L.L.C 公司所有.  <h3>目录</h3> <ol> <li>简介 <li>建议的听众 <li>系统需求 <li>AJAX Debugging <li>小结 <li>常见问题 FAQ <li>资源 <li>反馈</li></ol> <p>&nbsp;</p> <p>本人原创 MyEclipse 6 帮助文档中文版集中下载  <p><a title="http://cid-519b3f7aa2172030.skydrive.live.com/browse.aspx/Public/MyEclipse中文文档" href="http://cid-519b3f7aa2172030.skydrive.live.com/browse.aspx/Public/MyEclipse中文文档">http://cid-519b3f7aa2172030.skydrive.live.com/browse.aspx/Public/MyEclipse中文文档</a></p><img src ="http://www.blogjava.net/beansoft/aggbug/162498.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/beansoft/" target="_blank">BeanSoft</a> 2007-11-22 23:52 <a href="http://www.blogjava.net/beansoft/archive/2007/11/22/162498.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>BeanSoft 的 AJAX 视频, 电子书集中下载</title><link>http://www.blogjava.net/beansoft/archive/2007/11/05/158174.html</link><dc:creator>BeanSoft</dc:creator><author>BeanSoft</author><pubDate>Mon, 05 Nov 2007 01:30:00 GMT</pubDate><guid>http://www.blogjava.net/beansoft/archive/2007/11/05/158174.html</guid><wfw:comment>http://www.blogjava.net/beansoft/comments/158174.html</wfw:comment><comments>http://www.blogjava.net/beansoft/archive/2007/11/05/158174.html#Feedback</comments><slash:comments>16</slash:comments><wfw:commentRss>http://www.blogjava.net/beansoft/comments/commentRss/158174.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/beansoft/services/trackbacks/158174.html</trackback:ping><description><![CDATA[
		<p>BeanSoft 的 AJAX 视频, 电子书集中下载</p>
		<p>陆续上传中, 请关注:</p>
		<p>
				<a title="http://cid-519b3f7aa2172030.skydrive.live.com/browse.aspx/Public/AJAX" href="http://cid-519b3f7aa2172030.skydrive.live.com/browse.aspx/Public/AJAX">
						<strike>http://cid-519b3f7aa2172030.skydrive.live.com/browse.aspx/Public/AJAX</strike>
				</a>
				<br />
				<br />
				<a href="ftp://beansoftdown:1234@219.141.70.147/">ftp://beansoftdown:1234@219.141.70.147/</a>AJAX</p>
<img src ="http://www.blogjava.net/beansoft/aggbug/158174.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/beansoft/" target="_blank">BeanSoft</a> 2007-11-05 09:30 <a href="http://www.blogjava.net/beansoft/archive/2007/11/05/158174.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>改进后的第一次访问弹出欢迎仿MSN通知的代码</title><link>http://www.blogjava.net/beansoft/archive/2007/10/26/156062.html</link><dc:creator>BeanSoft</dc:creator><author>BeanSoft</author><pubDate>Fri, 26 Oct 2007 03:06:00 GMT</pubDate><guid>http://www.blogjava.net/beansoft/archive/2007/10/26/156062.html</guid><wfw:comment>http://www.blogjava.net/beansoft/comments/156062.html</wfw:comment><comments>http://www.blogjava.net/beansoft/archive/2007/10/26/156062.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/beansoft/comments/commentRss/156062.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/beansoft/services/trackbacks/156062.html</trackback:ping><description><![CDATA[<div>每次访问都弹出有点太扰民了, 而且导致鼠标滚轮不可用. 现在改成访问时只在第一次弹出一次. 用 cookie 做判断.</div> <div><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">&lt;SCRIPT&gt;
<span style="color: #0000ff">function</span> WebFXCookie() {
    <span style="color: #0000ff">if</span> (document.cookie.length) { <span style="color: #0000ff">this</span>.cookies = <span style="color: #006080">' '</span> + document.cookie; }
}

WebFXCookie.prototype.setCookie = <span style="color: #0000ff">function</span> (key, value) {
    document.cookie = key + <span style="color: #006080">"="</span> + escape(value);
}

WebFXCookie.prototype.getCookie = <span style="color: #0000ff">function</span> (key) {
    <span style="color: #0000ff">if</span> (<span style="color: #0000ff">this</span>.cookies) {
        <span style="color: #0000ff">var</span> start = <span style="color: #0000ff">this</span>.cookies.indexOf(<span style="color: #006080">' '</span> + key + <span style="color: #006080">'='</span>);
        <span style="color: #0000ff">if</span> (start == -1) { <span style="color: #0000ff">return</span> <span style="color: #0000ff">null</span>; }
        <span style="color: #0000ff">var</span> end = <span style="color: #0000ff">this</span>.cookies.indexOf(<span style="color: #006080">";"</span>, start);
        <span style="color: #0000ff">if</span> (end == -1) { end = <span style="color: #0000ff">this</span>.cookies.length; }
        end -= start;
        <span style="color: #0000ff">var</span> cookie = <span style="color: #0000ff">this</span>.cookies.substr(start,end);
        <span style="color: #0000ff">return</span> unescape(cookie.substr(cookie.indexOf(<span style="color: #006080">'='</span>) + 1, cookie.length - cookie.indexOf(<span style="color: #006080">'='</span>) + 1));
    }
    <span style="color: #0000ff">else</span> { <span style="color: #0000ff">return</span> <span style="color: #0000ff">null</span>; }
}
<span style="color: #0000ff">var</span> webFXCookie = <span style="color: #0000ff">new</span> WebFXCookie();
webFXCookie.setCookie(<span style="color: #006080">"popupViewed"</span>, <span style="color: #006080">"yes"</span>);

<span style="color: #0000ff">if</span>(webFXCookie.getCookie(<span style="color: #006080">"popupViewed"</span>)  != <span style="color: #006080">"yes"</span>) {

      <span style="color: #0000ff">var</span> oPopup;
      <span style="color: #0000ff">try</span> {
      oPopup = window.createPopup();
      } <span style="color: #0000ff">catch</span>(e) {
      window.status=<span style="color: #006080">'弹出通知消息仅能用于 IE 下!'</span>;
      }

      <span style="color: #0000ff">var</span> popTop=10;
      <span style="color: #0000ff">var</span> mytime;

      <span style="color: #0000ff">function</span> popmsg(msgstr){
      <span style="color: #0000ff">if</span>(!oPopup) {
        <span style="color: #0000ff">return</span>;
      }
      oPopup.document.body.innerHTML = msgstr;
      popshow();
      }

      <span style="color: #0000ff">function</span> popshow(){
      <span style="color: #008000">//window.status=popTop;</span>
      <span style="color: #0000ff">if</span>(popTop &gt; 1720){
      clearTimeout(mytime);
      oPopup.hide();
      <span style="color: #0000ff">return</span>;
      } <span style="color: #0000ff">else</span> <span style="color: #0000ff">if</span>(popTop&gt;=1720 - 108 &amp;&amp; popTop&lt;= 1720){
        oPopup.show(screen.width-200,screen.height, 193, 1720 - popTop);
      }<span style="color: #0000ff">else</span> <span style="color: #0000ff">if</span>(popTop&gt;=1500 &amp;&amp;popTop&lt; 1720 - 108){
      oPopup.show(screen.width-200, screen.height - 220  + (popTop - 1500), 193, 108);
      } <span style="color: #0000ff">else</span> <span style="color: #0000ff">if</span>(popTop&lt;=108){
      oPopup.show(screen.width-200, screen.height, 193, popTop);
      } 
      <span style="color: #0000ff">else</span> <span style="color: #0000ff">if</span>(popTop&lt;=220){
      oPopup.show(screen.width-200, screen.height-popTop, 193, 108);
      }<span style="color: #0000ff">else</span> {
        <span style="color: #008000">//window.status=popTop + "  else";</span>
        oPopup.show(screen.width-200, screen.height-220, 193, 108);
        <span style="color: #008000">//oPopup.parent.focus():</span>
      }

      popTop += 10;
      mytime=setTimeout(<span style="color: #006080">"popshow();"</span>, 40);
      }

      <span style="color: #0000ff">function</span> hidePop() {
        clearTimeout(mytime);
        oPopup.hide();
      }

      popmsg(<span style="color: #006080">"&lt;div  onclick='window.parent.hidePop()' title='点击隐藏' style='cursor:pointer; background-image: url(http://www.blogjava.net/images/blogjava_net/beansoft/18269/o_qqbg.gif); width:193; height:108; color:white; padding-top:1em; padding-left:5; font-size:11pt; color:white' &gt;&lt;center&gt;&lt;b&gt;BlogJava 系统通知&lt;br&gt;&lt;br&gt;请留言或者捐款支持 BeanSoft 的 Java EE 学习视频!! &lt;/b&gt;&lt;/center&gt;&lt;/div&gt;"</span>);

}

&lt;/SCRIPT&gt;</pre></div>
<div>&nbsp;</div>
<div>&nbsp;</div><img src ="http://www.blogjava.net/beansoft/aggbug/156062.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/beansoft/" target="_blank">BeanSoft</a> 2007-10-26 11:06 <a href="http://www.blogjava.net/beansoft/archive/2007/10/26/156062.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>页面外仿 MSN 弹出提示信息的脚本改进版(仅能在IE下运行!) + 页面内完美仿MSN右下角弹出广告附带关闭按钮(支持多种浏览器)</title><link>http://www.blogjava.net/beansoft/archive/2007/10/18/154020.html</link><dc:creator>BeanSoft</dc:creator><author>BeanSoft</author><pubDate>Thu, 18 Oct 2007 15:03:00 GMT</pubDate><guid>http://www.blogjava.net/beansoft/archive/2007/10/18/154020.html</guid><wfw:comment>http://www.blogjava.net/beansoft/comments/154020.html</wfw:comment><comments>http://www.blogjava.net/beansoft/archive/2007/10/18/154020.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/beansoft/comments/commentRss/154020.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/beansoft/services/trackbacks/154020.html</trackback:ping><description><![CDATA[<p>从网上找的版本呢, 有白边. 今天花时间改进了一下, 效果打开页面的时候你就应该看到了. 如果配合 AJAX 做基于网页版 Outlook 通知的话会有一点点用. 首先感谢最初的原作者(转载的太多了, 找不到了).</p> <p>显示效果:</p> <p><a href="http://www.blogjava.net/images/blogjava_net/beansoft/WindowsLiveWriter/MSNIEMSN_98CA/image_2.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="108" alt="image" src="http://www.blogjava.net/images/blogjava_net/beansoft/WindowsLiveWriter/MSNIEMSN_98CA/image_thumb.png" width="193" border="0"></a> <br>其实有人做的有更好的版本, 参考这里(也是仅支持IE的):<br><a id="viewpost_ascx_TitleUrl" href="http://blog.joycode.com/dotey/archive/2005/01/19/43277.aspx">Web的桌面提醒（Popup）</a> 效果演示: <a href="http://webuc.net/MyProject/Popup/popup.htm"><font color="#223355">http://webuc.net/MyProject/Popup/popup.htm</font></a><br>下载: <a href="http://webuc.net/MyProject/Popup/popup.rar">http://webuc.net/MyProject/Popup/popup.rar</a><br></p> <p><a href="http://www.blogjava.net/images/blogjava_net/beansoft/WindowsLiveWriter/MSNIEMSN_98CA/blogjava_popup_outlook_2.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="75" alt="blogjava_popup_outlook" src="http://www.blogjava.net/images/blogjava_net/beansoft/WindowsLiveWriter/MSNIEMSN_98CA/blogjava_popup_outlook_thumb.png" width="344" border="0"></a> <br><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: #000000">&lt;</span> <span style="color: #000000">SCRIPT</span> <span style="color: #000000">&gt;</span> <span style="color: #000000"><br></span><span style="color: #0000ff">var</span> <span style="color: #000000"> oPopup;<br></span><span style="color: #0000ff">try</span> <span style="color: #000000"> {<br>oPopup </span> <span style="color: #000000">=</span> <span style="color: #000000"> window.createPopup();<br>} </span> <span style="color: #0000ff">catch</span> <span style="color: #000000">(e) {<br>window.status</span> <span style="color: #000000">=</span> <span style="color: #000000">'弹出通知消息仅能用于 IE 下</span> <span style="color: #000000">!</span> <span style="color: #000000">';<br>}<br><br></span><span style="color: #0000ff">var</span> <span style="color: #000000"> popTop</span> <span style="color: #000000">=</span> <span style="color: #000000">10</span> <span style="color: #000000">;<br></span><span style="color: #0000ff">var</span> <span style="color: #000000"> mytime;<br><br></span><span style="color: #0000ff">function</span> <span style="color: #000000"> popmsg(msgstr){<br></span><span style="color: #0000ff">if</span> <span style="color: #000000">(</span> <span style="color: #000000">!</span> <span style="color: #000000">oPopup) {<br>&nbsp; </span> <span style="color: #0000ff">return</span> <span style="color: #000000">;<br>}<br>oPopup.document.body.innerHTML </span> <span style="color: #000000">=</span> <span style="color: #000000"> msgstr;<br>popshow();<br>}<br><br></span><span style="color: #0000ff">function</span> <span style="color: #000000"> popshow(){<br></span><span style="color: #008000">//</span> <span style="color: #008000">window.status=popTop;</span> <span style="color: #008000"><br></span><span style="color: #0000ff">if</span> <span style="color: #000000">(popTop </span> <span style="color: #000000">&gt;</span> <span style="color: #000000">&nbsp;</span> <span style="color: #000000">1720</span> <span style="color: #000000">){<br>clearTimeout(mytime);<br>oPopup.hide();<br></span><span style="color: #0000ff">return</span> <span style="color: #000000">;<br>} </span> <span style="color: #0000ff">else</span> <span style="color: #000000">&nbsp;</span> <span style="color: #0000ff">if</span> <span style="color: #000000">(popTop</span> <span style="color: #000000">&gt;=</span> <span style="color: #000000">1720</span> <span style="color: #000000">&nbsp;</span> <span style="color: #000000">-</span> <span style="color: #000000">&nbsp;</span> <span style="color: #000000">108</span> <span style="color: #000000">&nbsp;</span> <span style="color: #000000">&amp;&amp;</span> <span style="color: #000000"> popTop</span> <span style="color: #000000">&lt;=</span> <span style="color: #000000">&nbsp;</span> <span style="color: #000000">1720</span> <span style="color: #000000">){<br>&nbsp; oPopup.show(screen.width</span> <span style="color: #000000">-</span> <span style="color: #000000">200</span> <span style="color: #000000">,screen.height, </span> <span style="color: #000000">193</span> <span style="color: #000000">, </span> <span style="color: #000000">1720</span> <span style="color: #000000">&nbsp;</span> <span style="color: #000000">-</span> <span style="color: #000000"> popTop);<br>}</span> <span style="color: #0000ff">else</span> <span style="color: #000000">&nbsp;</span> <span style="color: #0000ff">if</span> <span style="color: #000000">(popTop</span> <span style="color: #000000">&gt;=</span> <span style="color: #000000">1500</span> <span style="color: #000000">&nbsp;</span> <span style="color: #000000">&amp;&amp;</span> <span style="color: #000000">popTop</span> <span style="color: #000000">&lt;</span> <span style="color: #000000">&nbsp;</span> <span style="color: #000000">1720</span> <span style="color: #000000">&nbsp;</span> <span style="color: #000000">-</span> <span style="color: #000000">&nbsp;</span> <span style="color: #000000">108</span> <span style="color: #000000">){<br>oPopup.show(screen.width</span> <span style="color: #000000">-</span> <span style="color: #000000">200</span> <span style="color: #000000">, screen.height </span> <span style="color: #000000">-</span> <span style="color: #000000">&nbsp;</span> <span style="color: #000000">220</span> <span style="color: #000000">&nbsp; </span> <span style="color: #000000">+</span> <span style="color: #000000"> (popTop </span> <span style="color: #000000">-</span> <span style="color: #000000">&nbsp;</span> <span style="color: #000000">1500</span> <span style="color: #000000">), </span> <span style="color: #000000">193</span> <span style="color: #000000">, </span> <span style="color: #000000">108</span> <span style="color: #000000">);<br>} </span> <span style="color: #0000ff">else</span> <span style="color: #000000">&nbsp;</span> <span style="color: #0000ff">if</span> <span style="color: #000000">(popTop</span> <span style="color: #000000">&lt;=</span> <span style="color: #000000">108</span> <span style="color: #000000">){<br>oPopup.show(screen.width</span> <span style="color: #000000">-</span> <span style="color: #000000">200</span> <span style="color: #000000">, screen.height, </span> <span style="color: #000000">193</span> <span style="color: #000000">, popTop);<br>} <br></span><span style="color: #0000ff">else</span> <span style="color: #000000">&nbsp;</span> <span style="color: #0000ff">if</span> <span style="color: #000000">(popTop</span> <span style="color: #000000">&lt;=</span> <span style="color: #000000">220</span> <span style="color: #000000">){<br>oPopup.show(screen.width</span> <span style="color: #000000">-</span> <span style="color: #000000">200</span> <span style="color: #000000">, screen.height</span> <span style="color: #000000">-</span> <span style="color: #000000">popTop, </span> <span style="color: #000000">193</span> <span style="color: #000000">, </span> <span style="color: #000000">108</span> <span style="color: #000000">);<br>}</span> <span style="color: #0000ff">else</span> <span style="color: #000000"> {<br>&nbsp; </span> <span style="color: #008000">//</span> <span style="color: #008000">window.status=popTop + "&nbsp; else";</span> <span style="color: #008000"><br></span><span style="color: #000000">&nbsp; oPopup.show(screen.width</span> <span style="color: #000000">-</span> <span style="color: #000000">200</span> <span style="color: #000000">, screen.height</span> <span style="color: #000000">-</span> <span style="color: #000000">220</span> <span style="color: #000000">, </span> <span style="color: #000000">193</span> <span style="color: #000000">, </span> <span style="color: #000000">108</span> <span style="color: #000000">);<br>}<br><br>popTop </span> <span style="color: #000000">+=</span> <span style="color: #000000">&nbsp;</span> <span style="color: #000000">10</span> <span style="color: #000000">;<br>mytime</span> <span style="color: #000000">=</span> <span style="color: #000000">setTimeout(</span> <span style="color: #000000">"</span> <span style="color: #000000">popshow();</span> <span style="color: #000000">"</span> <span style="color: #000000">, </span> <span style="color: #000000">40</span> <span style="color: #000000">);<br>}<br><br></span><span style="color: #0000ff">function</span> <span style="color: #000000"> hidePop() {<br>&nbsp; clearTimeout(mytime);<br>&nbsp; oPopup.hide();<br>}<br><br>popmsg(</span> <span style="color: #000000">"</span> <span style="color: #000000">&lt;div onclick='window.parent.hidePop()' title='点击隐藏' style='cursor:pointer; background-image: url(http://www.blogjava.net/images/blogjava_net/beansoft/18269/o_qqbg.gif); width:193; height:108; color:white; padding-top:1em; padding-left:5; font-size:11pt; color:white' &gt;&lt;center&gt;&lt;b&gt;BlogJava 系统消息&lt;br&gt;&lt;br&gt;请留言或者捐款支持 BeanSoft 的 Java EE 学习视频, 谢谢 !!&lt;/b&gt;&lt;/center&gt;&lt;/div&gt;</span> <span style="color: #000000">"</span> <span style="color: #000000">);<br><br></span><span style="color: #000000">&lt;/</span> <span style="color: #000000">SCRIPT</span> <span style="color: #000000">&gt;</span> </div> <p>&nbsp;</p> <p>最后来一个支持页面内的跨浏览器的:</p> <p><a href="http://www.blogjava.net/images/blogjava_net/beansoft/WindowsLiveWriter/MSNIEMSN_98CA/blogjava_popup_msn_in_2.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="117" alt="blogjava_popup_msn_in" src="http://www.blogjava.net/images/blogjava_net/beansoft/WindowsLiveWriter/MSNIEMSN_98CA/blogjava_popup_msn_in_thumb.png" width="180" border="0"></a> </p> <p>完美仿MSN右下角弹出广告代码并可自动消失,附带关闭按钮.</p> <p>&lt;html&gt;<br>&lt;head&gt;<br>&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312"&gt;<br>&lt;title&gt;先飞电脑技术网&lt;/title&gt;<br>&lt;/head&gt;<br>&lt;Script language="JavaScript"&gt;<br>&lt;!--<br>window.onload = getMsg;<br>window.onresize = resizeDiv;<br>window.onerror = function(){}<br>//短信提示使用(asilas添加)<br>var divTop,divLeft,divWidth,divHeight,docHeight,docWidth,objTimer,i = 0;<br>function getMsg()<br>{<br>&nbsp;&nbsp;&nbsp; try{<br>&nbsp;&nbsp;&nbsp; divTop = parseInt(document.getElementById("eMeng").style.top,10)<br>&nbsp;&nbsp;&nbsp; divLeft = parseInt(document.getElementById("eMeng").style.left,10)<br>&nbsp;&nbsp;&nbsp; divHeight = parseInt(document.getElementById("eMeng").offsetHeight,10)<br>&nbsp;&nbsp;&nbsp; divWidth = parseInt(document.getElementById("eMeng").offsetWidth,10)<br>&nbsp;&nbsp;&nbsp; docWidth = document.body.clientWidth;<br>&nbsp;&nbsp;&nbsp; docHeight = document.body.clientHeight;<br>&nbsp;&nbsp;&nbsp; document.getElementById("eMeng").style.top = parseInt(document.body.scrollTop,10) + docHeight + 10;//&nbsp; divHeight<br>&nbsp;&nbsp;&nbsp; document.getElementById("eMeng").style.left = parseInt(document.body.scrollLeft,10) + docWidth - divWidth<br>&nbsp;&nbsp;&nbsp; document.getElementById("eMeng").style.visibility="visible"<br>&nbsp;&nbsp;&nbsp; objTimer = window.setInterval("moveDiv()",10)<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; catch(e){}<br>}  <p>function resizeDiv()<br>{<br>&nbsp;&nbsp;&nbsp; i+=1<br>&nbsp;&nbsp;&nbsp; if(i&gt;300) closeDiv()&nbsp;&nbsp;&nbsp; //客户想不用自动消失由用户来自己关闭所以屏蔽这句<br>&nbsp;&nbsp;&nbsp; try{<br>&nbsp;&nbsp;&nbsp; divHeight = parseInt(document.getElementById("eMeng").offsetHeight,10)<br>&nbsp;&nbsp;&nbsp; divWidth = parseInt(document.getElementById("eMeng").offsetWidth,10)<br>&nbsp;&nbsp;&nbsp; docWidth = document.body.clientWidth;<br>&nbsp;&nbsp;&nbsp; docHeight = document.body.clientHeight;<br>&nbsp;&nbsp;&nbsp; document.getElementById("eMeng").style.top = docHeight - divHeight + parseInt(document.body.scrollTop,10)<br>&nbsp;&nbsp;&nbsp; document.getElementById("eMeng").style.left = docWidth - divWidth + parseInt(document.body.scrollLeft,10)<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; catch(e){}<br>}  <p>function moveDiv()<br>{<br>&nbsp;&nbsp;&nbsp; try<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; if(parseInt(document.getElementById("eMeng").style.top,10) &lt;= (docHeight - divHeight + parseInt(document.body.scrollTop,10)))<br>&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; window.clearInterval(objTimer)<br>&nbsp;&nbsp;&nbsp; objTimer = window.setInterval("resizeDiv()",1)<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; divTop = parseInt(document.getElementById("eMeng").style.top,10)<br>&nbsp;&nbsp;&nbsp; document.getElementById("eMeng").style.top = divTop - 1<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; catch(e){}<br>}<br>function closeDiv()<br>{<br>&nbsp;&nbsp;&nbsp; document.getElementById('eMeng').style.visibility='hidden';<br>&nbsp;&nbsp;&nbsp; if(objTimer) window.clearInterval(objTimer)<br>}<br>--&gt;<br>&lt;/Script&gt;  <p>&lt;!--温馨提示代码开始--&gt;  <p>&lt;DIV id=eMeng style="BORDER-RIGHT: #455690 1px solid; BORDER-TOP: #a6b4cf 1px solid; Z-INDEX:99999; LEFT: 0px; VISIBILITY: hidden; BORDER-LEFT: #a6b4cf 1px solid; WIDTH: 180px; BORDER-BOTTOM: #455690 1px solid; POSITION: absolute; TOP: 0px; HEIGHT: 116px; BACKGROUND-COLOR: #c9d3f3"&gt;<br>&nbsp;&nbsp;&nbsp; &lt;TABLE style="BORDER-TOP: #ffffff 1px solid; BORDER-LEFT: #ffffff 1px solid" cellSpacing=0 cellPadding=0 width="100%" bgColor=#AFDCF3 border=0&gt;<br>&nbsp;&nbsp;&nbsp; &lt;TBODY&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TR bgColor=#6699cc&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TD style="font-size: 12px; background-image: url('msgTopBg.gif'); color: #0f2c8c" width=30 height=24&gt;&lt;/TD&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TD style="font-weight: normal; font-size: 12px; background-image: url('msgTopBg.gif'); color: #ffffff; padding-left: 4px; padding-top: 4px" vAlign=center width="100%"&gt; 网站温馨提示：&lt;/TD&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TD style="background-image: url('msgTopBg.gif'); padding-right: 2px; padding-top: 2px" vAlign=center align=right width=19&gt;&lt;span title=关闭 style="CURSOR: hand;color:white;font-size:12px;font-weight:bold;margin-right:4px;" onclick=closeDiv() &gt;×&lt;/span&gt;&lt;!--&lt;IMG title=关闭 style="CURSOR: hand" onclick=closeDiv() hspace=3 src="msgClose.jpg"&gt;--&gt;&lt;/TD&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/TR&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TR&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;TD style="background-image: url('<a href="http://pic.tianyaclub.com/images/windty_bg.jpg');">http://pic.tianyaclub.com/images/windty_bg.jpg');</a> padding-right: 1px; padding-bottom: 1px" colSpan=3 height=90&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;DIV style="BORDER-RIGHT: #b9c9ef 1px solid; PADDING-RIGHT: 13px; BORDER-TOP: #728eb8 1px solid; PADDING-LEFT: 13px; FONT-SIZE: 12px; PADDING-BOTTOM: 13px; BORDER-LEFT: #728eb8 1px solid; WIDTH: 100%; COLOR: #1f336b; PADDING-TOP: 18px; BORDER-BOTTOM: #b9c9ef 1px solid; HEIGHT: 100%"&gt;先飞电脑技术网全新改版，免费精品网络资源，你用了吗？&lt;BR&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;DIV align=center style="word-break:break-all"&gt;&lt;!--&lt;a href="<a href="http://pic.tianyaclub.com/default.asp?idWriter=0&amp;Key=0&quot;">http://pic.tianyaclub.com/default.asp?idWriter=0&amp;Key=0"</a> target="_blank"&gt;--&gt;&lt;a href="<a href="http://www.xfbbs.com&quot;">http://www.xfbbs.com"</a> target="_blank"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;font color=#FF0000&gt;进入网站浏览&lt;/font&gt;&lt;/a&gt;&lt;/DIV&gt;  <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/DIV&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/TD&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/TR&gt;<br>&nbsp;&nbsp;&nbsp; &lt;/TBODY&gt;<br>&nbsp;&nbsp;&nbsp; &lt;/TABLE&gt;<br>&lt;/DIV&gt;<br>&lt;!--温馨提示代码结束--&gt;<br>&lt;/html&gt;</p><img src ="http://www.blogjava.net/beansoft/aggbug/154020.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/beansoft/" target="_blank">BeanSoft</a> 2007-10-18 23:03 <a href="http://www.blogjava.net/beansoft/archive/2007/10/18/154020.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>最简单的 AJAX 例子代码(完整注释)</title><link>http://www.blogjava.net/beansoft/archive/2007/10/12/152318.html</link><dc:creator>BeanSoft</dc:creator><author>BeanSoft</author><pubDate>Fri, 12 Oct 2007 05:19:00 GMT</pubDate><guid>http://www.blogjava.net/beansoft/archive/2007/10/12/152318.html</guid><wfw:comment>http://www.blogjava.net/beansoft/comments/152318.html</wfw:comment><comments>http://www.blogjava.net/beansoft/archive/2007/10/12/152318.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/beansoft/comments/commentRss/152318.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/beansoft/services/trackbacks/152318.html</trackback:ping><description><![CDATA[<div><pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none">&lt;input type=<span style="color: #006080">"button"</span> onclick=<span style="color: #006080">"ajaxTest()"</span> <span style="color: #0000ff">value</span>=<span style="color: #006080">"AJAX测试"</span>&gt;

&lt;input type=<span style="color: #006080">"button"</span> onclick=<span style="color: #006080">" document.getElementById('weather').innerHTML='' "</span> <span style="color: #0000ff">value</span>=<span style="color: #006080">"隐藏"</span>&gt;

&lt;script&gt;
<span style="color: #008000">// 1. 初始化 请求 对象</span>
<span style="color: #008000">// Mozilla/Firefox 下的</span>
var xmlhttp = <span style="color: #0000ff">new</span> XMLHttpRequest();
<span style="color: #008000">// IE 下的</span>
<span style="color: #008000">//var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")</span>
<span style="color: #008000">//alert(xmlhttp);</span>

function ajaxTest() {
    <span style="color: #008000">// 指定要打开的页面</span>
    xmlhttp.open(<span style="color: #006080">"GET"</span>, <span style="color: #006080">"staticpage.html"</span>, <span style="color: #0000ff">true</span>);<span style="color: #008000">// HTTP 请求的方式, URL, 是否异步</span>
    <span style="color: #008000">// 指定页面打开完之后要进行的操作.</span>
    xmlhttp.onreadystatechange = mychange;
    <span style="color: #008000">// 开始发起浏览请求, Mozilla 必须加 null</span>
    xmlhttp.send(<span style="color: #0000ff">null</span>);
}

<span style="color: #008000">// 这个函数就是每次状态改变要调用的函数</span>
function mychange() {
    <span style="color: #008000">// 请求已完成</span>
    <span style="color: #0000ff">if</span>(xmlhttp.readyState == 4) {
        <span style="color: #008000">//alert(xmlhttp.readyState);</span>
        alert(xmlhttp.responseText);
        <span style="color: #008000">// 更新对应的 HTML 元素里面显示的内容</span>
    <span style="color: #008000">// 根据 ID 引用页面里面的元素 document.getElementById(元素名)</span>
    document.getElementById(<span style="color: #006080">'weather'</span>).innerHTML = xmlhttp.responseText;
    }
}
&lt;/script&gt;

&lt;div id=<span style="color: #006080">"weather"</span>&gt;&lt;/div&gt;</pre></div><img src ="http://www.blogjava.net/beansoft/aggbug/152318.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/beansoft/" target="_blank">BeanSoft</a> 2007-10-12 13:19 <a href="http://www.blogjava.net/beansoft/archive/2007/10/12/152318.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Instant Source 实时 IE HTML 源码查看(视频讲解)</title><link>http://www.blogjava.net/beansoft/archive/2007/09/24/147645.html</link><dc:creator>BeanSoft</dc:creator><author>BeanSoft</author><pubDate>Sun, 23 Sep 2007 16:07:00 GMT</pubDate><guid>http://www.blogjava.net/beansoft/archive/2007/09/24/147645.html</guid><wfw:comment>http://www.blogjava.net/beansoft/comments/147645.html</wfw:comment><comments>http://www.blogjava.net/beansoft/archive/2007/09/24/147645.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/beansoft/comments/commentRss/147645.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/beansoft/services/trackbacks/147645.html</trackback:ping><description><![CDATA[<p>软件下载请看这里: <a href="http://www.blogjava.net/beansoft/archive/2006/11/23/83065.html">Instant Source 2003 1.44 汉化版</a></p> <p>Instant Source - the first real-time HTML source viewer and editor. <br>测试过的浏览器: IE 5,6,7 <br>这是一个IE浏览器插件，主要功能是实时的查看和修改 HTML 网页上的源代码，当鼠标指向或选择网页的某一部分，即可在下方的窗口中快速看到网页的源代码，这对网页设计相关人员还是相当有用的。而且可以列出当前页面的所有源码(包括引用到的 JS, CSS 文件等)推荐使用！ 例如大家看到 Google 网页的时候, 想拿到他们的所有代码, 或者想看看某个控件的源码, 这时候就非常方便了, 第一个可以通过 "Display Entire Page(current State)"来看到, 第二个可以通过"Display Element Under Cursor"来看到. 同样, 也可以方便的来检测自己写的页面是否达到了预期的目的. <br><a href="http://www.blogjava.net/beansoft/archive/2006/11/23/83065.html">阅读全文</a>  <p>操作讲解视频:  <p><a href="http://download.gro.clinux.org/beansoft/InstantSource.swf">http://download.gro.clinux.org/beansoft/InstantSource.swf</a> &nbsp;1.45 MB <embed pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" src="http://download.gro.clinux.org/beansoft/InstantSource.swf" width="800" height="624" type="application/x-shockwave-flash" quality="high" bgcolor="#FFFFFF"></embed><img src ="http://www.blogjava.net/beansoft/aggbug/147645.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/beansoft/" target="_blank">BeanSoft</a> 2007-09-24 00:07 <a href="http://www.blogjava.net/beansoft/archive/2007/09/24/147645.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>几个比较好的 JavaScript UI 控件</title><link>http://www.blogjava.net/beansoft/archive/2007/09/22/147390.html</link><dc:creator>BeanSoft</dc:creator><author>BeanSoft</author><pubDate>Sat, 22 Sep 2007 05:35:00 GMT</pubDate><guid>http://www.blogjava.net/beansoft/archive/2007/09/22/147390.html</guid><wfw:comment>http://www.blogjava.net/beansoft/comments/147390.html</wfw:comment><comments>http://www.blogjava.net/beansoft/archive/2007/09/22/147390.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/beansoft/comments/commentRss/147390.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/beansoft/services/trackbacks/147390.html</trackback:ping><description><![CDATA[<div><a href="http://scbr.com/docs/products/dhtmlxGrid/">http://scbr.com/docs/products/dhtmlxGrid/</a></div> <div>比较完毕的表格编辑系统, 支持 Editor, Renderer 等, OpenSource.</div> <div>&nbsp;</div> <div><a href="http://www.walterzorn.com/index.htm">http://www.walterzorn.com/index.htm</a></div> <div>JavaScript 向量图.</div> <div>&nbsp;</div> <div><a href="http://webfx.eae.net/">http://webfx.eae.net/</a></div> <div>包括 Tab Pane, Tree, Menu, Table, Tooltip 等众多的 HTML 特效文章和作品下载(含源码).</div><img src ="http://www.blogjava.net/beansoft/aggbug/147390.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/beansoft/" target="_blank">BeanSoft</a> 2007-09-22 13:35 <a href="http://www.blogjava.net/beansoft/archive/2007/09/22/147390.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Custom Alert Demonstration</title><link>http://www.blogjava.net/beansoft/archive/2007/09/22/147365.html</link><dc:creator>BeanSoft</dc:creator><author>BeanSoft</author><pubDate>Sat, 22 Sep 2007 04:22:00 GMT</pubDate><guid>http://www.blogjava.net/beansoft/archive/2007/09/22/147365.html</guid><wfw:comment>http://www.blogjava.net/beansoft/comments/147365.html</wfw:comment><comments>http://www.blogjava.net/beansoft/archive/2007/09/22/147365.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/beansoft/comments/commentRss/147365.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/beansoft/services/trackbacks/147365.html</trackback:ping><description><![CDATA[<div><a href="http://slayeroffice.com/code/custom_alert/">http://slayeroffice.com/code/custom_alert/</a></div> <div> <div> <h1>Custom Alert Demonstration</h1> <p>This is a demonstration of how to over-ride the default <code><font color="#006699" size="3">window.alert</font></code> method of a browser. </p> <p>This was born from the design requirements of a recent project to have non-standard alerts to notify the user of a problem with data they had entered. The trick here was that all products use the same validation scripts, and not all of them fell under this requirement. </p> <p>To modify the validation scripts to expect another argument that would have told it to use a DIV overlay or a standard alert would have proven difficult to implement and maintain. A co-worker (<a href="http://blog.slayeroffice.com/index.php?content=1"><u><font color="#0000ff">Dean</font></u></a>) wondered out loud if it was possible to overload the alert method, and turns out - you can. </p> <p>You can test the alert functionality with the following button. You can also type <code><font color="#006699" size="3">javascript:alert("Hello World");</font></code> from your browsers URL bar to see it work. </p> <p></p> <p>The markup for the above button is:<br><code><font color="#006699" size="3">&lt;input type="button" value = "Test the alert" onclick="alert('This is a custom alert dialog that was created by over-riding the window.alert method.');" /&gt; </font></code></p> <p>Psuedo-modality is achieved by using a 100% wide and 100% tall absolutely positioned DIV element that acts as the parent element of the custom alert. This DIV overlays everything on the page and prevents user interaction with elements other than the custom alert. Note that a 1x1 transparent png image is set as the background-image -- this prevents MSIE from allowing the parent DIV to be "hollow", which would defeat its purpose. </p> <p>Only one alert can exist at a time -- the function will return if it detects the existence of a previous instance of the "modalContainer" parent element. Hitting the "Ok" button will remove the "modalContainer" element from the DOM along with its child elements and hand control of the page back to the user. </p> <p>In browsers that support <code><font color="#006699" size="3">position:fixed</font></code>, meaning all of them except MSIE, the alert will stay with the user as they scroll. Thanks to <a href="http://centricle.com/"><u><font color="#0000ff">Kevin</font></u></a> for the education on that property value. </p> <p>This has been tested and verified to work in MSIE6, Firefox 1.0, Safari and Opera 7.1+. </p> <p><strong>Note:</strong> This is a demonstration <em>only</em>. I am not saying that this is a production worthy alternative to the default behavior of the window.alert method as it does not allow for true modality. I am only showing what is possible - implement at your own risk. Feel free to contact me with any suggestions. </p> <h2>Source:</h2><pre><code>
<font face="Courier New"><span><font color="#008000">// constants to define the title of the alert and button text.</font></span>
</font><font color="#006699">var ALERT_TITLE = "Oops!";
var ALERT_BUTTON_TEXT = "Ok";

</font><font face="Courier New"><span><font color="#008000">// over-ride the alert method only if this a newer browser.</font></span>
<span><font color="#008000">// Older browser will see standard alerts</font></span>
</font><font color="#006699">if(document.getElementById) {
	window.alert = function(txt) {
		createCustomAlert(txt);
	}
}

function createCustomAlert(txt) {
	</font><font face="Courier New"><span><font color="#008000">// shortcut reference to the document object</font></span>
</font><font color="#006699">	d = document;

	</font><font face="Courier New"><span><font color="#008000">// if the modalContainer object already exists in the DOM, bail out.</font></span>
</font><font color="#006699">	if(d.getElementById("modalContainer")) return;

	</font><font face="Courier New"><span><font color="#008000">// create the modalContainer div as a child of the BODY element</font></span>
</font><font color="#006699">	mObj = d.getElementsByTagName("body")[0].appendChild(d.createElement("div"));
	mObj.id = "modalContainer";
	</font><font face="Courier New"><span><font color="#008000"> // make sure its as tall as it needs to be to overlay all the content on the page</font></span>
</font><font color="#006699">	mObj.style.height = document.documentElement.scrollHeight + "px";

	</font><font face="Courier New"><span><font color="#008000">// create the DIV that will be the alert </font></span>
</font><font color="#006699">	alertObj = mObj.appendChild(d.createElement("div"));
	alertObj.id = "alertBox";
	</font><font face="Courier New"><span><font color="#008000">// MSIE doesnt treat position:fixed correctly, so this compensates for positioning the alert</font></span>
</font><font color="#006699">	if(d.all &amp;&amp; !window.opera) alertObj.style.top = document.documentElement.scrollTop + "px";
	</font><font face="Courier New"><span><font color="#008000">// center the alert box</font></span>
</font><font color="#006699">	alertObj.style.left = (d.documentElement.scrollWidth - alertObj.offsetWidth)/2 + "px";

	</font><font face="Courier New"><span><font color="#008000">// create an H1 element as the title bar</font></span>
</font><font color="#006699">	h1 = alertObj.appendChild(d.createElement("h1"));
	h1.appendChild(d.createTextNode(ALERT_TITLE));

	</font><font face="Courier New"><span><font color="#008000">// create a paragraph element to contain the txt argument</font></span>
</font><font color="#006699">	msg = alertObj.appendChild(d.createElement("p"));
	msg.appendChild(d.createTextNode(txt));

	</font><font face="Courier New"><span><font color="#008000">// create an anchor element to use as the confirmation button.</font></span>
</font><font color="#006699">	btn = alertObj.appendChild(d.createElement("a"));
	btn.id = "closeBtn";
	btn.appendChild(d.createTextNode(ALERT_BUTTON_TEXT));
	btn.href = "#";
	</font><font face="Courier New"><span><font color="#008000">// set up the onclick event to remove the alert when the anchor is clicked</font></span>
</font><font color="#006699">	btn.onclick = function() { removeCustomAlert();return false; }

	
}

</font><font face="Courier New"><span><font color="#008000">// removes the custom alert from the DOM</font></span>
<font color="#006699">function removeCustomAlert() {
	document.getElementsByTagName("body")[0].removeChild(document.getElementById("modalContainer"));
}
</font></font></code>
</pre></div>
<div><a href="http://slayeroffice.com/"><img alt="slayeroffice" src="http://slayeroffice.com/gr/office_logo_green.gif"></a> Custom Alert Demonstration<br>version 1.0<br>last revision: 02.02.2005<br><a href="http://slayeroffice.com/?c=/content/contact.html"><font color="#0000ff"><u>steve@slayeroffice.com</u></font></a><br><a href="http://slayeroffice.com/"><u><font color="#0000ff">http://slayeroffice.com</font></u></a> </div></div><img src ="http://www.blogjava.net/beansoft/aggbug/147365.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/beansoft/" target="_blank">BeanSoft</a> 2007-09-22 12:22 <a href="http://www.blogjava.net/beansoft/archive/2007/09/22/147365.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>AJAX In Action Download</title><link>http://www.blogjava.net/beansoft/archive/2007/09/22/147355.html</link><dc:creator>BeanSoft</dc:creator><author>BeanSoft</author><pubDate>Sat, 22 Sep 2007 03:57:00 GMT</pubDate><guid>http://www.blogjava.net/beansoft/archive/2007/09/22/147355.html</guid><wfw:comment>http://www.blogjava.net/beansoft/comments/147355.html</wfw:comment><comments>http://www.blogjava.net/beansoft/archive/2007/09/22/147355.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/beansoft/comments/commentRss/147355.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/beansoft/services/trackbacks/147355.html</trackback:ping><description><![CDATA[<div>A good book as someone said.</div> <div>&nbsp;</div> <div>Here:</div> <div>&nbsp;</div> <div><a href="http://keke.ersha.cn/ftp/linshi/AJAXInAction.pdf">http://keke.ersha.cn/ftp/linshi/AJAXInAction.pdf</a>&nbsp; 9.96MB</div><img src ="http://www.blogjava.net/beansoft/aggbug/147355.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/beansoft/" target="_blank">BeanSoft</a> 2007-09-22 11:57 <a href="http://www.blogjava.net/beansoft/archive/2007/09/22/147355.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSEclipse - 被 Adobe 收购的 Eclipse 下的 JavaScript 编辑工具</title><link>http://www.blogjava.net/beansoft/archive/2007/09/22/147346.html</link><dc:creator>BeanSoft</dc:creator><author>BeanSoft</author><pubDate>Sat, 22 Sep 2007 03:37:00 GMT</pubDate><guid>http://www.blogjava.net/beansoft/archive/2007/09/22/147346.html</guid><wfw:comment>http://www.blogjava.net/beansoft/comments/147346.html</wfw:comment><comments>http://www.blogjava.net/beansoft/archive/2007/09/22/147346.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/beansoft/comments/commentRss/147346.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/beansoft/services/trackbacks/147346.html</trackback:ping><description><![CDATA[<p><a title="http://labs.adobe.com/technologies/jseclipse/" href="http://labs.adobe.com/technologies/jseclipse/">http://labs.adobe.com/technologies/jseclipse/</a></p> <ol> <li><a href="http://labs.adobe.com/">Home</a>  <li><a href="http://labs.adobe.com/technologies/">Technologies</a></li></ol> <h3>JSEclipse</h3> <p><img src="http://labs.adobe.com/technologies/jseclipse/images/jseclipse_557x225.jpg">  <p><strong>Update</strong>: JSEclipse prerelease 2 released on April 2, 2007. <a href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=labs_jseclipse">Get it now</a>.  <p>JSEclipse is a new plugin for the Eclipse environment that helps developers code JavaScript faster and with no errors. With JSEclipse, you can complete a variety of tasks, from editing small sections of code to working with the next big AJAX library or developing plug-ins for a product that embeds JavaScript snippets.  <p>Download and install JSEclipse and improve your JavaScript coding experience with:  <ul> <li>Contextual code completion &amp; shortcuts.  <li>Project outline and quick navigation through function declarations.  <li>Syntax highlighting.  <li>Error reporting.  <li>Customizable code templates to get you started.  <li>Support for popular JavaScript libraries (Dojo, Prototype, Spry, YUI, Qooxdoo).  <li>Support for JavaDoc documentation and multi-line comments.  <li>Adobe Flex Builder 2 compatibility. </li></ul> <h5>Download and Discuss</h5> <ul> <li><a href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=labs_jseclipse"><img height="16" alt="Download" src="http://labs.adobe.com/images/icons/download.gif" width="16">Get the JSEclipse prerelease now</a>  <li><a href="http://www.adobe.com/cfusion/webforums/forum/categories.cfm?forumid=72&amp;catid=629&amp;entercat=y"><img height="16" alt="Download" src="http://labs.adobe.com/images/icons/discussion.gif" width="16">Discuss JSEclipse in the Labs forums</a></li></ul> <p>For visual examples of how code completion, code templates, and JavaScript libraries (Ajax) features in JSEclipse behave, watch the streaming <a href="http://labs.adobe.com/technologies/jseclipse/videos/">demonstration videos</a> hosted on Labs.  <ul> <li><a>Getting Started</a>  <li><a>Community</a>  <li><a>Product Details</a></li></ul> <h4></h4> <p>Follow these steps to get started with the JSEclipse prerelease.  <h5>Prerequisites</h5> <p>In order to install and use JSEclipse, you need the following:  <ul> <li>Hardware requirements: same as for <a href="http://www.eclipse.org/eclipse/development/readme_eclipse_3.2.1.html#TargetOperatingEnvironments">Eclipse SDK</a>.  <li><a href="http://www.eclipse.org/downloads/">The Eclipse SDK version 3.1 or higher</a>  <li><a href="http://java.sun.com/j2se/downloads/index.html">The Java Runtime Environment version&nbsp;1.4</a> or higher  <li>Approximately 2 MB of available disk space. </li></ul> <h5>Installation</h5> <ol> <li><a href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=labs_jseclipse">Download JSEclipse</a>  <li><a href="http://www.interaktonline.com/Documentation/JSEclipse/jseclipse.htm#2000_installing.htm">Read the installation notes</a>  <li>Watch the <a href="http://labs.adobe.com/technologies/jseclipse/videos/">demonstration videos</a> for a tour of the features in JSEclipse.  <li>Check out the <a href="http://www.interaktonline.com/Documentation/JSEclipse/jseclipse.htm">JSEclipse online documentation</a> for a detailed description of the features and installation process.  <li> <p>Join the discussion on the <a href="http://www.adobe.com/cfusion/webforums/forum/categories.cfm?forumid=72&amp;catid=629&amp;entercat=y">JSEclipse forum</a>, where you can ask questions, discuss your experience, and give us your feedback.  <p>Please note that your submission of comments, ideas, feature requests and techniques on this and other Adobe maintained forums, as well as Adobe's right to use such materials, is governed by the <a href="http://labs.adobe.com/misc/terms_of_use.html">Terms of Use</a>.</p></li></ol><img src ="http://www.blogjava.net/beansoft/aggbug/147346.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/beansoft/" target="_blank">BeanSoft</a> 2007-09-22 11:37 <a href="http://www.blogjava.net/beansoft/archive/2007/09/22/147346.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>AJAX Suggest Tutorial</title><link>http://www.blogjava.net/beansoft/archive/2007/09/22/147343.html</link><dc:creator>BeanSoft</dc:creator><author>BeanSoft</author><pubDate>Sat, 22 Sep 2007 03:32:00 GMT</pubDate><guid>http://www.blogjava.net/beansoft/archive/2007/09/22/147343.html</guid><wfw:comment>http://www.blogjava.net/beansoft/comments/147343.html</wfw:comment><comments>http://www.blogjava.net/beansoft/archive/2007/09/22/147343.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/beansoft/comments/commentRss/147343.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/beansoft/services/trackbacks/147343.html</trackback:ping><description><![CDATA[<div><a href="http://www.dynamicajax.com/fr/AJAX_Suggest_Tutorial-271_290_312.html">http://www.dynamicajax.com/fr/AJAX_Suggest_Tutorial-271_290_312.html</a></div><img src ="http://www.blogjava.net/beansoft/aggbug/147343.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/beansoft/" target="_blank">BeanSoft</a> 2007-09-22 11:32 <a href="http://www.blogjava.net/beansoft/archive/2007/09/22/147343.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JSDoc - JavaScript Documentation Tool</title><link>http://www.blogjava.net/beansoft/archive/2007/09/22/147338.html</link><dc:creator>BeanSoft</dc:creator><author>BeanSoft</author><pubDate>Sat, 22 Sep 2007 03:23:00 GMT</pubDate><guid>http://www.blogjava.net/beansoft/archive/2007/09/22/147338.html</guid><wfw:comment>http://www.blogjava.net/beansoft/comments/147338.html</wfw:comment><comments>http://www.blogjava.net/beansoft/archive/2007/09/22/147338.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/beansoft/comments/commentRss/147338.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/beansoft/services/trackbacks/147338.html</trackback:ping><description><![CDATA[<div><a href="http://jsdoc.sourceforge.net/">http://jsdoc.sourceforge.net/</a></div> <div>&nbsp;</div> <div><a><font color="#000000">&nbsp;</font>  <h1>JSDoc <i>- JavaScript Documentation Tool</i></h1></a> <table unselectable="on"> <tbody> <tr> <td> <ul> <li><a href="http://spaces.msn.com/mmm2006-03-03_18.09/#intro"><u><font color="#0000ff">Introduction</font></u></a>  <li><a href="http://spaces.msn.com/mmm2006-03-03_18.09/#install"><u><font color="#0000ff">Installation</font></u></a>  <li><a href="http://spaces.msn.com/mmm2006-03-03_18.09/#usage"><u><font color="#0000ff">Usage</font></u></a>  <li><a href="http://spaces.msn.com/mmm2006-03-03_18.09/#tagref"><u><font color="#0000ff">Tag Reference</font></u></a>  <li><a href="http://spaces.msn.com/mmm2006-03-03_18.09/#faq"><u><font color="#0000ff">Frequently Asked Questions</font></u></a>  <li><a href="http://spaces.msn.com/mmm2006-03-03_18.09/#moreinfo"><u><font color="#0000ff">More Information</font></u></a> </li></ul></td></tr></tbody></table> <table unselectable="on"> <tbody> <tr> <td> <h3><a><font color="#000000">Introduction</font></a></h3></td></tr> <tr> <td> <p><a href="http://sourceforge.net/projects/jsdoc"><u><font color="#800080">JSDoc</font></u></a> is a tool that parses inline documentation in JavaScript source files, and produces an documentation of the JavaScript code. This is typically in the form of HTML (<a href="http://spaces.msn.com/mmm2006-03-03_18.09/example/index.html"><u><font color="#0000ff">example</font></u></a>), but XML and XMI (UML) export are also supported. JSDoc is based on the (very successful) <code>javadoc</code> tool that was created for the same purpose for the Java programming language. </p> <p>JSDoc is primarily intended for libraries of object-oriented JavaScript files, although it also works with procedural code. There is a basic ability to determine inheritance built into the parser, although some more obscure dynamic constructs will not be understood (for example, defining a method to set one class as the superclass of another). </p> <p>Anyone familiar with the <code>javadoc</code> tool will be able to use JSDoc right away; for anyone else it is a very simple matter to get started. JSDoc picks up on comments that are opened with a slash followed by two stars (<code>/**</code>), and closed with the typical star-slash (<code>*/</code>). </p> <div><a href="http://spaces.msn.com/mmm2006-03-03_18.09/#top"><u><font color="#0000ff">Top</font></u></a></div></td></tr></tbody></table> <table unselectable="on"> <tbody> <tr> <td> <h3><a><font color="#000000">Installation</font></a></h3></td></tr> <tr> <td>JSDoc is implemented in Perl, as as such, requires the perl executable. This shouldn't be a problem for Linux/Unix users, but Windows users will probably have to install a perl runtime; <a href="http://www.activeperl.com/"><u><font color="#800080">ActivePerl</font></u></a> is recommended.  <p>JSDoc is distributed as a gzipped tarball, and can be downloaded from the <a href="http://sourceforge.net/projects/jsdoc"><u><font color="#800080">JSDoc project page</font></u></a>. Once you have downloaded JSDoc-x-x.tgz, just unpack it (tar zxf JSDoc-x-x.tgz on Linux/Unix, use WinZip on Windows), and you're ready to go. You can immediately try out JSDoc on the included test.js JavaScript file by going into the JSDoc directory and entering the command <pre>                  perl jsdoc.pl test.js
               </pre>This should output a set of HTML files in a directory called js_docs_out. 
<p>If you get an error message right away that looks something like <pre>                  Can't locate HTML/Template.pm in @INC ......
                </pre>then you will need to install the HTML::Template Perl module. Luckily, this is a very trivial operation thanks to the <a href="http://www.cpan.org/"><u><font color="#0000ff">CPAN</font></u></a>. In a Linux/Unix/POSIX-style operating system, open a terminal and run the following command as root: <pre>                  # perl -MCPAN -e 'install HTML::Template'
               </pre>
<p>If you're running Windows and ActivePerl, open a command prompt window and enter the following command: <pre>                  C:\&gt; ppm
               </pre>This will start the Perl Package Manager; at the PPM prompt, enter the following two commands (PPM&gt; is the PPM prompt): <pre>                  PPM&gt; install HTML-Template
                  PPM&gt; quit
               </pre>
<p>JSDoc <i>should</i> run without problems now. 
<div><a href="http://spaces.msn.com/mmm2006-03-03_18.09/#top"><u><font color="#0000ff">Top</font></u></a></div></td></tr></tbody></table>
<table unselectable="on">
<tbody>
<tr>
<td>
<h3><a><font color="#000000">Usage</font></a></h3></td></tr>
<tr>
<td>
<p>The general idea of JSDoc is to pick up the form and documentation of code. A major part of JSDoc's functionality is based around documentation strings embedded in JavaScript code. The definitive reference to writing documentation strings for Java (with a large amount of carry-over to JSDoc) can be found at the <a href="http://java.sun.com/j2se/javadoc/writingdoccomments/"><u><font color="#0000ff">javadoc reference page</font></u></a>. 
<p>
<p>JSDoc currently supports a subset of javadoc's '@'-prefixed attributes, but the parser is customizable (as explained later). An example JavaScript file (test.js) is included with the JSDoc distribution. Most functionality of JSDoc can be seen within this script file, however for the impatient a small (and incomplete) example of a common usage of JSDoc is shown below </p>
<p><pre>                  <span>
<font face="Courier New" color="#000066">                  /**
                   * Shape is an abstract base class. It is defined simply
                   * to have something to inherit from for geometric 
                   * subclasses
                   * @constructor
                   */</font></span>
                   function Shape(color){
                     this.color = color;
                   }

                   // Bind the Shape_getColor method to the Shape class
                   Shape.prototype.getColor = Shape_getColor;
                   <font face="Courier New"><span><font color="#000066"> 
                   /**
                    * Get the name of the color for this shape
                    * @returns A color string for this shape
                    */</font></span>
                   function Shape_getColor(){
                     return this.color;
                   }
                   </font><font face="Courier New"><span><font color="#000066"> 
                   /**
                    * Circle is a subclass of Shape
                    */</font></span>
                   function Circle(radius){
                     this.radius = radius;
                   }
                   </font><font face="Courier New"><span><font color="#000066"> 
                   /**
                    * A very rough value for pi
                    */</font></span>
                   Circle.PI = 3.14;
                   </font><span>
<font face="Courier New" color="#000066">                   /**
                    * Get the radius of this circle 
                    * @returns The radius of this circle
                    */</font></span>
                   function Circle_getRadius(){
                     return this.radius;
                   }
                  
                   // Circle is a subclass of Shape
                   Circle.prototype = new Shape(null);
               </pre>
<p></p>
<p>One important difference between javadoc and JSDoc is that JSDoc deals with a much more dynamic language that javadoc. For example, in JavaScript there are many different ways to make one class a subclass of another. The JSDoc parser is able to catch some of these methods, but for particularly dynamic scripts the parser will not be able to do it all on its own. For that reason, JSDoc is customizable with a file called .jsdoc_config that resides in the JSDoc install directory. In this configuration file, JSDoc's behaviour can be customized for any kind of '@'-prefixed attribute. Although this configuration file actually contains Perl code, simple customizations can be done by someone with minimal experience with Perl. </p>JSDoc also uses a several non-javadoc '@'-attributes: <code>@constructor</code> and <code>@private</code> are two of the most important ones. As noted above, JavaScript has the capability to be a much more dynamic language than Java. The JSDoc parser can usually find class constructors on it's own, but there are some situations when it needs some additional assistance. For this reason, it is a good practice to always include the <code>@constructor</code> tag in the documentation for a class constructor, as shown below: <pre>                  <span>
<font face="Courier New"><font color="#000066">                  /**
                   * Nothing is a class that represents nothing
                   * </font><span><font color="#ff0000">@constructor</font></span>
<font color="#000066">                   */</font></font></span>
                  function Nothing(){
                     // ... initialization ...
                  }
               </pre>The <code>@private</code> attribute simply displays the marked method as being private. 
<p></p>
<p>To get more information on the use of the jsdoc.pl executable itself, run it with the <code>--help</code> commandline option. </p>
<div><a href="http://spaces.msn.com/mmm2006-03-03_18.09/#top"><u><font color="#0000ff">Top</font></u></a></div></td></tr></tbody></table>
<table unselectable="on">
<tbody>
<tr>
<td>
<h3><a><font color="#000000">Tag Reference</font></a></h3></td></tr>
<tr>
<td>The following is a summary of the supported tags ('@'-attributes) that are supported by JSDoc. For actual examples of the usage of these tags, please see the test.js JavaScript file that is included in the JSDoc distribution. 
<table unselectable="on">
<tbody>
<tr>
<td><code>@param</code></td>
<td>Provide information about a function parameter. A datatype indicator can be added between curly braces with this tag, as follows: <pre>        /**
         * @param {String} paramName This is a string parameter
         */
                        </pre></td></tr>
<tr>
<td><code>@argument</code></td>
<td>Synonym for <code>@param</code> </td></tr>
<tr>
<td><code>@return</code></td>
<td>Provide information about the return value of a function. </td></tr>
<tr>
<td><code>@returns</code></td>
<td>Synonym for <code>@return</code> </td></tr>
<tr>
<td><code>@author</code></td>
<td>Provide information about the author of a JavaScript file or a function. </td></tr>
<tr>
<td><code>@deprecated</code></td>
<td>Signify that a function or class is deprecated, and should not be used if possible. </td></tr>
<tr>
<td><code>@see</code></td>
<td>Link to another class or function that is of importance to the current class or function. This tag can take several forms. 
<p>To link to another method within the same class: <pre>        @see #methodName
                        </pre>
<p>To link to another class: <pre>        @see ClassName
                        </pre>
<p>To link to a specific method of another class: <pre>        @see ClassName#methodName
                        </pre></td></tr>
<tr>
<td><code>@version</code></td>
<td>Show the version number of the current file or class </td></tr>
<tr>
<td><code>@requires</code></td>
<td>Define a dependency upon another class. The syntax for this tag is as follows: <pre>        @requires OtherClassName This is text to be shown
                        </pre></td></tr>
<tr>
<td><code>@throws</code></td>
<td>Show that a method can throw a certain type of exception. The syntax for this tag is: <pre>        @throws ExceptionType This is the label text
                        </pre></td></tr>
<tr>
<td><code>@exception</code></td>
<td>Synonym for <code>@throws</code> </td></tr>
<tr>
<td><code>@link</code></td>
<td>This is a powerful tag that can be used to link to a large number of other pages. It is also the only tag that can be used in the description text of a documentation string before the '@'-tag section. The usage is very similar to that of the <code>@see</code> tag, but the entire tag is wrapped in curly braces. For example: <pre>        /**
         * This utility method is also a member of the {@link String} class, 
         * in the form of the {@link String#utility} method. 
         */
                        </pre></td></tr>
<tr>
<td><code>@fileoverview</code></td>
<td>This is a special-use tag. If the first block of documentation in a file starts with a <code>@fileoverview</code> tag, the rest of the documentation block will be used to provide a file overview in the documentation. </td></tr>
<tr>
<td><code>@class</code></td>
<td>This tag is used in a constructor's documentation block to provide information about the actual class. The included documentation will then not be included in the constructor's documentation. </td></tr>
<tr>
<td><code>@constructor</code></td>
<td>Signify that a function is the constructor for a class. </td></tr>
<tr>
<td><code>@type</code></td>
<td>Show the return type of a function. For example: <pre>        /**
         * This function returns a String.
         * @return The name of the current user
         * @type String
         */
                        </pre></td></tr>
<tr>
<td><code>@extends</code></td>
<td>Used to show that a class is a subclass of another class. JSDoc is often quite good at picking this up on its own, but in some situations this tag is required. </td></tr>
<tr>
<td><code>@private</code></td>
<td>Signify that a function or class is private. Private classes and functions will not be available in the documentation unless JSDoc is run with the <code>--private</code> commandline option. </td></tr>
<tr>
<td><code>@final</code></td>
<td>Flag a value as being a final (constant) value. </td></tr>
<tr>
<td><code>@member</code></td>
<td>Show that a function is a member of a given class: <pre>        /**
         * @member MyClass
         */
 	function SomeFunc(){
	}
                        </pre></td></tr>
<tr>
<td><code>@ignore</code></td>
<td>Tell JSDoc to totally ignore this method. </td></tr>
<tr>
<td><code>@base</code></td>
<td>Force JSDoc to view the current class constructor as a subclass of the class given as the value to this tag: <pre>       /**
        * This is a subclass of Shape
        * @constructor
        * @base Shape
        */
       function Circle(){
           // ...
       }
			</pre></td></tr>
<tr>
<td><code>@exec</code></td>
<td><b><i>Experimental!</i></b><br>Force JSDoc to "execute" this method as part of its preprocessing step, in the same way that class contructors are executed. This can allow attributes to be added to a class from within a function. </td></tr></tbody></table>
<div><a href="http://spaces.msn.com/mmm2006-03-03_18.09/#top"><u><font color="#0000ff">Top</font></u></a></div></td></tr></tbody></table>
<table unselectable="on">
<tbody>
<tr>
<td>
<h3><a><font color="#000000">Frequently Asked Questions</font></a></h3></td></tr>
<tr>
<td>
<ul>
<li><b>I get an error message that says <i>Can't locate HTML/Template.pm in @INC ......</i>. What's going on?</b> 
<p>This means that you don't have the HTML::Template perl module installed. Luckily, it's very easy to remedy this problem; see the Installation section of this page. </p>
<li><b>I've found a bug in JSDoc. What should I do?</b> 
<p>Go to the <a href="http://sourceforge.net/projects/jsdoc"><u><font color="#800080">JSDoc Project Page</font></u></a> and register a bug report. You can also send information about the bug to the <a href="http://sourceforge.net/mail/?group_id=30801"><u><font color="#0000ff">JSDoc-user mailing list</font></u></a>. But just before you do that, please make sure that it's actually a bug that we're talking about, and not just JSDoc acting differently that what you were expecting. </p>
<li><b>JSDoc segfaults! What should I do?</b> 
<p>This is a tough one to answer. JSDoc uses a lot of recursive regular expressions, and sometimes a certain combination of a certain build of perl and a certain JavaScript file will cause perl to segfault while running JSDoc. This problem mostly occurs with binary installations of perl; downloading the most recent source distribution of perl and building it on your own machine seems to solve this problem. </p>
<li><b>I want JSDoc to do <i>X</i>, but it doesn't!</b> 
<p>Well, that's actually not a question, it's more of a statement. However, it is stated quite frequently, so it's not totally out of place here. If you're interested in having a new feature added to JSDoc, you can register a Feature Request at the <a href="http://sourceforge.net/projects/jsdoc"><u><font color="#800080">JSDoc Project Page</font></u></a>. You may also want to consider sending information about your request to the <a href="http://sourceforge.net/mail/?group_id=30801"><u><font color="#0000ff">JSDoc-user mailing list</font></u></a>. </p>
<li><b>Is there a mailing list for JSDoc?</b> 
<p>Okay, I admit that this isn't actually a Frequently Asked Question; it's actually just an attempt to promote the <a href="http://sourceforge.net/mail/?group_id=30801"><u><font color="#0000ff">JSDoc-user mailing list</font></u></a>. </p>
<li><b>I want to help out with JSDoc. Where should I start?</b> 
<p>First of all, help is very welcome! The most welcome kinds of help are context diffs that fix a bug in JSDoc, but pretty much anything that's an attempt at helping out is appreciated. Use the <a href="http://sourceforge.net/mail/?group_id=30801"><u><font color="#0000ff">JSDoc-user mailing list</font></u></a>. </p></li></ul>
<div><a href="http://spaces.msn.com/mmm2006-03-03_18.09/#top"><u><font color="#0000ff">Top</font></u></a></div></td></tr></tbody></table>
<table unselectable="on">
<tbody>
<tr>
<td>
<h3><a><font color="#000000">More Information</font></a></h3></td></tr>
<tr>
<td>
<p>A very complete and informative article (written by Rainer Eschen) on the use of JSDoc can be found at <a href="http://www.webetiser.de/jsdoc"><u><font color="#0000ff">Webetiser</font></u></a>. The article is based on JSDoc 1.5, but is still very relevant. I've been told that the article will be updated in the near future. 
<p>As noted above, the definitive reference for writing Java docstrings can be found at the <a href="http://java.sun.com/j2se/javadoc/writingdoccomments/"><u><font color="#0000ff">javadoc reference page</font></u></a>. Please send comments, bugs, complaints, requests for additional information, and whatever else to the <a href="http://sourceforge.net/mail/?group_id=30801"><u><font color="#0000ff">JSDoc mailing list</font></u></a>. </p>
<div><a href="http://spaces.msn.com/mmm2006-03-03_18.09/#top"><u><font color="#0000ff">Top</font></u></a></div></td></tr></tbody></table><a href="http://sourceforge.net/"><u><font color="#0000ff"><img height="62" alt="SourceForge.net Logo" src="http://sourceforge.net/sflogo.php?group_id=30801&amp;type=7" width="210" border="0"></font></u></a> </div><img src ="http://www.blogjava.net/beansoft/aggbug/147338.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/beansoft/" target="_blank">BeanSoft</a> 2007-09-22 11:23 <a href="http://www.blogjava.net/beansoft/archive/2007/09/22/147338.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>AJAX 入门介绍 - (3) 整合 XML 和 DOM</title><link>http://www.blogjava.net/beansoft/archive/2007/05/23/119461.html</link><dc:creator>BeanSoft</dc:creator><author>BeanSoft</author><pubDate>Wed, 23 May 2007 10:02:00 GMT</pubDate><guid>http://www.blogjava.net/beansoft/archive/2007/05/23/119461.html</guid><wfw:comment>http://www.blogjava.net/beansoft/comments/119461.html</wfw:comment><comments>http://www.blogjava.net/beansoft/archive/2007/05/23/119461.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/beansoft/comments/commentRss/119461.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/beansoft/services/trackbacks/119461.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/beansoft/archive/2007/05/23/119461.html'>阅读全文</a><img src ="http://www.blogjava.net/beansoft/aggbug/119461.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/beansoft/" target="_blank">BeanSoft</a> 2007-05-23 18:02 <a href="http://www.blogjava.net/beansoft/archive/2007/05/23/119461.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>AJAX入门介绍 - (2) GET 和 POST 配合表单</title><link>http://www.blogjava.net/beansoft/archive/2007/05/23/119444.html</link><dc:creator>BeanSoft</dc:creator><author>BeanSoft</author><pubDate>Wed, 23 May 2007 09:11:00 GMT</pubDate><guid>http://www.blogjava.net/beansoft/archive/2007/05/23/119444.html</guid><wfw:comment>http://www.blogjava.net/beansoft/comments/119444.html</wfw:comment><comments>http://www.blogjava.net/beansoft/archive/2007/05/23/119444.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/beansoft/comments/commentRss/119444.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/beansoft/services/trackbacks/119444.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/beansoft/archive/2007/05/23/119444.html'>阅读全文</a><img src ="http://www.blogjava.net/beansoft/aggbug/119444.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/beansoft/" target="_blank">BeanSoft</a> 2007-05-23 17:11 <a href="http://www.blogjava.net/beansoft/archive/2007/05/23/119444.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>AJAX 入门培训 PPT 1.2 版本</title><link>http://www.blogjava.net/beansoft/archive/2007/05/16/117790.html</link><dc:creator>BeanSoft</dc:creator><author>BeanSoft</author><pubDate>Wed, 16 May 2007 03:27:00 GMT</pubDate><guid>http://www.blogjava.net/beansoft/archive/2007/05/16/117790.html</guid><wfw:comment>http://www.blogjava.net/beansoft/comments/117790.html</wfw:comment><comments>http://www.blogjava.net/beansoft/archive/2007/05/16/117790.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/beansoft/comments/commentRss/117790.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/beansoft/services/trackbacks/117790.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/beansoft/archive/2007/05/16/117790.html'>阅读全文</a><img src ="http://www.blogjava.net/beansoft/aggbug/117790.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/beansoft/" target="_blank">BeanSoft</a> 2007-05-16 11:27 <a href="http://www.blogjava.net/beansoft/archive/2007/05/16/117790.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>推荐一些AJAX视频和文章</title><link>http://www.blogjava.net/beansoft/archive/2007/05/14/117350.html</link><dc:creator>BeanSoft</dc:creator><author>BeanSoft</author><pubDate>Mon, 14 May 2007 07:27:00 GMT</pubDate><guid>http://www.blogjava.net/beansoft/archive/2007/05/14/117350.html</guid><wfw:comment>http://www.blogjava.net/beansoft/comments/117350.html</wfw:comment><comments>http://www.blogjava.net/beansoft/archive/2007/05/14/117350.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/beansoft/comments/commentRss/117350.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/beansoft/services/trackbacks/117350.html</trackback:ping><description><![CDATA[<p>&#160;</p>
<h4>多看看别人的观点和思路...</h4>
<p>&nbsp;</p>
<h4>推荐书籍: AJAX 快车道(Google搜索可得)</h4>
<h4><a href="http://www.cnblogs.com/JeffreyZhao/archive/2006/11/07/AJAX_Lesson_01.html">AJAX培训第一讲：AJAX基础</a></h4>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 经过了5个小时的准备，10多个小时的录制和剪辑，我终于将第一次AJAX培训的内容做完了。录一次讲座真的是一件费神费时的事情，我也深切感受到了天轰穿兄录了数十次讲座有多么不容易。这是我第一次录制讲座，所以经验有些不足，而且对着屏幕一个人傻傻地说话总是不如对着观众说话，在语气上也略显单调。虽然我已经极力yy正在为数十人作讲座的情形，但是似乎效果不甚理想。另外不知道是什么原因，录下来的声音总是不像我的原声，听上去也有些沉闷，请大家多多包涵了。如果大家对于讲座的方式上有什么意见或者建议的话，请回复在这里，您的支持能够让我们的工作越做越好。如果大家对于讲座的内容有任何疑问，请在Q &amp; A专用文章里进行提问，当然如果您有其它任何疑问的话，也能在那里提出，我会尽快为您解答。&nbsp;&nbsp;<a href="http://www.cnblogs.com/JeffreyZhao/archive/2006/11/07/AJAX_Lesson_01.html">阅读全文</a>
<p>&nbsp;
<h4><a href="http://www.cnblogs.com/JeffreyZhao/archive/2006/11/27/AJAX_Lesson_02_2.html">AJAX培训第二讲：使用AJAX框架（下）</a></h4>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &#8220;AJAX培训第二讲：使用AJAX框架&#8221;现在拆成了两部分，现在发布是第一部分，探讨了AJAX框架相关内容，并给出了一些最简单的例子。&nbsp;&nbsp;<a href="http://www.cnblogs.com/JeffreyZhao/archive/2006/11/27/AJAX_Lesson_02_2.html">阅读全文</a>
<p>posted @ <a href="http://www.cnblogs.com/JeffreyZhao/archive/2006/11/27/AJAX_Lesson_02_2.html">2006-11-27 02:51</a> Jeffrey Zhao 阅读(3305) | <a href="http://www.cnblogs.com/JeffreyZhao/archive/2006/11/27/AJAX_Lesson_02_2.html#FeedBack">评论 (35)</a> <a href="http://www.cnblogs.com/JeffreyZhao/admin/EditPosts.aspx?postid=573430">编辑</a> | <a></a>
<h4><a href="http://www.cnblogs.com/JeffreyZhao/archive/2006/11/25/AJAX_Lesson_02_1.html">AJAX培训第二讲：使用AJAX框架（上）</a></h4>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &#8220;AJAX培训第二讲：使用AJAX框架&#8221;现在拆成了两部分，现在发布是第一部分，探讨了ASP.NET 2.0中的AJAX能力。而第二部分我还在重新修补和录制，大概会在周一发布。&nbsp;&nbsp;<a href="http://www.cnblogs.com/JeffreyZhao/archive/2006/11/25/AJAX_Lesson_02_1.html">阅读全文</a></p>
<img src ="http://www.blogjava.net/beansoft/aggbug/117350.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/beansoft/" target="_blank">BeanSoft</a> 2007-05-14 15:27 <a href="http://www.blogjava.net/beansoft/archive/2007/05/14/117350.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>QQ 群关于 AJAX 基础的一些讨论</title><link>http://www.blogjava.net/beansoft/archive/2007/05/09/116196.html</link><dc:creator>BeanSoft</dc:creator><author>BeanSoft</author><pubDate>Wed, 09 May 2007 07:17:00 GMT</pubDate><guid>http://www.blogjava.net/beansoft/archive/2007/05/09/116196.html</guid><wfw:comment>http://www.blogjava.net/beansoft/comments/116196.html</wfw:comment><comments>http://www.blogjava.net/beansoft/archive/2007/05/09/116196.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/beansoft/comments/commentRss/116196.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/beansoft/services/trackbacks/116196.html</trackback:ping><description><![CDATA[<p></p> <p>(2007-05-09 09:44:36) αβγ(****)  <p>ajax 中：  <p>var xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");  <p>var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");  <p>var xmlHttp = new XMLHttpRequest();  <p>产生xmlhttp对象的区别是？  <p>(2007-05-09 09:45:46) ziggy_zaggy_(****)  <p>不同的浏览器支持的  <p>(2007-05-09 09:46:00) αβγ(****)  <p>var xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");  <p>var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");  <p>(2007-05-09 09:46:21) ziggy_zaggy_(****)  <p>IE的  <p>(2007-05-09 09:46:39) 穷(****)  <p>这个是针对不同版本的IE  <p>(2007-05-09 09:46:44) αβγ(****)  <p>同是IE 为何两种？  <p>(2007-05-09 09:47:07) ziggy_zaggy_(****)  <p>IE4以前的 ，和IE5  <p>(2007-05-09 09:47:13) 穷(****)  <p>因为这个IE6和IE4,5支持的XMLHTTP不一样  <p>(2007-05-09 09:47:24) ziggy_zaggy_(****)  <p>不同版本  <p>(2007-05-09 09:47:47) αβγ(****)  <p>Microsoft.XMLHTTP 是ie5？  <p>(2007-05-09 09:48:28) 穷(****)  <p>呀，你管他什么版本干什么  <p>(2007-05-09 09:48:32) ziggy_zaggy_(****)  <p>忘了，记不住了，你Google吧  <p>(2007-05-09 09:48:47) 穷(****)  <p>什么版本不都是一样的吗  <p>(2007-05-09 09:49:12) 穷(****)  <p>吧创建封装成函数要的时候调用不就好了吗  <p>(2007-05-09 09:49:16) 穷(****)  <p>写一个工厂  <p>(2007-05-09 09:49:44) αβγ(****)  <p>穷(****) 09:48:47  <p>什么版本不都是一样的吗  <p>(2007-05-09 09:49:46) αβγ(****)  <p>是这样？  <p>(2007-05-09 09:50:10) 穷(****)  <p>汗，你没听懂我的话  <p>(2007-05-09 09:52:07) αβγ(****)  <p>我的意思是 ie 5是否调用这个  <p>(2007-05-09 09:52:17) 穷(****)  <p>忘记了  <p>(2007-05-09 09:52:21) αβγ(****)  <p>穷(****) 09:48:28  <p>呀，你管他什么版本干什么  <p>(2007-05-09 09:52:25) 穷(****)  <p>我就记得有4个的啊  <p>(2007-05-09 10:20:28) αβγ(****)  <p>xmlHttp.status == 200  <p>是什么含义？  <p>(2007-05-09 10:20:50) TiGERTiAN(****)  <p>浏览器正确返回  <p>(2007-05-09 10:21:00) TiGERTiAN(****)  <p>请求正确返回  <p>(2007-05-09 10:23:25) 穷(****)  <p>是啊  <p>(2007-05-09 10:23:26) BeanSoft(****)  <p><a href="http://beansoft.java-cn.org/attach/WebAJAX/AJAX+Follow+Me%282%29.html">http://beansoft.java-cn.org/attach/WebAJAX/AJAX+Follow+Me%282%29.html</a> <p>(2007-05-09 10:23:33) BeanSoft(****)  <p>好多人还不知道 HTTP 是怎么回事呢  <p>(2007-05-09 10:23:42) BeanSoft(****)  <p>这个文档还是我上学时候整理的  <p>(2007-05-09 10:25:04) 穷(****)  <p>αβγ，加我啊  <p>(2007-05-09 10:25:09) 穷(****)  <p>给你点东西看看  <p>(2007-05-09 12:13:35) αβγ(****)  <p>prototype.js  <p>里面封装成这样：  <p>var Ajax = {  <p>getTransport: function() {  <p>return Try.these(  <p>function() {return new XMLHttpRequest()},  <p>function() {return new ActiveXObject('Msxml2.XMLHTTP')},  <p>function() {return new ActiveXObject('Microsoft.XMLHTTP')}  <p>) || false;  <p>},  <p>activeRequestCount: 0  <p>}  <p>(2007-05-09 12:13:57) αβγ(****)  <p>感觉如果自己用的确减少了许多代码量  <p>(2007-05-09 12:15:11) 穷(****)  <p>太好了  <p>(2007-05-09 14:45:32) 穷(****)  <p>1.) String s = String.valueOf(i);  <p>2.) String s = Integer.toString(i);  <p>3.) String s = "" + i;  <p>(2007-05-09 14:45:35) 穷(****)  <p>有区别么  <p>(2007-05-09 14:49:43) hit/kf:<br>(23296996)  <p>i 是什么?  <p>(2007-05-09 14:51:36) 穷(****)  <p>I就是int变量  <p>(2007-05-09 14:55:39) αβγ(****)  <p>&lt;script&gt;  <p>function getHTML()  <p>{  <p>var url = 'server.html';  <p>var pars = 'someParameter=ABC';  <p>var myAjax = new Ajax.Updater('placeholder', url, {method: 'get', parameters: pars});  <p>}  <p>&lt;/script&gt;  <p>&lt;input type=button value=GetHtml onclick="getHTML()"&gt;  <p>&lt;div id="placeholder"&gt;&lt;/div&gt;  <p>(2007-05-09 14:55:58) αβγ(****)  <p>这种写法，实际上和原 get请求方式一样吧  <p>(2007-05-09 14:56:26) αβγ(****)  <p>那我服务器端如何根据请求发送数据呢？  <p>(2007-05-09 14:58:49) TiGERTiAN(****)  <p>参考下文档，有个方法可以获得数据  <p>(2007-05-09 14:59:34) αβγ(****)  <p>也就是说服务端实际上也就是url，对应的页面也要用ajax？  <p>(2007-05-09 15:00:04) TiGERTiAN(****)  <p>对应的页面？  <p>(2007-05-09 15:00:27) αβγ(****)  <p>？  <p>(2007-05-09 15:00:29) TiGERTiAN(****)  <p>服务器端的页面值需要将数据显示出来即可，  <p>(2007-05-09 15:00:37) TiGERTiAN(****)  <p>有客户端去获取显示出来的出去  <p>(2007-05-09 15:00:40) BeanSoft(****)  <p>后台的页面返回的只是HTML而已  <p>(2007-05-09 15:00:44) TiGERTiAN(****)  <p>文本就获得文本  <p>(2007-05-09 15:00:45) TiGERTiAN(****)  <p>恩。。  <p>(2007-05-09 15:00:47) BeanSoft(****)  <p>和原来的写法一致  <p>不需要改动后台  <p>(2007-05-09 15:01:31) αβγ(****)  <p>如果原来是RUQUEST。GET……  <p>都不用改啊  <p>(2007-05-09 15:01:45) BeanSoft(****)  <p>对,传输的过程和原来一样的  <p>(2007-05-09 15:01:49) BeanSoft(****)  <p>都是走HTTP协议  <p>(2007-05-09 15:02:20) αβγ(****)  <p>越来越明白了。。。  <p>(2007-05-09 15:02:26) αβγ(****)  <p>好的。我测试  <p>(2007-05-09 15:02:48) BeanSoft(****)  <p>嗯, AJAX 就是浏览器在后台主动触发一次 HTTP 通信过程  <p>(2007-05-09 15:03:06) BeanSoft(****)  <p>而不是显示白屏然后再发送请求  <p>(2007-05-09 15:03:28) BeanSoft(****)  <p>例如说浏览器有个方法叫 doHttp()  <p>(2007-05-09 15:03:43) αβγ(****)  <p>GOOD 说得太好了。  <p>(2007-05-09 15:04:01) BeanSoft(****)  <p>以前是通过用户点链接触发,同时等待 doHttp() 返回 HTTP 文本  <p>(2007-05-09 15:04:09) BeanSoft(****)  <p>这之前屏幕会死掉  <p>(2007-05-09 15:04:50) BeanSoft(****)  <p>AJAX 呢, 就是不改动前台的显示, 在后台悄悄的调用 doHttp(), 但是回来的文本需要程序员处理了才能显示  <p>(2007-05-09 15:04:54) αβγ(****)  <p>现在返回的东西一般是XML 对吧？ <p>(2007-05-09 15:05:02) BeanSoft(****)  <p>无规定的,都可以  <p>建议吧,还是看看 XmlHttpRequest, 了解了解再用框架, 这样便于理解  <p>(2007-05-09 15:06:34) αβγ(****)  <p>我理解了。简直听君一席话，胜读2天书啊 </p><img src ="http://www.blogjava.net/beansoft/aggbug/116196.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/beansoft/" target="_blank">BeanSoft</a> 2007-05-09 15:17 <a href="http://www.blogjava.net/beansoft/archive/2007/05/09/116196.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>AJAX 入门培训 PPT 及示例代码</title><link>http://www.blogjava.net/beansoft/archive/2007/05/08/115878.html</link><dc:creator>BeanSoft</dc:creator><author>BeanSoft</author><pubDate>Tue, 08 May 2007 02:46:00 GMT</pubDate><guid>http://www.blogjava.net/beansoft/archive/2007/05/08/115878.html</guid><wfw:comment>http://www.blogjava.net/beansoft/comments/115878.html</wfw:comment><comments>http://www.blogjava.net/beansoft/archive/2007/05/08/115878.html#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>http://www.blogjava.net/beansoft/comments/commentRss/115878.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/beansoft/services/trackbacks/115878.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/beansoft/archive/2007/05/08/115878.html'>阅读全文</a><img src ="http://www.blogjava.net/beansoft/aggbug/115878.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/beansoft/" target="_blank">BeanSoft</a> 2007-05-08 10:46 <a href="http://www.blogjava.net/beansoft/archive/2007/05/08/115878.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>QQ 群里关于初学 Java 入门的讨论</title><link>http://www.blogjava.net/beansoft/archive/2007/04/26/113779.html</link><dc:creator>BeanSoft</dc:creator><author>BeanSoft</author><pubDate>Thu, 26 Apr 2007 07:01:00 GMT</pubDate><guid>http://www.blogjava.net/beansoft/archive/2007/04/26/113779.html</guid><wfw:comment>http://www.blogjava.net/beansoft/comments/113779.html</wfw:comment><comments>http://www.blogjava.net/beansoft/archive/2007/04/26/113779.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/beansoft/comments/commentRss/113779.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/beansoft/services/trackbacks/113779.html</trackback:ping><description><![CDATA[<p></p> <p>eval("晓风")(****) 14:37:26<br>培训机构只是给你个学习的机会，主要还是要靠自己的 <br>圣火(****) 14:37:39<br>是要看awt和swing的源码吗 <br>BeanSoft(****) 14:38:06<br>当然不是了...手写几个AWT的例子就行了 <br>偷走的tears(****) 14:38:09<br>BeanSoft(****) 14:38:20<br>建议别用界面设计器 <br>圣火(****) 14:38:22<br>呵呵，那就是自己多看书，多和朋友交流 <br>圣火(****) 14:38:43<br>恩，那就是直接写啦 <br>BeanSoft(****) 14:38:49<br>先用JDK练习,能跑了再上开发工具 <br>BeanSoft(****) 14:39:02<br>要不然做多久也没法理解类路径,类库到底是个什么东西 <br>圣火(****) 14:39:41<br>那就是先用文本文件写代码了阿 <br>BeanSoft(****) 14:39:54<br>一本书,一个JDK,够了 <br>咖啡屋的鼠标(****) 14:40:28<br>Core Java或者 Java编程思想挑一本就好 <br>圣火(****) 14:40:32<br>呵呵，什么书啊， <br>咖啡屋的鼠标(****) 14:40:49<br>CoreJava友称Java核心技术 <br>BeanSoft(****) 14:40:49<br>这是有时间的情况,如果想急着就业那就赶紧装Eclipse,MyEclipse用IDE再看基本框架入门 <br>BeanSoft(****) 14:41:21<br>看看网上的 Spring + Hibernate + Struts 简称 SSH 的入门教程, 视频 <br>圣火(****) 14:41:43<br>是不是也要看java api啊 <br>ziggy_zaggy_(****) 14:41:44<br>太难，还是先看看简单点的书，在看Core Java <br>咖啡屋的鼠标(****) 14:41:55<br>嗯Bean，这些话已经可以编个入门指导了 <br>咖啡屋的鼠标(****) 14:42:32<br>可以起名叫：“Java入门解决方案” <br>BeanSoft(****) 14:42:38<br>直接看框架的后果就是有人让你用代码发个邮件你会看半天,或者用代码读写一个配置文件的时候 <br>BeanSoft(****) 14:42:51<br>因为你漏了J2SE的基础类库的部分 <br>BeanSoft(****) 14:43:55<br>框架基本上用IDE就能用,至于平时写的最多的,就是这些基础的业务逻辑代码 <br>ziggy_zaggy_(****) 14:44:07<br>要是你急得话，还是早点上手学框架 <br>BeanSoft(****) 14:44:30<br>恩,分情况了.就跟java培训,又就业班和长期培训班 <br>咖啡屋的鼠标(****) 14:44:49<br>长期那些没看出有啥效果 <br>圣火(****) 14:45:18<br>我不急啊，呵呵，我现在想好好学习java可是不知道怎么入手 <br>咖啡屋的鼠标(****) 14:45:23<br>认识了几个人，感觉很糟糕，他们太按部就班了，没有自己的计划 <br>圣火(****) 14:45:40<br>呵呵，要有什么计划阿 <br>BeanSoft(****) 14:45:42<br>学JDK+AWT吧 <br>咖啡屋的鼠标(****) 14:45:47<br>狗熊掰棒子，一边学一边忘 <br>圣火(****) 14:46:25<br>我看api的时候，边看就把那么多的方法给忘了 <br>BeanSoft(****) 14:46:41<br>自己多做练习,给自己出点实际的考题 <br>圣火(****) 14:46:44<br>到时候也不知道用什么方法和类 <br>咖啡屋的鼠标(****) 14:46:49<br>第一个计划是做一个东西用，不管多简单 <br>BeanSoft(****) 14:46:54<br>像我当时就是做了个记事本 <br>BeanSoft(****) 14:47:05<br>AWT+IO操作,就熟悉了 <br>咖啡屋的鼠标(****) 14:47:10<br>然后加功能 <br>BeanSoft(****) 14:47:16<br>一定要自己亲自写 <br>BeanSoft(****) 14:47:26<br>不要下个demo改改,那样没用 <br>咖啡屋的鼠标(****) 14:47:33<br>接着可以考虑学设计模式和更多的api了 <br>偷走的tears(****) 14:47:47<br>Bean怎么写，我还没动手过 <br>偷走的tears(****) 14:47:57<br>包括VB的和C的我都没写过 <br>BeanSoft(****) 14:48:08<br>?写啥?记事本啊? <br>偷走的tears(****) 14:48:13<br>ys <br>偷走的tears(****) 14:48:19<br>demo <br>BeanSoft(****) 14:48:18<br>我貌似看个语言都要学写记事本 <br>BeanSoft(****) 14:48:29<br>当时还用 C++ Builder 写了个 <br>偷走的tears(****) 14:48:35<br>我就写的Hello Work <br>BeanSoft(****) 14:48:42<br>这样很快就能明白很多东西 <br>BeanSoft(****) 14:48:54<br>那个没用 <br>圣火(****) 14:48:58<br>呵呵，大学四年了，我马上毕业了，可是什么实际经验都没有啊，哎，以前真是荒废了 <br>咖啡屋的鼠标(****) 14:49:04<br>先画 <br>BeanSoft(****) 14:49:24<br>恩,用界面设计器画 <br>BeanSoft(****) 14:49:48<br><a href="http://www.blogjava.net/beansoft/archive/2007/03/29/107298.html">http://www.blogjava.net/beansoft/archive/2007/03/29/107298.html</a><br>BeanSoft(****) 14:49:52<br>J2SE 基础学习: 都该学习哪些包? <br>BeanSoft(****) 14:50:15<br>学文件读写的时候可以做个练习输入记录,保存到文件,然后再读出来 <br>BeanSoft(****) 14:50:19<br>可以用命令行方式 <br>偷走的tears(****) 14:51:08<br>咖啡屋的鼠标(****) 14:51:23<br>又一个符合我昨天提出的悲剧模型的出现了 <br>BeanSoft(****) 14:51:32<br>???啥悲剧模型? <br>圣火(****) 14:51:38<br>用界面设计器画什么阿 <br>咖啡屋的鼠标(****) 14:51:41<br>按部就班那个 <br>BeanSoft(****) 14:51:57<br>不肯挑战自我,当然提高不乐了 <br>BeanSoft(****) 14:52:15<br>举个最简单的例子,别人能用java做的,咱也要尽量找点简单的实现一下 <br>BeanSoft(****) 14:52:49<br>光吃猪肉不等于知道怎么杀猪 <br>圣火(****) 14:53:41<br>呵呵，是没吃过肥猪肉还没见过肥猪走 <br>BeanSoft(****) 14:54:11<br>综合一点的基础例子(可以不用AWT)貌似也很多了  <p>BeanSoft(****) 14:54:30<br>例如:通过命令行在局域网聊天的小例子 <br>圣火(****) 14:55:16<br>是不是程序基本上就分成了命令行和AWT两种阿 <br>ziggy_zaggy_(****) 14:55:17<br>我的看法，先简单的学学Java基础，有面向对象的基础，然后学作Web，html,JavaScript,手写一些，大概用3周主要是MVC，框架选SSH，或者别的，能做登录，注册一类的模块，有分层的概念，熟悉IoC ,ＤＩ，主要是学习集成Ｓｔｒｕｔｓ，和Ｈｉｂｅｒｎａｔｅ，学会写ＤＡＯ接口，继承ＨｉｂｅｒｎａｔｅＤＡＯＳｕｐｐｏｒｔ，到此在深入理解Ｊａｖａ，理解设计模式，理解ＳＳＨ，学学着写业务逻辑　，当然也要有一定的ＪＤＢＣ基础，<br>当然，学习什么框架还有待商榷 </p><img src ="http://www.blogjava.net/beansoft/aggbug/113779.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/beansoft/" target="_blank">BeanSoft</a> 2007-04-26 15:01 <a href="http://www.blogjava.net/beansoft/archive/2007/04/26/113779.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>最简单的表单验证框架 EasyValidation(转载)</title><link>http://www.blogjava.net/beansoft/archive/2007/04/03/108184.html</link><dc:creator>BeanSoft</dc:creator><author>BeanSoft</author><pubDate>Tue, 03 Apr 2007 05:18:00 GMT</pubDate><guid>http://www.blogjava.net/beansoft/archive/2007/04/03/108184.html</guid><wfw:comment>http://www.blogjava.net/beansoft/comments/108184.html</wfw:comment><comments>http://www.blogjava.net/beansoft/archive/2007/04/03/108184.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/beansoft/comments/commentRss/108184.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/beansoft/services/trackbacks/108184.html</trackback:ping><description><![CDATA[<p>原始出处: <a href="http://wiki.javascud.org/display/si/Javascript_EasyValidation">http://wiki.javascud.org/display/si/Javascript_EasyValidation</a><img alt="" src="http://beansoft.java-cn.org/images/out.png"></p>
<h2 id=section-Javascript_EasyValidation-_E6_9C_80_E7_AE_80_E5_8D_95_E7_9A_84_E8_A1_A8_E5_8D_95_E9_AA_8C_E8_AF_81_E6_A1_86_E6_9E_B6EasyValidation>最简单的表单验证框架 <strong>EasyValidation</strong></h2>
<div class=toc>
<h4>Table of Contents</h4>
<ul>
    <li><a class=wikipage href="http://beansoft.java-cn.org/Wiki.jsp?page=Javascript_EasyValidation#section-Javascript_EasyValidation-_E6_9C_80_E7_AE_80_E5_8D_95_E7_9A_84_E8_A1_A8_E5_8D_95_E9_AA_8C_E8_AF_81_E6_A1_86_E6_9E_B6EasyValidation">最简单的表单验证框架 EasyValidation</a>
    <ul>
        <li><a class=wikipage href="http://beansoft.java-cn.org/Wiki.jsp?page=Javascript_EasyValidation#section-Javascript_EasyValidation-_E4_B8_8B_E8_BD_BD_E4_BB_A3_E7_A0_81_E5_92_8C_E7_A4_BA_E4_BE_8B">下载代码和示例</a> </li>
    </ul>
    <li><a class=wikipage href="http://beansoft.java-cn.org/Wiki.jsp?page=Javascript_EasyValidation#section-Javascript_EasyValidation-_E4_B8_BB_E8_A6_81_E7_89_B9_E5_BE_81">主要特征</a>
    <li><a class=wikipage href="http://beansoft.java-cn.org/Wiki.jsp?page=Javascript_EasyValidation#section-Javascript_EasyValidation-_E6_94_AF_E6_8C_81_E6_B5_8F_E8_A7_88_E5_99_A8">支持浏览器</a>
    <li><a class=wikipage href="http://beansoft.java-cn.org/Wiki.jsp?page=Javascript_EasyValidation#section-Javascript_EasyValidation-Helloworld_E7_A4_BA_E4_BE_8B">helloworld示例</a>
    <ul>
        <li>
        <ul>
            <li><a class=wikipage href="http://beansoft.java-cn.org/Wiki.jsp?page=Javascript_EasyValidation#section-Javascript_EasyValidation-_E9_AA_8C_E8_AF_81_E6_95_88_E6_9E_9C">验证效果</a> </li>
        </ul>
        </li>
    </ul>
    <li><a class=wikipage href="http://beansoft.java-cn.org/Wiki.jsp?page=Javascript_EasyValidation#section-Javascript_EasyValidation-_E6_A3_80_E6_9F_A5_E8_A7_84_E5_88_99">检查规则</a>
    <li><a class=wikipage href="http://beansoft.java-cn.org/Wiki.jsp?page=Javascript_EasyValidation#section-Javascript_EasyValidation-_E7_BC_96_E7_A8_8B_E5_BC_8F_E4_B8_BA_E8_A1_A8_E5_8D_95_E5_A2_9E_E5_8A_A0_E9_AA_8C_E8_AF_81Validation_E9_80_89_E9_A1_B9">编程式为表单增加验证(Validation选项)</a>
    <li><a class=wikipage href="http://beansoft.java-cn.org/Wiki.jsp?page=Javascript_EasyValidation#section-Javascript_EasyValidation-_E6_B7_BB_E5_8A_A0_E8_87_AA_E5_B7_B1_E7_9A_84Validator_E6_B5_8B_E8_AF_95_E5_87_BD_E6_95_B0">添加自己的Validator测试函数</a>
    <li><a class=wikipage href="http://beansoft.java-cn.org/Wiki.jsp?page=Javascript_EasyValidation#section-Javascript_EasyValidation-FAQs">FAQs</a>
    <li><a class=wikipage href="http://beansoft.java-cn.org/Wiki.jsp?page=Javascript_EasyValidation#section-Javascript_EasyValidation-_E5_BC_95_E7_94_A8">引用</a>
    <li><a class=wikipage href="http://beansoft.java-cn.org/Wiki.jsp?page=Javascript_EasyValidation#section-Javascript_EasyValidation-Authors">Authors</a> </li>
</ul>
</div>
原始出处: <a class=external href="http://wiki.javascud.org/display/si/Javascript_EasyValidation">http://wiki.javascud.org/display/si/Javascript_EasyValidation</a><img class=outlink alt="" src="http://beansoft.java-cn.org/images/out.png">
<h3 id=section-Javascript_EasyValidation-_E4_B8_8B_E8_BD_BD_E4_BB_A3_E7_A0_81_E5_92_8C_E7_A4_BA_E4_BE_8B>下载代码和示例</h3>
<a class=attachment href="http://beansoft.java-cn.org/attach/Javascript_EasyValidation/EasyValidation3.0.zip">EasyValidation3.0.zip</a><a href="http://beansoft.java-cn.org/PageInfo.jsp?page=Javascript_EasyValidation/EasyValidation3.0.zip"><img alt=(info) src="http://beansoft.java-cn.org/images/attachment_small.png" border=0></a>
<h2 id=section-Javascript_EasyValidation-_E4_B8_BB_E8_A6_81_E7_89_B9_E5_BE_81>主要特征</h2>
<ul>
    <li>简洁的验证语法
    <li>快速
    <li>无需编写验证提示信息
    <li>支持组合验证
    <li>Ajax支持
    <li>基于prototype.js
    <li>无侵入性
    <li>支持国际化
    <li>易于扩展
    <li>基于标准的Html属性(class)添加验证,易于其它标准的jsp taglib集成 </li>
</ul>
<h2 id=section-Javascript_EasyValidation-_E6_94_AF_E6_8C_81_E6_B5_8F_E8_A7_88_E5_99_A8>支持浏览器</h2>
<ul>
    <li>IE 5.x 以上
    <li>Mozilla 1.4 以上
    <li>FireFox 0.9 以上
    <li>Opera 8.5 测试通过 </li>
</ul>
<h2 id=section-Javascript_EasyValidation-Helloworld_E7_A4_BA_E4_BE_8B>helloworld示例</h2>
<strong>引用文件</strong>
<pre><br>&lt;script src="prototype.js" type="text/javascript"&gt;&lt;/script&gt;<br>&lt;script src="validation_cn.js" type="text/javascript"&gt;&lt;/script&gt;<br>&lt;link rel="stylesheet" type="text/css" href="style_min.css"/&gt;
</pre>
<ul>
    <li>prototype.js是所有的基础
    <li>validation_cn.js真正的验证框架文件
    <li>可以添加style_min.css中的样式声明,也可以把style_min.css中的样式声明引入到你的框架js文件中去. </li>
</ul>
<p><strong>表单验证</strong> </p>
<pre><br>&lt;!-- 为form增加required-validate class,标识需要验证form --&gt;<br>&lt;form id='helloworld' action="#" class='required-validate'&gt;<br>	helloworld:&lt;/br&gt;<br>	&lt;!--通过class添加验证: required表示不能为空,min-length-15表示最小长度为15 --&gt;<br>	&lt;textarea name='content' class='required min-length-15'&gt;&lt;/textarea&gt;&lt;/br&gt;<br>	&lt;input type='submit' value='Submit'/&gt; <br>	&lt;input type='reset' value='Reset'/&gt;<br>&lt;/form&gt;
</pre>
<ul>
    <li>要是某个form中的元素被验证可以这样给声明的form中加一个class='required-validate'的属性,框架会在load是自动绑定所有要验证的域.
    <li>在要检查的域中通过class属性来声明被检查域的限制条件,例如上面的class='required min-length-15'表示这是一个非空,并且最小长度是15的域,在编辑域失去焦点时,会自动检查,如果输入不满足上述条件,则产生错误提示. </li>
</ul>
<h4 id=section-Javascript_EasyValidation-_E9_AA_8C_E8_AF_81_E6_95_88_E6_9E_9C>验证效果</h4>
<img class=inline alt=validation_helloworld.jpg src="http://beansoft.java-cn.org/attach/Javascript_EasyValidation/validation_helloworld.jpg">
<h2 id=section-Javascript_EasyValidation-_E6_A3_80_E6_9F_A5_E8_A7_84_E5_88_99>检查规则</h2>
<table class=wikitable border=1>
    <tbody>
        <tr>
            <th>验证表达式</th>
            <th>描述</th>
            <th>示例</th>
        </tr>
        <tr>
            <td>required </td>
            <td>非空域,全部空格也算空 </td>
            <td><br></td>
        </tr>
        <tr>
            <td>validate-number </td>
            <td>一个有效数 </td>
            <td><br></td>
        </tr>
        <tr>
            <td>validate-digits </td>
            <td>只能包含0-9任意个数字 </td>
            <td><br></td>
        </tr>
        <tr>
            <td>validate-alpha </td>
            <td>只能是字母a-z, A-Z </td>
            <td><br></td>
        </tr>
        <tr>
            <td>validate-alphanum </td>
            <td>只能是字母和数字的组合</td>
            <td><br></td>
        </tr>
        <tr>
            <td>validate-email </td>
            <td>只能是有效的email </td>
            <td><br></td>
        </tr>
        <tr>
            <td>validate-url </td>
            <td>只能是有效的url地址 </td>
            <td><br></td>
        </tr>
        <tr>
            <td>validate-one-required </td>
            <td>至少有一个被选中,例如一组checkbox, radiobutton,它们最好包含在一个div和span中 </td>
            <td><br></td>
        </tr>
        <tr>
            <td>validate-integer </td>
            <td>只能是整数,可以有正负号 </td>
            <td><br></td>
        </tr>
        <tr>
            <td>validate-ip </td>
            <td>有效的IP地址 </td>
            <td><br></td>
        </tr>
        <tr>
            <td>min-length-$number </td>
            <td>最小长度是$number <strong>(</strong><strong>此处$some</strong><strong>表示一个特定的值)</strong></td>
            <td>最小长度为8: min-length-8</td>
        </tr>
        <tr>
            <td>max-length-$number </td>
            <td>最大长度是$number </td>
            <td>最大长度为8: max-length-8</td>
        </tr>
        <tr>
            <td>max-value-$number </td>
            <td>输入域的最大值是$number </td>
            <td>最大值为8.1: max-value-8.1</td>
        </tr>
        <tr>
            <td>min-value-$number </td>
            <td>输入域的最小值是$number </td>
            <td>最大值为-8.1: max-value--8.1</td>
        </tr>
        <tr>
            <td>equals-$otherInputId </td>
            <td>必须和某个input field相等,用于密码两次输入验证 </td>
            <td>equals-password</td>
        </tr>
        <tr>
            <td>less-than-$otherInputId </td>
            <td>小于某个input field less-than-otherInputId,多用于结束日期不能小于开始日期的需求 </td>
            <td><br></td>
        </tr>
        <tr>
            <td>great-than-$otherInputId </td>
            <td>大于某个input field less-than-otherInputId </td>
            <td><br></td>
        </tr>
        <tr>
            <td>validate-date-$dateFormat </td>
            <td>只能是日期,$dateFormat为日期格式,$dateFormat的可选,默认格式为yyyy-MM-DD </td>
            <td>validate-date-yyyy年MM月dd日</td>
        </tr>
        <tr>
            <td>validate-file-$type1-$type2-$typeX </td>
            <td>验证文件输入域选择的文件类型只能为声明的$type1 &#8211; $typeX中的一种 </td>
            <td>validate-file-png-jpeg</td>
        </tr>
        <tr>
            <td>float-range-$minValue-$maxValue </td>
            <td>必须是$minValue到$maxValue的一个浮点数 </td>
            <td>1至20: float-range-1-20</td>
        </tr>
        <tr>
            <td>int-range-$minValue-$maxValue </td>
            <td>必须是$minValue到$maxValue的一个整数 </td>
            <td><br></td>
        </tr>
        <tr>
            <td>length-range-$minLength-$maxLength </td>
            <td>输入字符串的长度必须在$minLength到$maxLength之间 </td>
            <td><br></td>
        </tr>
        <tr>
            <td>validate-pattern-$RegExp </td>
            <td>通过自定义正则表达式$RegExp来验证输入域的正确性</td>
            <td>vaidate-pattern-/a/gi</td>
        </tr>
        <tr>
            <td>validate-ajax-$url </td>
            <td>通过ajax来验证输入域,$url为ajax验证提交的地址,错误提示信息将由服务器端返回.<br>数据示例 &lt;input name="username" value="badqiu"/&gt;,<br>提交数据为:<strong>username</strong>=badqiu&amp;<strong>what</strong>=username&amp;<strong>value</strong>=badqiu<br>what为input的name,value为input的value</td>
            <td>validate-ajax-<a class=external href="http://localhost/valiate-email.jsp">http://localhost/valiate-email.jsp</a><img class=outlink alt="" src="http://beansoft.java-cn.org/images/out.png"></td>
        </tr>
        <tr>
            <td>validate-chinese </td>
            <td>只能是中文(以下为中国的相关验证) </td>
            <td><br></td>
        </tr>
        <tr>
            <td>validate-phone </td>
            <td>有效的电话</td>
            <td><br></td>
        </tr>
        <tr>
            <td>validate-mobile-phone </td>
            <td>有效的手机号 </td>
            <td><br></td>
        </tr>
        <tr>
            <td>validate-id-number</td>
            <td>验证是否有效的身份证号码</td>
            <td><br></td>
        </tr>
        <tr>
            <td>validate-zip</td>
            <td>验证邮政编码</td>
            <td><br></td>
        </tr>
        <tr>
            <td>validate-qq</td>
            <td>验证QQ号码</td>
            <td><br></td>
        </tr>
    </tbody>
</table>
<p>数据示例 </p>
<p>&lt;input name="username" value="badqiu"/&gt;,提交数据为:<strong>username</strong>=badqiu&amp;<strong>what</strong>=username&amp;<strong>value</strong>=badqiu<br>what为input的name,value为input的valuevalidate-ajax-<a class=external href="http://localhost/valiate-email.jsp">http://localhost/valiate-email.jsp</a><img class=outlink alt="" src="http://beansoft.java-cn.org/images/out.png"></p>
<table class=imageplugin align=center border=0>
    <tbody>
        <tr>
            <td><a href="http://localhost/valiate-email.jsp"><img height=7 alt="" src="http://beansoft.java-cn.org/images/icons/linkext7.gif" width=7 border=0></a></td>
        </tr>
    </tbody>
</table>
validate-chinese只能是中文(以下为中国的相关验证) validate-phone有效的电话 validate-mobile-phone有效的手机号 validate-id-number验证是否有效的身份证号码 validate-zip验证邮政编码 validate-qq验证QQ号码
<h2 id=section-Javascript_EasyValidation-_E7_BC_96_E7_A8_8B_E5_BC_8F_E4_B8_BA_E8_A1_A8_E5_8D_95_E5_A2_9E_E5_8A_A0_E9_AA_8C_E8_AF_81Validation_E9_80_89_E9_A1_B9>编程式为表单增加验证(Validation选项)</h2>
<ul>
    <li>可以手工指定要验证那个form,在指定是可以给定一些选项 </li>
</ul>
<pre><br>&lt;script type="text/javascript"&gt;<br>	var valid = new Validation('form-id', {onSubmit:false});<br>         // do something ...<br>         var result = valid.validate();<br>&lt;/script&gt;
</pre>
<strong>创建Valuedation是的参数说明</strong>
<ul>
    <li>onSubmit &#8211; 是否绑定onSubmit函数, default - true
    <li>stopOnFirst &#8211; 是否在检查到第一个错误时就停止检查 default- false
    <li>immediate &#8211; 是否在被检测域失去焦点时就检查被检查域 default - false
    <li>focusOnError &#8211; 是否把焦点移动到发生错误的域上 default - true
    <li>useTitles &#8211; 是否使用提示 default - false
    <li>onFormValidate:当form被检测和的回调函数,有两个输入参数 arg[0]-检测form的结果true or false, arg[1]-form本身的id
    <li>onElementValidate:当没个element被检查后的回调函数,有两个输入参数 arg[0]-检测form的结果true or false, arg[1]-element本身的id </li>
</ul>
<h2 id=section-Javascript_EasyValidation-_E6_B7_BB_E5_8A_A0_E8_87_AA_E5_B7_B1_E7_9A_84Validator_E6_B5_8B_E8_AF_95_E5_87_BD_E6_95_B0>添加自己的Validator测试函数</h2>
增加Validator
<pre><br>/*参数说明<br> * v: 为需要测试的值<br> * elm: 为html input<br> * args: 为有参数的验证表达式传递的参数,如min-length-10,则args[0]为10<br> * metadata: 为Validator本身<br>*/<br>Validation.add(['max-value',function(v,elm,args,metadata) {<br>		return parseFloat(v) &lt;= parseFloat(args[0]);<br>	},{depends : ['validate-number']} ],<br>});<br>/*<br> * 增加验证出错的提示信息<br> */<br>Validator.messagesSourceCn = [<br>['max-value' , '最大值为%s'],<br>]
</pre>
<p><strong>Validator的选项:</strong> </p>
<p>depends &#8211; 为validator的之间的内部依赖<br>ignoreEmptyValue &#8211; 表明validator是否忽略空值不进行测试 </p>
<h2 id=section-Javascript_EasyValidation-FAQs>FAQs</h2>
<ol>
    <li><strong>我的网站现在使用的是UTF-8编码,怎么使用validation_cn.js显示中文会乱码?</strong><br></li>
</ol>
答:validation_cn.js默认是使用GBK编码,使用可以改变文件编码的编辑器以UTF-8编码方式再保存,如保存为validation_cn_UTF-8.js
<ol>
    <li><strong>国际化怎么办?</strong><br></li>
</ol>
答:动态修改Validator.messageSource即可
<ol>
    <li><strong>日期之间的比较怎么办,如结束日期要大于开始日期</strong><br></li>
</ol>
答:先使用validate-date验证输入的值是合法的日期,再加上"less-than"的比较即可
<ol>
    <li><strong>select的验证</strong><br></li>
</ol>
答:将Please Select..的值使用一个空格填充即可
<pre><br>&lt;select id="test" name="test" class="required"&gt;<br>	&lt;option value=" "&gt;Please Select..&lt;/option&gt;<br>	&lt;option value="val1"&gt;Value 1&lt;/option&gt;<br>	&lt;option value="val2"&gt;Value 2&lt;/option&gt;<br>&lt;/select&gt;
</pre>
<ol>
    <li><strong>在IE中提示"Unterminated string constant"或是"末结束的字符串常量"错误</strong><br></li>
</ol>
答: 是由于你网页的编码问题,validation_cn.js默认是GBK编码,请转换成与你的网页想适应的编码
<h2 id=section-Javascript_EasyValidation-_E5_BC_95_E7_94_A8>引用</h2>
<a class=external href="http://tetlaw.id.au/view/blog/really-easy-field-validation-with-prototype/">http://tetlaw.id.au/view/blog/really-easy-field-validation-with-prototype/</a><img class=outlink alt="" src="http://beansoft.java-cn.org/images/out.png">
<h2 id=section-Javascript_EasyValidation-Authors>Authors</h2>
<a class=external href="http://www.blogjava.net/badqiu">badqiu</a><img class=outlink alt="" src="http://beansoft.java-cn.org/images/out.png"><br><a class=external href="http://ivanl.javaeye.com/">Ivan Li</a><img class=outlink alt="" src="http://beansoft.java-cn.org/images/out.png"> <br>
<h3>附件:</h3>
<table width="90%">
    <tbody>
        <tr class=odd>
            <td><a class=attachment href="http://beansoft.java-cn.org/attach/Javascript_EasyValidation/EasyValidation3.0.zip">EasyValidation3.0.zip</a> </td>
            <td><a class=pageinfo href="http://beansoft.java-cn.org/PageInfo.jsp?page=Javascript_EasyValidation/EasyValidation3.0.zip"><img alt=EasyValidation3.0.zip相关的信息 src="http://beansoft.java-cn.org/images/fileicons/zip.gif" border=0> </a></td>
            <td>52861字节 </td>
        </tr>
        <tr>
            <td><a class=attachment href="http://beansoft.java-cn.org/attach/Javascript_EasyValidation/validation_helloworld.jpg">validation_helloworld.jpg</a> </td>
            <td><a class=pageinfo href="http://beansoft.java-cn.org/PageInfo.jsp?page=Javascript_EasyValidation/validation_helloworld.jpg"><img alt=validation_helloworld.jpg相关的信息 src="http://beansoft.java-cn.org/images/fileicons/jpg.gif" border=0> </a></td>
            <td>14379字节</td>
        </tr>
    </tbody>
</table>
<br>
<img src ="http://www.blogjava.net/beansoft/aggbug/108184.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/beansoft/" target="_blank">BeanSoft</a> 2007-04-03 13:18 <a href="http://www.blogjava.net/beansoft/archive/2007/04/03/108184.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>AJAX Java  QQ Group Start Page</title><link>http://www.blogjava.net/beansoft/archive/2007/01/24/ajax_java_group_start.html</link><dc:creator>BeanSoft</dc:creator><author>BeanSoft</author><pubDate>Wed, 24 Jan 2007 07:55:00 GMT</pubDate><guid>http://www.blogjava.net/beansoft/archive/2007/01/24/ajax_java_group_start.html</guid><wfw:comment>http://www.blogjava.net/beansoft/comments/95750.html</wfw:comment><comments>http://www.blogjava.net/beansoft/archive/2007/01/24/ajax_java_group_start.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/beansoft/comments/commentRss/95750.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/beansoft/services/trackbacks/95750.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/beansoft/archive/2007/01/24/ajax_java_group_start.html'>阅读全文</a><img src ="http://www.blogjava.net/beansoft/aggbug/95750.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/beansoft/" target="_blank">BeanSoft</a> 2007-01-24 15:55 <a href="http://www.blogjava.net/beansoft/archive/2007/01/24/ajax_java_group_start.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Instant Source 2003 1.44 汉化版</title><link>http://www.blogjava.net/beansoft/archive/2006/11/23/83065.html</link><dc:creator>BeanSoft</dc:creator><author>BeanSoft</author><pubDate>Thu, 23 Nov 2006 08:17:00 GMT</pubDate><guid>http://www.blogjava.net/beansoft/archive/2006/11/23/83065.html</guid><wfw:comment>http://www.blogjava.net/beansoft/comments/83065.html</wfw:comment><comments>http://www.blogjava.net/beansoft/archive/2006/11/23/83065.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/beansoft/comments/commentRss/83065.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/beansoft/services/trackbacks/83065.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Instant Source 2003 1.44 汉化版<br><br>Instant Source - the first real-time HTML source viewer and editor.<br><br>测试过的浏览器: IE 5,6,7<br><br>这是一个IE浏览器插件，主要功能是实时的查看和修改 HTML 网页上的源代码，当鼠标指向或选择网页的某一部分，即可在下方的窗口中快速看到网页的源代码，这对网页设计相关人员还是相当有用的。而且可以列出当前页面的所有源码(包括引用到的 JS, CSS 文件等)推荐使用！ 例如大家看到 Google 网页的时候, 想拿到他们的所有代码, 或者想看看某个控件的源码, 这时候就非常方便了, 第一个可以通过 "Display Entire Page(current State)"来看到, 第二个可以通过"Display Element Under Cursor"来看到. 同样, 也可以方便的来检测自己写的页面是否达到了预期的目的.<br>&nbsp;&nbsp;<a href='http://www.blogjava.net/beansoft/archive/2006/11/23/83065.html'>阅读全文</a><img src ="http://www.blogjava.net/beansoft/aggbug/83065.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/beansoft/" target="_blank">BeanSoft</a> 2006-11-23 16:17 <a href="http://www.blogjava.net/beansoft/archive/2006/11/23/83065.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>