﻿<?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-见酒就晕-文章分类-HTML</title><link>http://www.blogjava.net/franlk/category/9819.html</link><description /><language>zh-cn</language><lastBuildDate>Mon, 10 Mar 2008 17:16:20 GMT</lastBuildDate><pubDate>Mon, 10 Mar 2008 17:16:20 GMT</pubDate><ttl>60</ttl><item><title>[摘录]零起步教你搭建Discuz!4.1论坛</title><link>http://www.blogjava.net/franlk/articles/184988.html</link><dc:creator>见酒就晕</dc:creator><author>见酒就晕</author><pubDate>Mon, 10 Mar 2008 03:12:00 GMT</pubDate><guid>http://www.blogjava.net/franlk/articles/184988.html</guid><wfw:comment>http://www.blogjava.net/franlk/comments/184988.html</wfw:comment><comments>http://www.blogjava.net/franlk/articles/184988.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/franlk/comments/commentRss/184988.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/franlk/services/trackbacks/184988.html</trackback:ping><description><![CDATA[<br />
摘录地址：<a href="http://publish.it168.com/2006/0410/20060410003902.shtml">http://publish.it168.com/2006/0410/20060410003902.shtml</a>
<img src ="http://www.blogjava.net/franlk/aggbug/184988.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/franlk/" target="_blank">见酒就晕</a> 2008-03-10 11:12 <a href="http://www.blogjava.net/franlk/articles/184988.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>DIV显示浮动的层</title><link>http://www.blogjava.net/franlk/articles/182912.html</link><dc:creator>见酒就晕</dc:creator><author>见酒就晕</author><pubDate>Fri, 29 Feb 2008 06:19:00 GMT</pubDate><guid>http://www.blogjava.net/franlk/articles/182912.html</guid><wfw:comment>http://www.blogjava.net/franlk/comments/182912.html</wfw:comment><comments>http://www.blogjava.net/franlk/articles/182912.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/franlk/comments/commentRss/182912.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/franlk/services/trackbacks/182912.html</trackback:ping><description><![CDATA[<br />
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"&gt;<br />
&lt;HTML&gt;<br />
&lt;HEAD&gt;<br />
&lt;TITLE&gt; New Document &lt;/TITLE&gt;<br />
&lt;/HEAD&gt;<br />
&lt;SCRIPT LANGUAGE="JavaScript"&gt;<br />
&lt;!--<br />
function showLayer(content,x,y)<br />
{<br />
&nbsp;&nbsp;&nbsp; if(content != '')<br />
&nbsp;&nbsp;&nbsp; {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Layer.style.visibility = 'visible';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Layer.style.left = x + document.body.scrollLeft - 50;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Layer.style.top = y + document.body.scrollTop + 20;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ShowContent.innerHTML = content;<br />
&nbsp;&nbsp;&nbsp; }<br />
&nbsp;}<br />
//--&gt;<br />
&lt;/SCRIPT&gt;<br />
&lt;BODY&gt;<br />
&lt;TABLE border="1" cellspacing="1"&gt;<br />
&lt;TR onMouseOver="showLayer('ROW1',event.clientX,event.clientY)"&gt;<br />
&nbsp;&lt;TD &gt;1&lt;/TD&gt;<br />
&nbsp;&lt;TD&gt;2&lt;/TD&gt;<br />
&nbsp;&lt;TD&gt;3&lt;/TD&gt;<br />
&lt;/TR&gt;<br />
&lt;TR onMouseOver="showLayer('ROW2',event.clientX,event.clientY)"&gt;<br />
&nbsp;&lt;TD &gt;1&lt;/TD&gt;<br />
&nbsp;&lt;TD&gt;2&lt;/TD&gt;<br />
&nbsp;&lt;TD&gt;3&lt;/TD&gt;<br />
&lt;/TR&gt;<br />
&lt;/TABLE&gt;<br />
&lt;div id="Layer" style="position:absolute; left:10px; top:0px; width:400px; height:200px; z-index:1;visibility:hidden;"&gt;<br />
&nbsp; &lt;table width="400" border="0" cellspacing="10" bgcolor="#ddffFF" style="{&nbsp; border-color: #3388cc; border-style: solid; border-width: 1px;}"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;tr&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;td style="font-size:9pt" id="ShowContent"&gt;&lt;/td&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/tr&gt;<br />
&nbsp; &lt;/table&gt;<br />
&lt;/div&gt;<br />
&lt;/BODY&gt;<br />
&lt;/HTML&gt;
<img src ="http://www.blogjava.net/franlk/aggbug/182912.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/franlk/" target="_blank">见酒就晕</a> 2008-02-29 14:19 <a href="http://www.blogjava.net/franlk/articles/182912.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(摘录)js中如何删除一个对象</title><link>http://www.blogjava.net/franlk/articles/180084.html</link><dc:creator>见酒就晕</dc:creator><author>见酒就晕</author><pubDate>Fri, 15 Feb 2008 06:53:00 GMT</pubDate><guid>http://www.blogjava.net/franlk/articles/180084.html</guid><wfw:comment>http://www.blogjava.net/franlk/comments/180084.html</wfw:comment><comments>http://www.blogjava.net/franlk/articles/180084.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/franlk/comments/commentRss/180084.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/franlk/services/trackbacks/180084.html</trackback:ping><description><![CDATA[emement = document.getElementById(emement.id);<br />
&nbsp;emement.parentNode.removeChild(emement);
<img src ="http://www.blogjava.net/franlk/aggbug/180084.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/franlk/" target="_blank">见酒就晕</a> 2008-02-15 14:53 <a href="http://www.blogjava.net/franlk/articles/180084.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[摘录]HTTP ERROR</title><link>http://www.blogjava.net/franlk/articles/166592.html</link><dc:creator>见酒就晕</dc:creator><author>见酒就晕</author><pubDate>Mon, 10 Dec 2007 02:46:00 GMT</pubDate><guid>http://www.blogjava.net/franlk/articles/166592.html</guid><wfw:comment>http://www.blogjava.net/franlk/comments/166592.html</wfw:comment><comments>http://www.blogjava.net/franlk/articles/166592.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/franlk/comments/commentRss/166592.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/franlk/services/trackbacks/166592.html</trackback:ping><description><![CDATA[<br />
<br />
<h3>HTTP 错误 400</h3>
<p>400 请求出错</p>
<p>由于语法格式有误，服务器无法理解此请求。不作修改，客户程序就无法重复此请求。 </p>
<h3>HTTP 错误 401</h3>
<h4>401.1 未授权：登录失败</h4>
<p>此错误表明传输给服务器的证书与登录服务器所需的证书不匹配。</p>
<p>请与 Web 服务器的管理员联系，以确认您是否具有访问所请求资源的权限。</p>
<h4>401.2 未授权：服务器的配置导致登录失败</h4>
<p>此错误表明传输给服务器的证书与登录服务器所需的证书不匹配。此错误通常由未发送正确的 WWW 验证表头字段所致。</p>
<p>请与 Web 服务器的管理员联系，以确认您是否具有访问所请求资源的权限。</p>
<h4>401.3 未授权：由于资源中的 ACL 而未授权</h4>
<p>此错误表明客户所传输的证书没有对服务器中特定资源的访问权限。此资源可能是客户机中的地址行所列出的网页或文件，也可能是处理客户机中的地址行所列出的文件所需服务器上的其他文件。</p>
<p>请记录试图访问的完整地址，并与 Web 服务器的管理员联系以确认您是否具有访问所请求资源的权限。</p>
<h4>401.4 未授权：授权服务被筛选程序拒绝</h4>
<p>此错误表明 Web 服务器已经安装了筛选程序，用以验证连接到服务器的用户。此筛选程序拒绝连接到此服务器的真品证书的访问。</p>
<p>请记录试图访问的完整地址，并与 Web 服务器的管理员联系以确认您是否具有访问所请求资源的权限。</p>
<h4>401.5 未授权：ISAPI/CGI 应用程序的授权失败</h4>
<p>此错误表明试图使用的 Web服务器中的地址已经安装了 ISAPI 或 CGI程序，在继续之前用以验证用户的证书。此程序拒绝用来连接到服务器的真品证书的访问。</p>
<p>请记录试图访问的完整地址，并与 Web服务器的管理员联系以确认您是否具有访问所请求资源的权限 </p>
<h3>HTTP 错误 403</h3>
<h4>403.1 禁止：禁止执行访问</h4>
<p>如果从并不允许执行程序的目录中执行 CGI、ISAPI或其他执行程序就可能引起此错误。</p>
<p>如果问题依然存在，请与 Web 服务器的管理员联系。</p>
<h4>403.2 禁止：禁止读取访问</h4>
<p>如果没有可用的默认网页或未启用此目录的目录浏览，或者试图显示驻留在只标记为执行或脚本权限的目录中的HTML 页时就会导致此错误。</p>
<p>如果问题依然存在，请与 Web 服务器的管理员联系。</p>
<h4>403.3 禁止：禁止写访问</h4>
<p>如果试图上载或修改不允许写访问的目录中的文件，就会导致此问题。</p>
<p>如果问题依然存在，请与 Web服务器的管理员联系。</p>
<h4>403.4 禁止：需要 SSL</h4>
<p>此错误表明试图访问的网页受安全套接字层（SSL）的保护。要查看，必须在试图访问的地址前输入https:// 以启用 SSL。</p>
<p>如果问题依然存在，请与 Web服务器的管理员联系。</p>
<h4>403.5 禁止：需要 SSL 128</h4>
<p>此错误消息表明您试图访问的资源受 128位的安全套接字层（SSL）保护。要查看此资源，需要有支持此SSL 层的浏览器。</p>
<p>请确认浏览器是否支持 128 位 SSL安全性。如果支持，就与 Web服务器的管理员联系，并报告问题。</p>
<h4>403.6 禁止：拒绝 IP 地址</h4>
<p>如果服务器含有不允许访问此站点的 IP地址列表，并且您正使用的 IP地址在此列表中，就会导致此问题。</p>
<p>如果问题依然存在，请与 Web服务器的管理员联系。</p>
<h4>403.7 禁止：需要用户证书</h4>
<p>当试图访问的资源要求浏览器具有服务器可识别的用户安全套接字层（SSL）证书时就会导致此问题。可用来验证您是否为此资源的合法用户。</p>
<p>请与 Web服务器的管理员联系以获取有效的用户证书。</p>
<h4>403.8 禁止：禁止站点访问</h4>
<p>如果 Web服务器不为请求提供服务，或您没有连接到此站点的权限时，就会导致此问题。</p>
<p>请与 Web 服务器的管理员联系。</p>
<h4>403.9 禁止访问：所连接的用户太多</h4>
<p>如果 Web太忙并且由于流量过大而无法处理您的请求时就会导致此问题。请稍后再次连接。</p>
<p>如果问题依然存在，请与 Web 服务器的管理员联系。</p>
<h4>403.10 禁止访问：配置无效</h4>
<p>此时 Web 服务器的配置存在问题。</p>
<p>如果问题依然存在，请与 Web服务器的管理员联系。</p>
<h4>403.11 禁止访问：密码已更改</h4>
<p>在身份验证的过程中如果用户输入错误的密码，就会导致此错误。请刷新网页并重试。</p>
<p>如果问题依然存在，请与 Web服务器的管理员联系。</p>
<h4>403.12 禁止访问：映射程序拒绝访问</h4>
<p>拒绝用户证书试图访问此 Web 站点。</p>
<p>请与站点管理员联系以建立用户证书权限。如果必要，也可以更改用户证书并重试。 </p>
<h3>HTTP 错误 404</h3>
<p>404 找不到</p>
<p>Web 服务器找不到您所请求的文件或脚本。请检查URL 以确保路径正确。</p>
<p>如果问题依然存在，请与服务器的管理员联系。 </p>
<h3>HTTP 错误 405</h3>
<p>405 不允许此方法</p>
<p>对于请求所标识的资源，不允许使用请求行中所指定的方法。请确保为所请求的资源设置了正确的 MIME 类型。</p>
<p>如果问题依然存在，请与服务器的管理员联系。 </p>
<h3>HTTP 错误 406</h3>
<p>406 不可接受</p>
<p>根据此请求中所发送的&#8220;接受&#8221;标题，此请求所标识的资源只能生成内容特征为&#8220;不可接受&#8221;的响应实体。</p>
<p>如果问题依然存在，请与服务器的管理员联系。 </p>
<h3>HTTP 错误 407</h3>
<p>407 需要代理身份验证</p>
<p>在可为此请求提供服务之前，您必须验证此代理服务器。请登录到代理服务器，然后重试。</p>
<p>如果问题依然存在，请与 Web 服务器的管理员联系。 </p>
<h3>HTTP 错误 412</h3>
<p>412 前提条件失败</p>
<p>在服务器上测试前提条件时，部分请求标题字段中所给定的前提条件估计为FALSE。客户机将前提条件放置在当前资源 metainformation（标题字段数据）中，以防止所请求的方法被误用到其他资源。</p>
<p>如果问题依然存在，请与 Web 服务器的管理员联系。 </p>
<h3>HTTP 错误 414</h3>
<p>414 Request-URI 太长</p>
<p>Request-URL太长，服务器拒绝服务此请求。仅在下列条件下才有可能发生此条件：</p>
<p>客户机错误地将 POST 请求转换为具有较长的查询信息的 GET 请求。</p>
<p>客户机遇到了重定向问题（例如，指向自身的后缀的重定向前缀）。</p>
<p>服务器正遭受试图利用某些服务器（将固定长度的缓冲区用于读取或执行 Request-URI）中的安全性漏洞的客户干扰。</p>
<p>如果问题依然存在，请与 Web 服务器的管理员联系。 </p>
<h3>HTTP 错误 500</h3>
<p>500 服务器的内部错误</p>
<p>Web 服务器不能执行此请求。请稍后重试此请求。</p>
<p>如果问题依然存在，请与 Web服务器的管理员联系。 </p>
<h3>HTTP 错误 501</h3>
<p>501 未实现</p>
<p>Web 服务器不支持实现此请求所需的功能。请检查URL 中的错误，如果问题依然存在，请与 Web服务器的管理员联系。 </p>
<h3>HTTP 错误 502</h3>
<p>502 网关出错</p>
<p>当用作网关或代理时，服务器将从试图实现此请求时所访问的upstream 服务器中接收无效的响应。</p>
<img src ="http://www.blogjava.net/franlk/aggbug/166592.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/franlk/" target="_blank">见酒就晕</a> 2007-12-10 10:46 <a href="http://www.blogjava.net/franlk/articles/166592.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[摘录]FCKeditor在线编辑器的使用</title><link>http://www.blogjava.net/franlk/articles/135292.html</link><dc:creator>见酒就晕</dc:creator><author>见酒就晕</author><pubDate>Wed, 08 Aug 2007 09:03:00 GMT</pubDate><guid>http://www.blogjava.net/franlk/articles/135292.html</guid><wfw:comment>http://www.blogjava.net/franlk/comments/135292.html</wfw:comment><comments>http://www.blogjava.net/franlk/articles/135292.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/franlk/comments/commentRss/135292.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/franlk/services/trackbacks/135292.html</trackback:ping><description><![CDATA[<br>摘录地址:http://java.chinaitlab.com/tools/376760.html<br><br>
<table cellSpacing=0 cellPadding=0 width="100%" border=0>
    <tbody>
        <tr>
            <td vAlign=top width=402>
            <div align=left twffan="done">
            <p align=left>试用了一下FCKeditor,根据网上的文章小结一下：<br>1.下载<br>FCKeditor.java 2.3 (FCKeditot for java)<br>FCKeditor 2.2 (FCKeditor基本文件)</p>
            <p>2.建立项目:tomcat/webapps/TestFCKeditor.</p>
            <p>3.将FCKeditor2.2解压缩,将整个目录FCKeditor复制到项目的根目录下，<br>目录结构为：tomcat/webapps/TestFCKeditor/FCKeditor<br>然后将FCKeditor-2.3.zip（java）压缩包中\web\WEB-INF\lib\目录下的两个jar文件拷到项目的\WEB-INF\lib\目录下。把其中的src目录下的FCKeditor.tld文件copy到TestFCKedit/FCKeitor/WEB-INF/下</p>
            <p>4.将FCKeditor-2.3.zip压缩包中\web\WEB-INF\目录下的web.xml文件合并到项目的\WEB-INF\目录下的web.xml文件中。</p>
            </div>
            </td>
        </tr>
    </tbody>
</table>
<p>5. 修改合并后的web.xml文件，将名为SimpleUploader的Servlet的enabled参数值改为true，<br>以允许上传功能，Connector Servlet的baseDir参数值用于设置上传文件存放的位置。<br>添加标签定义:<br>&lt;taglib&gt;<br>&lt;taglib-uri&gt;/TestFCKeditor&lt;/taglib-uri&gt;<br>&lt;taglib-location&gt;/WEB-INF/FCKeditor.tld&lt;/taglib-location&gt;<br>&lt;/taglib&gt;</p>
<p>运行图：</p>
<p><img height=457 src="http://java.chinaitlab.com/UploadFiles_8734/200604/20060417111154822.gif" width=550 twffan="done"></p>
<p>6. 上面文件中两个servlet的映射分别为：/editor/filemanager/browser/default/connectors/jsp/connector<br>和/editor/filemanager/upload/simpleuploader，需要在两个映射前面加上/FCKeditor，<br>即改为/FCKeditor/editor/filemanager/browser/default/connectors/jsp/connector和<br>/FCKeditor/editor/filemanager/upload/simpleuploader。</p>
<p>7.进入skin文件夹，如果你想使用fckeditor默认的这种奶黄色，<br>那就把除了default文件夹外的另两个文件夹直接删除.</p>
<p>8.删除/FCKeditor/目录下除fckconfig.js, fckeditor.js, fckstyles.xml, fcktemplates.xml四个文件以外的所有文件 <br>删除目录/editor/_source,<br>删除/editor/filemanager/browser/default/connectors/下的所有文件<br>删除/editor/filemanager/upload/下的所有文件<br>删除/editor/lang/下的除了fcklanguagemanager.js, en.js, zh.js, zh-cn.js四个文件的所有文件</p>
<p>9.打开/FCKeditor/fckconfig.js<br>修改 FCKConfig.DefaultLanguage = 'zh-cn' ; <br>把FCKConfig.LinkBrowserURL等的值替换成以下内容：<br>FCKConfig.LinkBrowserURL<br>= FCKConfig.BasePath + "filemanager/browser/default/browser.html?Connector=connectors/jsp/connector" ;<br><br>FCKConfig.ImageBrowserURL<br>= FCKConfig.BasePath + "filemanager/browser/default/browser.html?Type=Image&amp;Connector=connectors/jsp/connector" ;<br><br>FCKConfig.FlashBrowserURL<br>= FCKConfig.BasePath + "filemanager/browser/default/browser.html?Type=Flash&amp;Connector=connectors/jsp/connector" ;</p>
<p><br>FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/upload/simpleuploader?Type=File' ;<br>FCKConfig.FlashUploadURL = FCKConfig.BasePath + 'filemanager/upload/simpleuploader?Type=Flash' ;<br>FCKConfig.ImageUploadURL = FCKConfig.BasePath + 'filemanager/upload/simpleuploader?Type=Image' ;<br></p>
<p>10.其它<br>fckconfig.js总配置文件，可用记录本打开，修改后将文件存为utf-8 编码格式。找到：</p>
<p>FCKConfig.TabSpaces = 0 ; 改为FCKConfig.TabSpaces = 1 ; 即在编辑器域内可以使用Tab键。</p>
<p>如果你的编辑器还用在网站前台的话，比如说用于留言本或是日记回复时，那就不得不考虑安全了，<br>在前台千万不要使用Default的toolbar，要么自定义一下功能，要么就用系统已经定义好的Basic，<br>也就是基本的toolbar，找到：<br>FCKConfig.ToolbarSets["Basic"] = [<br>['Bold','Italic','-','OrderedList','UnorderedList','-',/*'Link',*/'Unlink','-','Style','FontSize','TextColor','BGColor','-',<br>'Smiley','SpecialChar','Replace','Preview'] ] ;<br>这是改过的Basic，把图像功能去掉，把添加链接功能去掉，因为图像和链接和flash和图像按钮添加功能都能让前台<br>页直接访问和上传文件， fckeditor还支持编辑域内的鼠标右键功能。<br><br>FCKConfig.ContextMenu = ['Generic',/*'Link',*/'Anchor',/*'Image',*/'Flash','Select','Textarea','Checkbox','Radio','TextField','HiddenField',<br>/*'ImageButton',*/'Button','BulletedList','NumberedList','TableCell','Table','Form'] ;<br><br>这也是改过的把鼠标右键的&#8220;链接、图像，FLASH，图像按钮&#8221;功能都去掉。</p>
<p>　　找到： FCKConfig.FontNames = 'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;<br>加上几种我们常用的字体 <br>FCKConfig.FontNames <br>= '宋体;黑体;隶书;楷体_GB2312;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;<br></p>
<p>7.添加文件 /TestFCKeditor/test.jsp:<br>&lt;%@ page language="java" import="com.fredck.FCKeditor.*" %&gt;<br>&lt;%@ taglib uri="/TestFCKeditor" prefix="FCK" %&gt;<br>&lt;script type="text/javascript" src="/TestFCKeditor/FCKeditor/fckeditor.js"&gt;&lt;/script&gt;</p>
<p>&lt;%--<br>三种方法调用FCKeditor<br>1.FCKeditor自定义标签 (必须加头文件 &lt;%@ taglib uri="/TestFCKeditor" prefix="FCK" %&gt; )<br>2.script脚本语言调用 (必须引用 脚本文件 &lt;script type="text/javascript" src="/TestFCKeditor/FCKeditor/fckeditor.js"&gt;&lt;/script&gt; )<br>3.FCKeditor API 调用 (必须加头文件 &lt;%@ page language="java" import="com.fredck.FCKeditor.*" %&gt; )<br>--%&gt;<br><br>&lt;%--<br>&lt;form action="show.jsp" method="post" target="_blank"&gt;<br>&lt;FCK:editor id="content" basePath="/TestFCKeditor/FCKeditor/"<br>width="700"<br>height="500"<br>skinPath="/TestFCKeditor/FCKeditor/editor/skins/silver/"<br>toolbarSet = "Default"<br>&gt;<br>input<br>&lt;/FCK:editor&gt;<br>&lt;input type="submit" value="Submit"&gt;<br>&lt;/form&gt;<br>--%&gt;</p>
<p>&lt;form action="show.jsp" method="post" target="_blank"&gt;<br>&lt;table border="0" width="700"&gt;&lt;tr&gt;&lt;td&gt;<br>&lt;textarea id="content" name="content" style="WIDTH: 100%; HEIGHT: 400px"&gt;input&lt;/textarea&gt;<br>&lt;script type="text/javascript"&gt;<br>var oFCKeditor = new FCKeditor('content') ;<br>oFCKeditor.BasePath = "/TestFCKeditor/FCKeditor/" ;<br>oFCKeditor.Height = 400;<br>oFCKeditor.ToolbarSet = "Default" ; <br>oFCKeditor.ReplaceTextarea();<br>&lt;/script&gt;<br>&lt;input type="submit" value="Submit"&gt;<br>&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;<br>&lt;/form&gt;</p>
<p>&lt;%--<br>&lt;form action="show.jsp" method="post" target="_blank"&gt;<br>&lt;%<br>FCKeditor oFCKeditor ;<br>oFCKeditor = new FCKeditor( request, "content" ) ;<br>oFCKeditor.setBasePath( "/TestFCKeditor/FCKeditor/" ) ;<br>oFCKeditor.setValue( "input" );<br>out.println( oFCKeditor.create() ) ;<br>%&gt;<br>&lt;br&gt;<br>&lt;input type="submit" value="Submit"&gt;<br>&lt;/form&gt;<br>--%&gt;<br></p>
<p>添加文件/TestFCKeditor/show.jsp:<br>&lt;%<br>String content = request.getParameter("content");<br>out.print(content);<br>%&gt;</p>
<p>8.浏览http://localhost:8080/TestFCKeditor/test.jsp<br>ok!<br></p>
<br>
<img src ="http://www.blogjava.net/franlk/aggbug/135292.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/franlk/" target="_blank">见酒就晕</a> 2007-08-08 17:03 <a href="http://www.blogjava.net/franlk/articles/135292.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[摘录]setTimeout 和setInterval 区别</title><link>http://www.blogjava.net/franlk/articles/135283.html</link><dc:creator>见酒就晕</dc:creator><author>见酒就晕</author><pubDate>Wed, 08 Aug 2007 08:36:00 GMT</pubDate><guid>http://www.blogjava.net/franlk/articles/135283.html</guid><wfw:comment>http://www.blogjava.net/franlk/comments/135283.html</wfw:comment><comments>http://www.blogjava.net/franlk/articles/135283.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/franlk/comments/commentRss/135283.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/franlk/services/trackbacks/135283.html</trackback:ping><description><![CDATA[<br>摘录地址:http://www.chinahtml.com/webdesign/3/2006/javascript-11394039893441.shtml<br><br>window对象有两个主要的定时方法，分别是setTimeout 和 setInteval 他们的语法基本上相同，但是完成的功能取有区别。<br><br>　　setTimeout方法是定时程序，也就是在什么时间以后干什么。干完了就拉倒(在页面不刷新的情况下)。<br><br>　　setInterval方法则是表示间隔一定时间反复执行某操作。<br><br>　　如果用setTimeout实现setInerval的功能，就需要在执行的程序中再定时调用自己才行。如果要清除计数器需要 根据使用的方法不同，调用不同的清除方法：<br><br>　　例如：tttt=setTimeout('northsnow()',1000);<br><br>clearTimeout(tttt);<br><br>　　或者：<br><br>tttt=setInterval('northsnow()',1000);<br><br>clearInteval(tttt);<br><br>　　举一个例子：<br><br>&lt;div id="liujincai"&gt;&lt;/div&gt;<br>&lt;input type="button" name="start" value="start" onclick='startShow();'&gt;<br>&lt;input type="button" name="stop" value="stop" onclick="stop();"&gt;<br>&lt;script language="javascript"&gt;<br>var intvalue=1;<br>var timer2=null;<br>function startShow()<br>{<br>liujincai.innerHTML=liujincai.innerHTML + "&nbsp;" + (intvalue ++).toString();<br>timer2=window.setTimeout("startShow()",2000);<br>}<br>function stop()<br>{<br>window.clearTimeout(timer2);<br>}<br>&lt;/script&gt;<br><br>　　或者：<br><br>&lt;div id="liujincai"&gt;&lt;/div&gt;<br>&lt;input type="button" name="start" value="start" onclick='timer2=window.setInterval("startShow()",2000);//startShow();'&gt;<br>&lt;input type="button" name="stop" value="stop" onclick="stop();"&gt;<br>&lt;script language="javascript"&gt;<br>var intvalue=1;<br>var timer2=null;<br>function startShow()<br>{<br>liujincai.innerHTML=liujincai.innerHTML + "&nbsp;" + (intvalue ++).toString();<br>}<br>function stop()<br>{<br>window.clearInterval(timer2);<br>}<br>&lt;/script&gt;<!-- 分页 --> 
<img src ="http://www.blogjava.net/franlk/aggbug/135283.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/franlk/" target="_blank">见酒就晕</a> 2007-08-08 16:36 <a href="http://www.blogjava.net/franlk/articles/135283.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[摘录]网页制作素材下载</title><link>http://www.blogjava.net/franlk/articles/123321.html</link><dc:creator>见酒就晕</dc:creator><author>见酒就晕</author><pubDate>Mon, 11 Jun 2007 02:45:00 GMT</pubDate><guid>http://www.blogjava.net/franlk/articles/123321.html</guid><wfw:comment>http://www.blogjava.net/franlk/comments/123321.html</wfw:comment><comments>http://www.blogjava.net/franlk/articles/123321.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/franlk/comments/commentRss/123321.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/franlk/services/trackbacks/123321.html</trackback:ping><description><![CDATA[<br>摘录地址:http://iyuer.com/ilank/article.asp?id=57<br><br>一些素材资源（很不错的）各种类型～～欢迎来看～<br><span style="COLOR: #ff0000">软件类</span><br><a href="http://www.haosl.com/Soft_Class.asp?ClassID=16" target=_blank><u><font color=#0000ff>三林在线&nbsp;软件下载好去处</font></u></a><br><a href="http://www.qqxq.net/soft/photoshopcs.rar" target=_blank><u><font color=#0000ff>Photoshop&nbsp;CS&nbsp;8.01&nbsp;简体中文零售版&nbsp;</font></u></a><br><a href="http://www.downxia.com/downinfo/65.html" target=_blank><u><font color=#0000ff>Photoshop&nbsp;CS2&nbsp;9.0&nbsp;简体中文正式光盘版</font></u></a><br>内存256M及256M以下不推荐9.0版<br><br><a href="http://www.17xxz.com/SoftView/SoftView_2855.html" target=_blank><u><font color=#0000ff>CorelDraw&nbsp;12&nbsp;完美中文版</font></u></a><br>据说及绘图/矢量/排版设计于一身的王道工具.非专业人士路过...<br><a href="http://www.china1000.net/downinfo/25012.html" target=_blank><u><font color=#0000ff>Fireworks&nbsp;V8.0&nbsp;官方简体中文正式版</font></u></a><br>最常见到的web图像动态图像制作软件.普及度堪比Photoshop<br><a href="http://www.china1000.net/downinfo/458.html" target=_blank><u><font color=#0000ff>Dreamweaver&nbsp;V8.0&nbsp;官方简体中文正式版</font></u></a><br>网页制作软件，与Fireworks、Flash&nbsp;传说中的三剑客```嘎嘎~<br><a href="http://www.l-ky.com/DOWN/1/soft.asp?id=46" target=_blank><u><font color=#0000ff>Photoworks&nbsp;V1.5汉化版</font></u></a><br><br>韩产的一款给图像加相框的小软件，常见的胶带相框卡角相框等均能完成<br><a href="http://fkxz.fkxz.net/soft/9/150/2005/20051116764.html" target=_blank><u><font color=#0000ff>Ulead&nbsp;GIF&nbsp;Animator&nbsp;5.0汉化正式特别版</font></u></a><br>GIF制作软件，内置许多效果<br><a href="http://www.sanhaoonline.com/Download/html/2002/200210/20021018-277.html" target=_blank><br><u><font color=#0000ff>PhotoImpact&nbsp;v10.0&nbsp;简体中文汉化版</font></u></a><br>GIF制作软件，内置许多效果<br><br><span style="COLOR: red">素材类</span><br><a href="http://www.zyxr.com/" target=_blank><u><font color=#0000ff>童话公主de舞台</font></u></a><br>N多东西<br><br><a href="http://www.l-ky.com/DOWN/1/" target=_blank><u><font color=#0000ff>田园小屋下载</font></u></a><br><br>多类资源下载<br><a href="http://www.dearfish.com/home.htm" target=_blank><u><font color=#0000ff>鱼人码头</font></u></a><br>字体.网页素材.代码教学包含<br><a href="http://www.snowstop.net/" target=_blank><u><font color=#0000ff>nowstop</font></u></a><br>字体.图标素材.皮肤模板==<br><a href="http://yoonmi.net/zboard/pds.php" target=_blank><u><font color=#0000ff>韩国</font></u></a><br>韩国某网`呵呵&nbsp;我韩语有限&nbsp;图片.笔刷.样式包含<br><br><span style="COLOR: red">图片类`~`&nbsp;</span><br><a href="http://www.cgfan.com/bbs/index.asp" target=_blank><u><font color=#0000ff>CGFAN</font></u></a><br>图图图还是图`字字字还是字-&nbsp;-`~大家砸我吧<br><br><a href="http://www.mydeskcity.com/" target=_blank><u><font color=#800080>经典桌面资源站</font></u></a><br>确实不错~~！<br><a href="http://www.imagegarden.net/" target=_blank><u><font color=#0000ff>伊美姬</font></u></a><br>比较丰富的一个~恩`<br><br><a href="http://www.dofoto.com/dofoto.html" target=_blank><u><font color=#0000ff>dofoto平面设计欣赏</font></u></a><br>ilank无聊的时候会进去吓逛~~~&nbsp;<br><br><a href="http://spaces.msn.com/angela-yoyo/" target=_blank><u><font color=#0000ff>魔女幽de精品素材</font></u></a><br>欣儿友情提供`！耶~！很biang的说~！么~3~<br><br><a href="http://zzi.zzi.cc/sck/sck.htm" target=_blank><u><font color=#0000ff>遐思素材屋</font></u></a><br><br><a href="http://www.apoints.com/sucai/icon/Index.html" target=_blank><u><font color=#0000ff>原点视线素材</font></u></a><br>真的很丰富啊~~~呵呵`都没时间看了~<br><br><span style="COLOR: red">字体</span><br><a href="http://www.font.com.cn/downlist/r_1_1.html" target=_blank><u><font color=#0000ff>中文字体下载站</font></u></a><br>ilank平时就用这个``恩`还行`<br><br><a href="http://font.tlw.cn/fonts-c.htm" target=_blank><u><font color=#0000ff>英文字体下载</font></u></a><br>十分丰富哇~~~<br><a href="http://font.85888.com/" target=_blank><u><font color=#0000ff>K666字体下载&nbsp;</font></u></a><br>中文&nbsp;英文<br><br><a href="http://bbs.chinaddu.com/viewthread.php?tid=29217" target=_blank><u><font color=#0000ff>《Photoshop6完全自学手册》</font></u></a><br>强烈推荐这个韩站！！<br><a href="http://yoonmi.net/zboard/pds.php" target=_blank><u><font color=#0000ff>http://yoonmi.net/zboard/pds.php</font></u></a><br><br><strong>【字体】</strong><br><a href="http://font.85888.com/" target=_blank><u><font color=#0000ff>http://font.85888.com/</font></u></a><br><strong>K666字体下载</strong><br><a href="http://www.web316.com/SoftList/Catalog_7_SoftTime_Desc_1.html" target=_blank><u><font color=#0000ff>http://www.web316.com/SoftList/Catalog_7_SoftTime_Desc_1.html</font></u></a><br><strong>316资源网</strong><br><strong>&#8593;以上两站均是极全的中文字体下载站，包含很多少见的华康、金梅等字体。&nbsp;<br>也有很多有特点的英文字体，K666像素字体包含。</strong><br><br><strong>【图片】</strong><br><a href="http://www.youzi4.com/index.aspx" target=_blank><u><font color=#0000ff>http://www.youzi4.com/index.aspx</font></u></a><br><strong>扫图地带</strong><br><a href="http://www.mydeskcity.com/" target=_blank><u><font color=#800080>http://www.mydeskcity.com/</font></u></a><br><strong>经典桌面</strong><br><a href="http://wallcoo.com/" target=_blank><u><font color=#0000ff>http://wallcoo.com/</font></u></a><br><strong>壁纸酷</strong><br><a href="http://www.imagegarden.net/" target=_blank><u><font color=#0000ff>http://www.imagegarden.net/</font></u></a><br><strong>伊美姬</strong><br><a href="http://www.tucoo.com/" target=_blank><u><font color=#0000ff>http://www.tucoo.com/</font></u></a><br><strong>图酷</strong><br><a href="http://show.poptang.com/" target=_blank><u><font color=#0000ff>http://show.poptang.com/</font></u></a><br><strong>写真酷</strong><br><a href="http://www.cgfan.com/bbs/index.asp" target=_blank><u><font color=#0000ff>http://www.cgfan.com/bbs/index.asp</font></u></a><br><strong>CGFAN</strong><br><br><strong>【网页素材】</strong><br><a href="http://zzi.cc/sck/sck1.htm" target=_blank><u><font color=#0000ff>http://zzi.cc/sck/sck1.htm</font></u></a><br><strong>遐思素材屋&#8593;素材/代码教学</strong><br><br><a href="http://www.pixelforest.cn/" target=_blank><u><font color=#0000ff>http://www.pixelforest.cn/</font></u></a><br><strong>像素森林</strong><br><a href="http://engel.websozai.jp/" target=_blank><u><font color=#0000ff>http://engel.websozai.jp/</font></u></a><br><a href="http://www.ran.co.jp/" target=_blank><u><font color=#0000ff>http://www.ran.co.jp/</font></u></a><br><a href="http://www.geocities.jp/choco_asa/home.html" target=_blank><u><font color=#0000ff>http://www.geocities.jp/choco_asa/home.html</font></u></a><br><a href="http://pokyaron.fc2web.com/sozai.htm" target=_blank><u><font color=#0000ff>http://pokyaron.fc2web.com/sozai.htm</font></u></a><br><a href="http://homepage3.nifty.com/iroempitsu/index.htm" target=_blank><u><font color=#0000ff>http://homepage3.nifty.com/iroempitsu/index.htm</font></u></a><br><a href="http://love.vivian.jp/sozai/top.html" target=_blank><u><font color=#0000ff>http://love.vivian.jp/sozai/top.html</font></u></a><br><strong>以上全是JP</strong><br><br><a href="http://www.netbei.com/Article/pic/pic2/200501/3322.html" target=_blank><u><font color=#0000ff>http://www.netbei.com/Article/pic/pic2/200501/3322.html</font></u></a><br><strong>图标</strong><br><br><a href="http://www.94200.com/freebgm/" target=_blank><u><font color=#0000ff>http://www.94200.com/freebgm/</font></u></a><br><strong>免费网页播放器申请</strong><br><br><a href="http://yoonmi.net/scroll.htm" target=_blank><u><font color=#0000ff>http://yoonmi.net/scroll.htm</font></u></a><br><strong>拉条代码生成器</strong><br><br><strong>【综合素材】</strong><br><a href="http://www.zyxr.com/" target=_blank><u><font color=#0000ff>http://www.zyxr.com/</font></u></a><br><strong>童话公主de舞台&#8593;重点推荐</strong><br><br><a href="http://www.l-ky.com/DOWN/1/" target=_blank><u><font color=#0000ff>http://www.l-ky.com/DOWN/1/</font></u></a><br><strong>田园小屋下载&#8593;多类资源下载</strong><br><br><a href="http://www.dearfish.com/home.htm" target=_blank><u><font color=#0000ff>http://www.dearfish.com/home.htm</font></u></a><br><strong>鱼人码头&#8593;字体、网页素材、代码教学包含</strong><br><br><a href="http://www.snowstop.net/" target=_blank><u><font color=#0000ff>http://www.snowstop.net/</font></u></a><br><strong>snowstop&#8593;字体、图标素材、皮肤模板等</strong><br><br><a href="http://yoonmi.net/zboard/pds.php" target=_blank><u><font color=#0000ff>http://yoonmi.net/zboard/pds.php</font></u></a><br><strong>韩国的&#8593;图片、笔刷、样式包含</strong><br><br>‖馨玥童话‖综合资源素材网<a href="http://www.zyxr.com/Soft/Index.html" target=_blank><u><font color=#0000ff>http://www.zyxr.com/Soft/Index.html</font></u></a><br>雪停在址资源网<a href="http://www.snowstop.net/" target=_blank><u><font color=#0000ff>http://www.snowstop.net/</font></u></a> <br><br>
<img src ="http://www.blogjava.net/franlk/aggbug/123321.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/franlk/" target="_blank">见酒就晕</a> 2007-06-11 10:45 <a href="http://www.blogjava.net/franlk/articles/123321.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[摘录]html中&amp;ltinput type="file"...&amp;gt 设置默认值</title><link>http://www.blogjava.net/franlk/articles/113445.html</link><dc:creator>见酒就晕</dc:creator><author>见酒就晕</author><pubDate>Wed, 25 Apr 2007 02:53:00 GMT</pubDate><guid>http://www.blogjava.net/franlk/articles/113445.html</guid><wfw:comment>http://www.blogjava.net/franlk/comments/113445.html</wfw:comment><comments>http://www.blogjava.net/franlk/articles/113445.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/franlk/comments/commentRss/113445.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/franlk/services/trackbacks/113445.html</trackback:ping><description><![CDATA[<br>&nbsp;
<p><span>&lt;input type="file" name=&#8221;file1&#8221;&gt; &nbsp;file</span><span>中的</span><span>value</span><span>是只读的，不能通过</span><span>document.all.file1.value=&#8221;c:\tmep\*.*&#8221;</span><span>，这也是基于安全的考虑。</span></p>
<p>&nbsp;</p>
<p><span>但不是不能为</span><span>file</span><span>设置默认值（只支持</span><span>WINWOWS</span><span>）</span></p>
<p><span>&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"&gt;</span></p>
<p><span>&lt;HTML&gt;</span></p>
<p><span>&lt;HEAD&gt;</span></p>
<p><span>&lt;TITLE&gt; New Document &lt;/TITLE&gt;</span></p>
<p><span>&lt;META NAME="Generator" CONTENT="EditPlus"&gt;</span></p>
<p><span>&lt;META NAME="Author" CONTENT=""&gt;</span></p>
<p><span>&lt;META NAME="Keywords" CONTENT=""&gt;</span></p>
<p><span>&lt;META NAME="Description" CONTENT=""&gt;</span></p>
<p><span>&nbsp;&lt;script&gt;<span>&nbsp;&nbsp; </span></span></p>
<p><span>&nbsp;function&nbsp;init(){<span>&nbsp;&nbsp; </span></span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>document.all.file1.focus();<span>&nbsp;&nbsp; </span></span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>var WshShell=new<span>&nbsp;&nbsp; </span>ActiveXObject("WScript.Shell");<span>&nbsp;&nbsp; </span></span></p>
<p><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>WshShell.sendKeys("C:\\WINDOWS\\System.dat");</span></p>
<p><span>&nbsp;}<span>&nbsp;&nbsp; </span></span></p>
<p><span>&nbsp;&lt;/script&gt; </span></p>
<p><span>&lt;/HEAD&gt;</span></p>
<p>&nbsp;</p>
<p><span>&lt;BODY onload="init()"&gt;<span>&nbsp;&nbsp; </span></span></p>
<p><span>&nbsp;&lt;input id="file1" type="file" name="file1"&gt;</span></p>
<p><span>&lt;/BODY&gt;</span></p>
<p><span>&lt;/HTML&gt;</span></p>
<img src ="http://www.blogjava.net/franlk/aggbug/113445.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/franlk/" target="_blank">见酒就晕</a> 2007-04-25 10:53 <a href="http://www.blogjava.net/franlk/articles/113445.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[摘录]WWW的核心——HTTP协议</title><link>http://www.blogjava.net/franlk/articles/112989.html</link><dc:creator>见酒就晕</dc:creator><author>见酒就晕</author><pubDate>Mon, 23 Apr 2007 09:05:00 GMT</pubDate><guid>http://www.blogjava.net/franlk/articles/112989.html</guid><wfw:comment>http://www.blogjava.net/franlk/comments/112989.html</wfw:comment><comments>http://www.blogjava.net/franlk/articles/112989.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/franlk/comments/commentRss/112989.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/franlk/services/trackbacks/112989.html</trackback:ping><description><![CDATA[摘录地址：<a href="http://henry2008.teeta.com/blog/data/58261.html">http://henry2008.teeta.com/blog/data/58261.html</a><br><br><br>
<div class=imagefix id=blog>
<p>
<p align=left>众所周知，Internet的基本协议是TCP/IP协议，目前广泛采用的FTP、Archie Gopher等是建立在TCP/IP协议之上的应用层协议，不同的协议对应着不同的应用。<br>　　WWW服务器使用的主要协议是HTTP协议，即超文体传输协议。由于HTTP协议支持的服务不限于WWW，还可以是其它服务，因而HTTP协议允许用户在统一的界面下，采用不同的协议访问不同的服务，如FTP、Archie、SMTP、NNTP等。另外，HTTP协议还可用于名字服务器和分布式对象管理。</p>
<p><font face=宋体 color=#8000ff><big><big><strong>2.1　HTTP协议简介</strong></big></big></font><br>　　HTTP是一个属于应用层的面向对象的协议，由于其简捷、快速的方式，适用于分布式超媒体信息系统。它于1990年提出，经过几年的使用与发展，得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版，HTTP/1.1的规范化工作正在进行之中，而且HTTP-NG(Next Generation of HTTP)的建议已经提出。<br>　　HTTP协议的主要特点可概括如下：<br>1.支持客户/服务器模式。<br>2.简单快速：客户向服务器请求服务时，只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。<br>由于HTTP协议简单，使得HTTP服务器的程序规模小，因而通信速度很快。<br>3.灵活：HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。<br>4.无连接：无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求，并收到客户的应答后，即断开连接。采用这种方式可以节省传输时间。<br>5.无状态：HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息，则它必须重传，这样可能导致每次连接传送的数据量增大。另一方面，在服务器不需要先前信息时它的应答就较快。</p>
<p><font face=宋体 color=#8000ff><big><strong>2.2　HTTP协议的几个重要概念</strong></big></font><br>　　1.连接(Connection)：一个传输层的实际环流，它是建立在两个相互通讯的应用程序之间。<br>　　2.消息(Message)：HTTP通讯的基本单位，包括一个结构化的八元组序列并通过连接传输。<br>　　3.请求(Request)：一个从客户端到服务器的请求信息包括应用于资源的方法、资源的标识符和协议的版本号<br>　　4.响应(Response)：一个从服务器返回的信息包括HTTP协议的版本号、请求的状态(例如&#8220;成功&#8221;或&#8220;没找到&#8221;)和文档的MIME类型。<br>　　5.资源(Resource)：由URI标识的网络数据对象或服务。<br>　　6.实体(Entity)：数据资源或来自服务资源的回映的一种特殊表示方法，它可能被包围在一个请求或响应信息中。一个实体包括实体头信息和实体的本身内容。<br>　　7.客户机(Client)：一个为发送请求目的而建立连接的应用程序。<br>　　8.用户代理(User agent)：初始化一个请求的客户机。它们是浏览器、编辑器或其它用户工具。<br>　　9.服务器(Server)：一个接受连接并对请求返回信息的应用程序。<br>　　10.源服务器(Origin server)：是一个给定资源可以在其上驻留或被创建的服务器。<br>　　11.代理(Proxy)：一个中间程序，它可以充当一个服务器，也可以充当一个客户机，为其它客户机建立请求。请求是通过可能的翻译在内部或经过传递到其它的服务器中。一个代理在发送请求信息之前，必须解释并且如果可能重写它。<br>　　代理经常作为通过防火墙的客户机端的门户，代理还可以作为一个帮助应用来通过协议处理没有被用户代理完成的请求。<br>　　12.网关(Gateway)：一个作为其它服务器中间媒介的服务器。与代理不同的是，网关接受请求就好象对被请求的资源来说它就是源服务器；发出请求的客户机并没有意识到它在同网关打交道。<br>　　网关经常作为通过防火墙的服务器端的门户，网关还可以作为一个协议翻译器以便存取那些存储在非HTTP系统中的资源。<br>　　13.通道(Tunnel)：是作为两个连接中继的中介程序。一旦激活，通道便被认为不属于HTTP通讯，尽管通道可能是被一个HTTP请求初始化的。当被中继的连接两端关闭时，通道便消失。当一个门户(Portal)必须存在或中介(Intermediary)不能解释中继的通讯时通道被经常使用。<br>　　14.缓存(Cache)：反应信息的局域存储。</p>
<p align=left><font face=宋体 color=#8000ff><big><strong>2.3　HTTP协议的运作方式</strong></big></font><br>　　HTTP协议是基于请求／响应范式的。一个客户机与服务器建立连接后，发送一个请求给服务器，请求方式的格式为，统一资源标识符、协议版本号，后边是MIME信息包括请求修饰符、客户机信息和可能的内容。服务器接到请求后，给予相应的响应信息，其格式为一个状态行包括信息的协议版本号、一个成功或错误的代码，后边是MIME信息包括服务器信息、实体信息和可能的内容。<br>　　许多HTTP通讯是由一个用户代理初始化的并且包括一个申请在源服务器上资源的请求。最简单的情况可能是在用户代理(UA)和源服务器(O)之间通过一个单独的连接来完成(见图2-1)。<br>　　当一个或多个中介出现在请求／响应链中时，情况就变得复杂一些。中介由三种：代理(Proxy)、网关(Gateway)和通道(Tunnel)。一个代理根据URI的绝对格式来接受请求，重写全部或部分消息，通过URI的标识把已格式化过的请求发送到服务器。网关是一个接收代理，作为一些其它服务器的上层，并且如果必须的话，可以把请求翻译给下层的服务器协议。一个通道作为不改变消息的两个连接之间的中继点。当通讯需要通过一个中介(例如：防火墙等)或者是中介不能识别消息的内容时，通道经常被使用。 &nbsp; <br>　　表明了在用户代理(UA)和源服务器(O)之间有三个中介(A,B和C)。一个通过整个链的请求或响应消息必须经过四个连接段。这个区别是重要的，因为一些HTTP通讯选择可能应用于最近的连接、没有通道的邻居，应用于链的终点或应用于沿链的所有连接。尽管图2-2是线性的，每个参与者都可能从事多重的、并发的通讯。例如，B可能从许多客户机接收请求而不通过A，并且／或者不通过C把请求送到A，在同时它还可能处理A的请求。<br>　　任何针对不作为通道的汇聚可能为处理请求启用一个内部缓存。缓存的效果是请求／响应链被缩短，条件是沿链的参与者之一具有一个缓存的响应作用于那个请求。下图说明结果链，其条件是针对一个未被UA或A加缓存的请求，B有一个经过C来自O的一个前期响应的缓存拷贝。<br>　　在Internet上，HTTP通讯通常发生在TCP/IP连接之上。缺省端口是TCP 80，但其它的端口也是可用的。但这并不预示着HTTP协议在Internet或其它网络的其它协议之上才能完成。HTTP只预示着一个可靠的传输。<br>　　以上简要介绍了HTTP协议的宏观运作方式，下面介绍一下HTTP协议的内部操作过程。<br>　　首先，简单介绍基于HTTP协议的客户/服务器模式的信息交换过程，如图2-4所示，它分四个过程，建立连接、发送请求信息、发送响应信息、关闭连接。<br>　　在WWW中，&#8220;客户&#8221;与&#8220;服务器&#8221;是一个相对的概念，只存在于一个特定的连接期间，即在某个连接中的客户在另一个连接中可能作为服务器。WWW服务器运行时，一直在TCP80端口(WWW的缺省端口)监听，等待连接的出现。<br>　　下面，讨论HTTP协议下客户/服务器模式中信息交换的实现。 　　1.建立连接 　　连接的建立是通过申请套接字(Socket)实现的。客户打开一个套接字并把它约束在一个端口上，如果成功，就相当于建立了一个虚拟文件。以后就可以在该虚拟文件上写数据并通过网络向外传送。<br>　　2.发送请求<br>　　打开一个连接后，客户机把请求消息送到服务器的停留端口上，完成提出请求动作。<br>　　HTTP/1.0　　请求消息的格式为：<br>　　请求消息=请求行(通用信息|请求头|实体头) CRLF[实体内容]<br>　　请求　行=方法　请求URL　HTTP版本号　CRLF<br>　　方　　法=GET|HEAD|POST|扩展方法<br>　　U　R 　L=协议名称+宿主名+目录与文件名<br>　　请求行中的方法描述指定资源中应该执行的动作，常用的方法有GET、HEAD和POST。不同的请求对象对应GET的结果是不同的，对应关系如下：<br>　　对象　　　　　　GET的结果<br>　　文件　　　　　　文件的内容<br>　　程序　　　　　　该程序的执行结果<br>　　数据库查询　　　查询结果<br>　　HEAD——要求服务器查找某对象的元信息，而不是对象本身。<br>　　POST——从客户机向服务器传送数据，在要求服务器和CGI做进一步处理时会用到POST方法。POST主要用于发送HTML文本中FORM的内容，让CGI程序处理。<br>　　一个请求的例子为：<br>　　GET http://WWW.swjtu.edu.cn/home.html HTTP/1.0<br>　　头信息又称为元信息，即信息的信息，利用元信息可以实现有条件的请求或应答 。<br>　　请求头——告诉服务器怎样解释本次请求，主要包括用户可以接受的数据类型、压缩方法和语言等。<br>　　实体头——实体信息类型、长度、压缩方法、最后一次修改时间、数据有效期等。<br>　　实体——请求或应答对象本身。<br>　　3.发送响应<br>　　服务器在处理完客户的请求之后，要向客户机发送响应消息。<br>　　HTTP/1.0的响应消息格式如下：<br>　　响应消息=状态行(通用信息头|响应头|实体头)　CRLF　〔实体内容〕<br>　　状 态 行=HTTP版本号　状态码　原因叙述<br>　　状态码表示响应类型<br>　　1&#215;&#215;　　保留<br>　　2&#215;&#215;　　表示请求成功地接收<br>　　3&#215;&#215;　　为完成请求客户需进一步细化请求<br>　　4&#215;&#215;　　客户错误<br>　　5&#215;&#215;　　服务器错误 <br>　　响应头的信息包括：服务程序名，通知客户请求的URL需要认证，请求的资源何时能使用。<br>　　4.关闭连接<br>　　客户和服务器双方都可以通过关闭套接字来结束TCP/IP对话<br></p>
<p>&#160;</p>
</div>
<br>
<img src ="http://www.blogjava.net/franlk/aggbug/112989.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/franlk/" target="_blank">见酒就晕</a> 2007-04-23 17:05 <a href="http://www.blogjava.net/franlk/articles/112989.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[摘录]进一步理解HTTP协议中的GET，POST</title><link>http://www.blogjava.net/franlk/articles/112979.html</link><dc:creator>见酒就晕</dc:creator><author>见酒就晕</author><pubDate>Mon, 23 Apr 2007 08:40:00 GMT</pubDate><guid>http://www.blogjava.net/franlk/articles/112979.html</guid><wfw:comment>http://www.blogjava.net/franlk/comments/112979.html</wfw:comment><comments>http://www.blogjava.net/franlk/articles/112979.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/franlk/comments/commentRss/112979.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/franlk/services/trackbacks/112979.html</trackback:ping><description><![CDATA[摘录地址：<a href="http://henry2008.teeta.com/blog/data/58260.html">http://henry2008.teeta.com/blog/data/58260.html</a><br><br>
<div class=imagefix id=blog>
<p>
<p><strong>HTTP-GET和HTTP-POST<br><br></strong>　　HTTP-GET和HTTP-POST是使用HTTP的标准协议动词，用于编码和传送变量名/变量值对参数，并且使用相关的请求语义。每个HTTP-GET和HTTP-POST都由一系列HTTP请求头组成，这些请求头定义了客户端从服务器请求了什么，而响应则是由一系列HTTP应答头和应答数据组成，如果请求成功则返回应答。<br><br>　　HTTP-GET以使用MIME类型application/x-www-form-urlencoded的urlencoded文本的格式传递参数。Urlencoding是一种字符编码，保证被传送的参数由遵循规范的文本组成，例如一个空格的编码是"%20"。附加参数还能被认为是一个查询字符串。<br><br>　　与HTTP-GET类似，HTTP-POST参数也是被URL编码的。然而，变量名/变量值不作为URL的一部分被传送，而是放在实际的HTTP请求消息内部被传送。</p>
<p><strong>Get 和 Post 的区别两点：</strong></p>
<p>一、这两者传递参数时所用的编码不一定是一样的。在 Tomcat 中似乎 Get 的编码方式是根据页面中指定的编码方式，而 Post 则是一直使用同一种编码方式，可在 Tomcat 的 server.xml&nbsp;中配置。</p>
<p>二、使用 Get 的时候，参数会显示在地址栏上，而 Post 不会。</p>
<p>所以，如果这些数据是中文数据而且是非敏感数据，那么使用 get；如果用户输入的数据不是中文字符而且包含敏感数据，那么还是使用 post为好。</p>
<p><strong>表单提交中get和post方式的区别归纳如下几点：</strong></p>
<p>1. get是从服务器上获取数据，post是向服务器传送数据。<br>2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中，值和表单内各个字段一一对应，在URL中可以看到。post是通过HTTP post机制，将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。<br>3. 对于get方式，服务器端用Request.QueryString获取变量的值，对于post方式，服务器端用Request.Form获取提交的数据。<br>4. get传送的数据量较小，不能大于2KB。post传送的数据量较大，一般被默认为不受限制。但理论上，IIS4中最大量为80KB，IIS5中为100KB。<br>5. get安全性非常低，post安全性较高。</p>
<p>下面举一个简单的例子来说明它们的区别：</p>
<p>&lt;!-分别通过get和post方式提交表单--&gt; <br>&lt;FORM ACTION="getpost.asp" METHOD="get"&gt; <br>&lt;INPUT TYPE="text" NAME="Text" VALUE="<a href="http://bluesea.blogcup.com/" target=_blank><u><font color=#0000ff>http://bluesea.blogcup.com"&gt;&lt;/INPUT</font></u></a>&gt; <br>&lt;INPUT TYPE="submit" VALUE="Get方式"&gt;&lt;/INPUT&gt; <br>&lt;/FORM&gt; <br>&lt;BR&gt; <br>&lt;FORM ACTION="getpost.asp" METHOD="post"&gt; <br>&lt;INPUT TYPE="text" NAME="Text" VALUE="<a href="http://bluesea.blogcup.com/" target=_blank><u><font color=#0000ff>http://bluesea.blogcup.com"&gt;&lt;/INPUT</font></u></a>&gt; <br>&lt;INPUT TYPE="submit" VALUE="Post方式"&gt;&lt;/INPUT&gt; <br>&lt;/FORM&gt; <br>&lt;BR&gt;</p>
<p>&lt;% If Request.QueryString("Text") &lt;&gt; "" Then %&gt; <br>通过get方式传递的字符串是： "&lt;B&gt;&lt;%= Request.QueryString("Text") %&gt;&lt;/B&gt;"&lt;BR&gt; <br>&lt;% End If %&gt; </p>
<p>&lt;% If Request.Form("Text") &lt;&gt; "" Then %&gt; <br>通过Post方式传递的字符串是： "&lt;B&gt;&lt;%= Request.Form("Text") %&gt;&lt;/B&gt;"&lt;BR&gt; <br>&lt;% End If %&gt; </p>
<p>&#160;</p>
</div>
<br><br>
<img src ="http://www.blogjava.net/franlk/aggbug/112979.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/franlk/" target="_blank">见酒就晕</a> 2007-04-23 16:40 <a href="http://www.blogjava.net/franlk/articles/112979.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转贴]JavaScript 去掉空格</title><link>http://www.blogjava.net/franlk/articles/112939.html</link><dc:creator>见酒就晕</dc:creator><author>见酒就晕</author><pubDate>Mon, 23 Apr 2007 05:51:00 GMT</pubDate><guid>http://www.blogjava.net/franlk/articles/112939.html</guid><wfw:comment>http://www.blogjava.net/franlk/comments/112939.html</wfw:comment><comments>http://www.blogjava.net/franlk/articles/112939.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/franlk/comments/commentRss/112939.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/franlk/services/trackbacks/112939.html</trackback:ping><description><![CDATA[<p>摘录地址：<a href="http://www.mltang.com/article/efd65c8e-07f9-4c9b-8b6b-edab9a9b46a4.html">http://www.mltang.com/article/efd65c8e-07f9-4c9b-8b6b-edab9a9b46a4.html</a><br><br>//Javascript中为String对象添加trim<br>String.prototype.Trim&nbsp; = function(){return this.replace(/(^\s*)|(\s*$)/g, "");}<br>String.prototype.LTrim = function(){return this.replace(/(^\s*)/g, "");}<br>String.prototype.Rtrim = function(){return this.replace(/(\s*$)/g, "");}<br><br><br>答3：<br>&lt;input type=text name=txt size=10&gt;&lt;br&gt;<br>&lt;input type=button value=check onclick="check1()"&gt;</p>
<p>&lt;script language="Javascript"&gt;&lt;!--<br>String.prototype.Trim&nbsp; = function(){return this.replace(/(^\s*)|(\s*$)/g, "");}<br>function check1(){<br>&nbsp; var tt = document.all.txt.value;<br>&nbsp; var s;<br>&nbsp; if (tt.Trim().length==0){<br>&nbsp;&nbsp;&nbsp;&nbsp; alert("输入不能为空！");<br>&nbsp;&nbsp;&nbsp;&nbsp; document.all.txt.value = "";<br>&nbsp;&nbsp;&nbsp;&nbsp; return;}<br>&nbsp; tt = tt.Trim();<br>&nbsp; for (i = 0; i &lt; tt.length; i++){<br>&nbsp;&nbsp;&nbsp; s = tt.charCodeAt(i);<br>&nbsp;&nbsp;&nbsp; if ((s==13) || (s==9)){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert("你输入的字符中含有tab或者回车键！");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; document.all.txt.value = tt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return; }<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp; return;<br>&nbsp; }<br>// --&gt;&lt;/script&gt;</p>
<img src ="http://www.blogjava.net/franlk/aggbug/112939.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/franlk/" target="_blank">见酒就晕</a> 2007-04-23 13:51 <a href="http://www.blogjava.net/franlk/articles/112939.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[摘录]Ajax实现查询助手</title><link>http://www.blogjava.net/franlk/articles/102601.html</link><dc:creator>见酒就晕</dc:creator><author>见酒就晕</author><pubDate>Thu, 08 Mar 2007 07:14:00 GMT</pubDate><guid>http://www.blogjava.net/franlk/articles/102601.html</guid><wfw:comment>http://www.blogjava.net/franlk/comments/102601.html</wfw:comment><comments>http://www.blogjava.net/franlk/articles/102601.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/franlk/comments/commentRss/102601.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/franlk/services/trackbacks/102601.html</trackback:ping><description><![CDATA[
		<p>摘录地址：<a href="http://www2.matrix.org.cn/resource/article/2006-06-28/Ajax+Query+Helper_44506.html">http://www2.matrix.org.cn/resource/article/2006-06-28/Ajax+Query+Helper_44506.html</a><br /><br /><strong><span style="FONT-SIZE: 16px">1       概述</span><br /><br />1.1    查询助手功能介绍</strong><br />在通常的BS软件项目中，查询助手使用频率非常高，其功能是点击图标，页面上元素的值为条件，到后台查询结果，弹出查询结果对话框，选择纪录，关闭对话框，并且把你选择的有关内容显示到父页面中指定的元素中。由于其友好的界面设计和操作性能，对用户和设计开发人员都有很大的吸引力，但存在开发效率低，复用性差，复杂度较高等问题。<br /><br /><b>1.2    Ajax现状和项目实践</b><br />随着Ajax的风靡全球，Google的推波助澜，优秀的界面风格，局部刷新的全新感受，给人耳目一新的印象。但由于Ajax诸多javascript脚本和后台应用的复杂性，使ajax的推广困难重重，国内的应用大多都是玩具级，距项目实用还有不小的差距，包括Microsoft，IBM，SUN都在积极攻关研发，以提高项目开发的实用性，降低开发难度。为了使用ajax在项目的实用性，针对查询助手功能的Ajax做了一些有益的尝试，特别愿意和大家分享。<br /><br /><b>1.3    Ajax简介</b><br />网上关于Ajax的文章汗牛充栋，具体的Ajax理论可以到网上搜索，这儿只做简单介绍：<br /><br />Ajax是Asynchronous JavaScript and XML的缩写。Ajax并不是一门新的语言或技术,它实际上是几项技术按一定的方式组合在一在同共的协作中发挥各自的作用，它包括：<br /><br />&amp;Oslash;         使用XHTML和CSS标准化呈现<br /><br />&amp;Oslash;         使用DOM实现动态显示和交互<br /><br />&amp;Oslash;         使用XML和XSLT进行数据交换与处理<br /><br />&amp;Oslash;         使用XMLHttpRequest进行异步数据读取;<br /><br />&amp;Oslash;         使用JavaScript绑定和处理所有数据<br /><br />Ajax的工作原理相当于在用户和服务器之间加了—个中间层,使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器,像—些数据验证和数据处理等都交给Ajax引擎自己来做,只有确定需要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求。<br /><br /><br /><b><span style="FONT-SIZE: 16px">2       Ajax查询助手功能设计理念</span></b><br /><br />查询助手功能设计的AJAX的设计主要集中在从前台的jsp页面提出Ajax请求，所有的Ajax请求都提交给查询助手中间层，查询助手中间层自动创建查询助手具体实现类来实现查询助手的具体查询功能，查询助手具体实现类实现数据库查询并组织传回前台数据文本。传到前台后自动选择不同的JavaScript函数来解析数据，并显示到页面的Div或者直接显示到页面元素中。<br /><br />2.1    Ajax实现查询助手功能示意图如下：<br /><img style="DISPLAY: inline" onclick="javascript:imgClick(this);" alt="image" src="http://www2.matrix.org.cn/resource/upload/forum/2006_06_28_231346_XfhmGewwHU.jpg" onload="javascript:imgLoad(this);" border="0" resized="0" /><br /><br /><br /><b><span style="FONT-SIZE: 16px">3       Ajax实现详述</span></b><br /><br /><b>3.1    Jsp前台</b><br />在Jsp中，点击查询助手图标，或者在输入框中打回车键，则显示如图3-1界面，Ajax从后台获取数据显示在前台页面上方，但此时页面并未刷新，并且缺省单选按钮选中第一行，第一行背景色为绿色。有两种操作可以选择： <br /><br />1）  选择是使用上下方向键来选择纪录，上下键移动时纪录背景色自动改变，单选按钮也自动选择。当决定选择某一行纪录时，点击回车键。<br /><br />2）  选择使用鼠标，当鼠标移动时，纪录的背景色发生改变。<br /><br />3）  当点击回车键，或者点击鼠标左键时则相关内容填充到具体的页面元素中，并把输入焦点自动下移到指定的输入框，并关闭选择界面。<br /><br />4）  如果你不想选择，也可以直接点击选择界面右上角的关闭图标<br /><br /><br /><img style="DISPLAY: inline" onclick="javascript:imgClick(this);" alt="image" src="http://www2.matrix.org.cn/resource/upload/forum/2006_06_28_231617_UyNKwOtRRo.jpg" width="600" onload="javascript:imgLoad(this);" border="0" resized="1" /><br />图3-1<br /><br />如果查询结果为没有纪录，则：<br /><br /><img style="DISPLAY: inline" onclick="javascript:imgClick(this);" alt="image" src="http://www2.matrix.org.cn/resource/upload/forum/2006_06_28_231648_reQEzRNvqF.jpg" width="600" onload="javascript:imgLoad(this);" border="0" resized="1" /><br />图3-2<br /><br />具体代码如下：<br /><br />3.1.1   引入js，css文件<br /></p>
		<pre class="overflow">&lt;link rel="stylesheet" href="&lt;%=request.getContextPath()%&gt;/tplife/css/maginfier.css" type="text/css"&gt;<br /><br />&lt;script type="text/javascript" src="&lt;%=request.getContextPath()%&gt;/js/ajax/maginfier.js"&gt;&lt;/script&gt;</pre>
		<p>
				<br />
				<br />组织机构查询助手：<br /></p>
		<pre class="overflow">&lt;br/&gt;&lt;img src = "&lt;%=request.getContextPath()%&gt;/images/magifiericon.gif" onclick="orgMaginfier('&lt;%=request.getContextPath()%&gt;','selOrg','DivShim','orgId,orgCode,orgName','0,2,1','message','','');"&gt;<br /><br />    &lt;input type="text" id = "orgCode" style="width:300px" onkeydown="if(event.keyCode == 13){orgMaginfier('&lt;%=request.getContextPath()%&gt;','selOrg','DivShim','orgId,orgCode,orgName','0,2,1','message'); gnIsSelectCtrl = 1;}else{}"&gt;<br /><br />    &lt;input type="text" id = "orgName" style="width:300px"&gt;<br /><br />    &lt;input type="hidden" id = "orgId"&gt;<br /><br />    <br /><br />    &lt;br/&gt;         <br /><br />      &lt;div id="selOrg"  style="display:none; z-index:100" class="termFrame" &gt;&lt;/div&gt;    <br /><br />       &lt;iframe<br /><br />        id="DivShim"<br /><br />        src="javascript:false;"<br /><br />        scrolling="no"<br /><br />        frameborder="0"<br /><br />        style="position:absolute; top:0px; left:0px; display:none;"&gt;<br /><br />       &lt;/iframe&gt;  </pre>
		<p>
				<br />
				<br />
				<br />3.1.1.1       Js文件内容：<br /><br /></p>
		<pre class="overflow">var xmlHttp;<br />var maginfierName ;<br />var displayName ;//显示结果Div<br />var displayIFrame;//显示结果IFrame<br />var posNames ;//回填页面元素数组，如currencyId,currencyAbbrName,currencyName<br />var valueIndexs;//回填所需值的列号，如0,1,2<br />var nextPos;   //回填后focus的元素名<br />var serverPath;<br />var maginfierFunction;<br />var tableHead = new Array();<br /><br /><br />function createXMLHttpRequest() {<br />   <br />    if (window.ActiveXObject) {<br />        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");<br />    } <br />    else if (window.XMLHttpRequest) {<br />        xmlHttp = new XMLHttpRequest();<br />    }<br />    <br />}<br />function keyDowm(obj, pos, value, maginfierName0, maginfierDisplayName, maginfierDisplayIFrame)<br />{<br />  if(event.keyCode == 13)//回车键<br />  {<br />     filled(pos, value, maginfierDisplayName, maginfierDisplayIFrame);<br />  }<br />  else if(event.keyCode == 40)//上移键<br />  {     <br />    document.getElementById(maginfierName0+"divrow" + obj).bgColor='';  <br />    <br />    var t = eval(obj) + 1;<br />    if(document.getElementById(maginfierName0+"divrow" + t) != null)<br />    {<br />        document.getElementById(maginfierName0+"divrow" + t).bgColor='#CCFF99';<br />    }    <br />    <br />  }<br />  else if(event.keyCode == 38)//下移键<br />  {<br />    document.getElementById(maginfierName0+"divrow" + obj).bgColor='';   <br />    var t = eval(obj) - 1;<br />    if(t &gt;= 0)<br />    {<br />       document.getElementById(maginfierName0+"divrow" + t).bgColor='#CCFF99';<br />    }<br />  }<br /><br />}<br />function closeDiv(maginfierDisplayName, maginfierDisplayIFrame)<br />{<br />    _termFrame=getElement(maginfierDisplayName);<br />    _termFrame.style.display = 'none'    <br />   getElement(maginfierDisplayIFrame).style.display = 'none';<br />}<br />function operationRequest(queryString, postBlock) {   <br />    <br />    var url = serverPath + "/AjaxMaginfier?" +  queryString; <br />    <br />    createXMLHttpRequest();<br />    xmlHttp.onreadystatechange = handleStateChange;<br />    xmlHttp.open("POST", url, true);     <br />  //    postBlock = "获得界面元素"; <br />  //设置大块数据传输postBlock，这样可以解决大数据量传向后台。<br />    xmlHttp.send(postBlock);<br />}<br />// 获得界面元素<br />function getElement(idString)<br />{<br /> return(document.all?document.all[idString]:document.getElementById(idString));<br />}<br />// 鼠标移动<br />function rollover(tdObject)<br />{<br /> tdObject.bgColor='#CCFF99';<br />}<br />function rollout(tdObject)<br />{<br /> tdObject.bgColor='';<br />}<br /><br />function filled(keyStr, valueStr, maginfierDisplayName, maginfierDisplayIFrame)<br />{  <br />   keys = keyStr.split(",");<br />   values = valueStr.split("&lt;c&gt;");<br />   <br />   for(i = 0; i &lt; keys.length; i++)<br />   {<br />      <br />      _test = getElement(keys[i]);<br />      _test.value = values[i];<br />   }      <br />   _termFrame=getElement(maginfierDisplayName);<br />   _termFrame.style.display = 'none'    <br />   getElement(maginfierDisplayIFrame).style.display = 'none'; <br />   if(document.getElementById(nextPos) != null)<br />   {    <br />      document.getElementById(nextPos).focus();<br />   }<br />}<br /><br />function responseDisplay() {       <br />    var responseText = xmlHttp.responseText;<br />    var responseContent = responseText.split("|");<br />    var dataText = responseContent[0];<br />   if(dataText.length == 0)<br />   {<br />       var displayStr =  '&lt;table width="98%"&gt;&lt;tr&gt;&lt;td align="right" style="border-bottom:0px"&gt;&lt;img src = "/fs/graphics/closeMaginfier.jpg" onclick="closeDiv(\''+displayName+'\',\''+displayIFrame+'\')"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;input type="radio" id="'+maginfierName+'rdoAlert" name="rdo"  onkeydown=" closeDiv(\''+displayName+'\',\''+displayIFrame+'\')"&gt;' + '&lt;font class="sfont" color="red"&gt;没有符合条件的记录，点任意键返回&lt;/font&gt;';<br />       displayAlert(displayStr);<br />       return;<br />   }<br />    var rows = dataText.split("&lt;r&gt;");    <br />    var _t=[];    <br />    var cols;<br />    var pos = "\'" + posNames + "\'";    <br />    <br />    for(var i = 0; i &lt; rows.length; i++) {<br />        cols = rows[i].split("&lt;c&gt;");       <br />        values = "\'" ;<br />        valuesIndexArray = valueIndexs.split(",");<br />        for( j = 0; j &lt; valuesIndexArray.length; j++)<br />        {<br />            var temp = cols[eval(valuesIndexArray[j])];<br />            //回填时把null置换成空字符串<br />            if(temp == 'null')<br />            {<br />                temp = '';<br />            }<br />            if(j &lt; valuesIndexArray.length - 1)<br />            {<br />                values = values + temp + "&lt;c&gt;";<br />            }<br />            else<br />           {<br />               values = values + temp + "\'"; <br />           }<br />        }  <br />        <br />        if(i == 0)<br />        {<br />           _t[i] = '&lt;tr  class="maginfierBody" id = "'+maginfierName+'divrow0" onmouseover="rollover(this)" onmouseout="rollout(this)" &gt;&lt;td width="5"  align="center"&gt;&lt;input type="radio" id="'+maginfierName+'rdo" name="rdo"  onkeydown=" keyDowm('+i+', '+pos+', '+values+',\''+maginfierName+'\',\''+displayName+'\',\''+displayIFrame+'\');" &gt;&lt;/td&gt;';<br />        }<br />        else <br />        {<br />            _t[i] = '&lt;tr class="maginfierBody" id = "'+maginfierName+'divrow'+i+'" onmouseover="rollover(this)" onmouseout="rollout(this)"  &gt;&lt;td width="5"  align="center"&gt;&lt;input type="radio" name="rdo"  onkeydown=" keyDowm('+i+', '+pos+', '+values+',\''+maginfierName+'\',\''+displayName+'\',\''+displayIFrame+'\');" &gt;&lt;/td&gt;';<br />        }<br />        //根据表头显示相关数据     <br />        for(var j = 1 ; j &lt; tableHead.length ; j++)<br />        {<br />            //在放大镜表格显示时，把null置换成空格显示<br />            if(cols[j] == 'null')<br />            {<br />                cols[j] = " ";<br />            }<br />            _t[i] = _t[i] + '&lt;td  onclick="filled('+pos+', '+values+',\''+displayName+'\',\''+displayIFrame+'\')"&gt;&lt;span class="rs"&gt;'+cols[j]+'&lt;/span&gt;&lt;/td&gt;';<br />        }<br />        _t[i] = _t[i] + '&lt;/tr&gt;';<br />        <br />    }  <br />     <br />     var tableHeadStr = addMaginfierHeader();<br />     <br />    displayStr =  '&lt;table width="98%"&gt;&lt;tr&gt;&lt;td align="right" style="border-bottom:0px"&gt;&lt;img src = "/fs/graphics/closeMaginfier.jpg" onclick="closeDiv(\''+displayName+'\',\''+displayIFrame+'\')"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;table cellspacing="1" width="98%" cellpadding="1" class="ItemList"&gt;'+ tableHeadStr +_t.join('')+'&lt;/table&gt; ';<br />    if(responseContent[1] != null)<br />    {<br />        pageParams = responseContent[1].split(",");<br />        prePageNo = parseInt(pageParams[2]) - 1;<br />        prePageFunction = maginfierFunction + "," +prePageNo+")";<br />        nextPageNo = parseInt(pageParams[2]) + 1;<br />        nextPageFunction = maginfierFunction + ", "+nextPageNo+")";<br />        <br />        displayStr += '&lt;br&gt; &lt;a href="javascript:if('+prePageNo+' == 0){alert(\'已经是第一页了\');}else{'+prePageFunction+'} "&gt;上一页&lt;/a&gt;';<br />        displayStr += '&lt;font class="sfont"&gt; | 第'+pageParams[2]+'页 | &lt;/font&gt; ';<br />        displayStr += '&lt;a href="javascript:if('+nextPageNo+' &gt; '+pageParams[1]+'){alert(\'已经是最后一页了\'); }else{'+nextPageFunction+'}"&gt;下一页&lt;/a&gt;';<br />        displayStr += '&lt;font class="sfont"&gt; | 共'+pageParams[1]+'页 | 共'+pageParams[0]+'行&lt;/font&gt;';       <br />    }<br />   <br />    displayMaginfier(displayStr);<br /><br />}<br />function test()<br />{<br />    var a = '23,,,43,23';<br />    var b = a.split(",");<br />    alert(b.length);<br />}<br />function addMaginfierHeader()<br />{<br />    var tableHeadStr = '&lt;tr class="maginfierTitle"&gt;&lt;td width="5"  align="center" &gt;&lt;/td&gt;';<br />    for(i = 1 ; i &lt; tableHead.length ; i++)<br />    {<br />        tableHeadStr = tableHeadStr + '&lt;td align="center" &gt;' + tableHead[i] + "&lt;/td&gt;"<br />    }<br />    tableHeadStr = tableHeadStr + "&lt;/tr&gt;";<br />    return tableHeadStr;<br />}<br />function displayAlert(displayStr)<br />{<br />    displayDiv = getElement(displayName);    <br /> displayDiv.innerHTML = displayStr; <br /> displayDiv.style.display='block';  <br /><br />    IfrRef = getElement(displayIFrame);<br /> IfrRef.style.width = displayDiv.offsetWidth;<br />    IfrRef.style.height = displayDiv.offsetHeight;<br />    IfrRef.style.top = displayDiv.style.top;<br />    IfrRef.style.left = displayDiv.style.left;<br />    IfrRef.style.zIndex = displayDiv.style.zIndex - 1;<br />    IfrRef.style.display = "block";<br /><br /> document.getElementById(maginfierName+"rdoAlert").checked = true; <br /> document.getElementById(maginfierName+"rdoAlert").focus(); <br />}<br />function displayMaginfier(displayStr)<br />{<br />    displayDiv = getElement(displayName);    <br /> displayDiv.innerHTML = displayStr; <br /> displayDiv.style.display='block'; <br /><br /><br />    IfrRef = getElement(displayIFrame);<br /> IfrRef.style.width = displayDiv.offsetWidth;<br />    IfrRef.style.height = displayDiv.offsetHeight;<br />    IfrRef.style.top = displayDiv.style.top;<br />    IfrRef.style.left = displayDiv.style.left;<br />    IfrRef.style.zIndex = displayDiv.style.zIndex - 1;<br />    IfrRef.style.display = "block";<br /><br /> document.getElementById(maginfierName+"divrow0").bgColor='#CCFF99';<br /> document.getElementById(maginfierName+"rdo").checked = true; <br /> document.getElementById(maginfierName+"rdo").focus();<br />}<br /><br />/*具体放大镜页面处理方法*/<br />function handleStateChange() {    <br />    if(xmlHttp.readyState == 4) {<br />        if(xmlHttp.status == 200) {           <br />           responseDisplay();           <br />        }<br />    }<br />}<br />function initMaginfierParas(serverPath0, divName, iFrameName, posNames0, valueIndexs0, nextPos0)<br />{<br />    serverPath = serverPath0; <br />    displayName = divName;<br />    displayIFrame = iFrameName;<br />    posNames = posNames0;<br />    valueIndexs = valueIndexs0<br />    nextPos = nextPos0;<br />}<br /><br />/*具体放大镜JavaScript*/<br /><br />//组织机构放大镜<br />function orgMaginfier(serverPath0, divName, iFrameName, posNames0,valueIndexs0, nextPos0, orgCode, orgId, transTypeId, maginfierType, pageNo)<br />{    <br /> initMaginfierParas(serverPath0, divName, iFrameName, posNames0, valueIndexs0, nextPos0);<br /> maginfierName = 'OrgMaginfier' + divName; <br /> maginfierFunction = "orgMaginfier(\'"+serverPath0+"\', \'"+divName+"\', \'"+iFrameName+"\', \'"+posNames0+"\',\'"+valueIndexs0+"\', \'"+nextPos0+"\', \'"+orgCode+"\', \'"+orgId+"\', \'"+transTypeId+"\', \'"+maginfierType+"\'";<br />    <br />    len = tableHead.length;<br />    tableHead.splice(0, len); <br />    tableHead[0] = "单位ID";<br />    tableHead[1] = "单位编号"; <br />    tableHead[2] = "单位名称";       <br />    tableHead[3] = "单位英文名称";<br />    <br />    queryString = "maginfierClassName=OrgMaginfier&amp;orgCode="+orgCode+"&amp;orgId="+orgId+"&amp;maginfierType="+maginfierType+"&amp;transTypeId="+transTypeId+"&amp;pageNo="+pageNo;<br />    <br />  operationRequest(queryString);<br />}<br /><br /><br /><br />3.1.1.2       Css文件内容：<br /><br />/* 界面样式 */<br /><br />.termFrame{<br /><br />       width:298px !important;<br /><br />       width:500px;<br /><br />       overflow:auto;<br /><br />       height:360px; <br /><br />       scrollbar-face-color: #FFFFCC; scrollbar-shadow-color: #FFFFCC; scrollbar-highlight-color: #FFFFCC; scrollbar-3dlight-color: #FFFFCC;  scrollbar-darkshadow-color: #6699CC; scrollbar-track-color: #FFFFCC; scrollbar-arrow-color: #99CCFF;<br /><br />    <br /><br />       margin-top:1px !important;<br /><br />       margin-top:0;  <br /><br />       border:1px solid #999999;<br /><br />       background-color:#FFFFFF; <br /><br />       position:absolute;<br /><br />       cursor:hand;<br /><br />       padding:2px;<br /><br />       font-size:70%;<br /><br />       z-index:100<br /><br />       }<br /><br />       .maginfierTitle {<br /><br /> BORDER-RIGHT: 1px; BORDER-TOP: 1px;BORDER-LEFT: 1px; BORDER-BOTTOM: 1px;BACKGROUND-COLOR: #456795; color: #FFFFFF;<br /><br />}<br /><br />       .maginfierBody {<br /><br />        BORDER-RIGHT: 1px;BORDER-TOP: 1px;BORDER-LEFT: 1px;BORDER-BOTTOM: 1px;<br /><br />}</pre>
		<p>
				<br />
				<br />3.1.2   当点击查询助手图标时（例如查询组织机构）：<br /></p>
		<pre class="overflow">function orgMaginfier(serverPath0, divName, iFrameName, posNames0,valueIndexs0, nextPos0, orgCode, orgId, transTypeId, maginfierType, pageNo)<br /><br />{    <br /><br />       initMaginfierParas(serverPath0, divName, iFrameName, posNames0, valueIndexs0, nextPos0);<br /><br />       maginfierName = 'OrgMaginfier' + divName;       <br /><br />       maginfierFunction = "orgMaginfier(\'"+serverPath0+"\', \'"+divName+"\', \'"+iFrameName+"\', \'"+posNames0+"\',\'"+valueIndexs0+"\', \'"+nextPos0+"\', \'"+orgCode+"\', \'"+orgId+"\', \'"+transTypeId+"\', \'"+maginfierType+"\'";<br /><br />    <br /><br />    len = tableHead.length;<br /><br />    tableHead.splice(0, len); <br /><br />    tableHead[0] = "单位ID";<br /><br />    tableHead[1] = "单位编号"; <br /><br />    tableHead[2] = "单位名称";       <br /><br />    tableHead[3] = "单位英文名称";<br /><br />    <br /><br />    queryString = "maginfierClassName=OrgMaginfier&amp;orgCode="+orgCode+"&amp;orgId="+orgId+"&amp;maginfierType="+maginfierType+"&amp;transTypeId="+transTypeId+"&amp;pageNo="+pageNo;<br /><br />    <br /><br />  operationRequest(queryString);<br /><br />}<br /><br />3.1.3   Js中的处理请求的函数<br />function operationRequest(queryString, postBlock) {   <br /><br />    <br /><br />    var url = serverPath + "/AjaxMaginfier?" +  queryString; <br /><br />    <br /><br />    createXMLHttpRequest();<br /><br />    xmlHttp.onreadystatechange = handleStateChange;<br /><br />    xmlHttp.open("POST", url, true);     <br /><br />  //    postBlock = "获得界面元素"; <br /><br />  //设置大块数据传输postBlock，这样可以解决大数据量传向后台。<br /><br />    xmlHttp.send(postBlock);<br /><br />}</pre>
		<p>
				<br />
				<br />3.1.4   当数据传回前台后<br /></p>
		<pre class="overflow">//该函数的名称不要改变，因为我在js文件中决定了用该函数来处理传回的数据<br /><br />function handleStateChange() {    <br /><br />    if(xmlHttp.readyState == 4) {<br /><br />        if(xmlHttp.status == 200) {           <br /><br />           responseDisplay();           <br /><br />        }<br /><br />    }<br /><br />}</pre>
		<p>
				<br />
				<br />3.1.5   具体处理传回的数据：<br /></p>
		<pre class="overflow">function responseDisplay() {       <br /><br />    var responseText = xmlHttp.responseText;<br /><br />    var responseContent = responseText.split("|");<br /><br />    var dataText = responseContent[0];<br /><br />   if(dataText.length == 0)<br /><br />   {<br /><br />       var displayStr = rightSpace + '&lt;img src = "/fs/graphics/closeMaginfier.jpg" onclick="closeDiv(\''+displayName+'\',\''+displayIFrame+'\')"&gt;&lt;br&gt;&lt;input type="radio" id="'+maginfierName+'rdoAlert" name="rdo"  onkeydown=" closeDiv(\''+displayName+'\',\''+displayIFrame+'\')"&gt;' + '&lt;font class="sfont" color="red"&gt;没有符合条件的记录，点任意键返回&lt;/font&gt;';<br /><br />       displayAlert(displayStr);<br /><br />       return;<br /><br />   }<br /><br />    var rows = dataText.split(";");    <br /><br />    var _t=[];    <br /><br />    var cols;<br /><br />    var pos = "\'" + posNames + "\'";    <br /><br />    <br /><br />    for(var i = 0; i &lt; rows.length; i++) {<br /><br />        cols = rows[i].split(",");       <br /><br />        values = "\'" ;<br /><br />        valuesIndexArray = valueIndexs.split(",");<br /><br />        for( j = 0; j &lt; valuesIndexArray.length; j++)<br /><br />        {<br /><br />            var temp = cols[eval(valuesIndexArray[j])];<br /><br />            //回填时把null置换成空字符串<br /><br />            if(temp == 'null')<br /><br />            {<br /><br />                temp = '';<br /><br />            }<br /><br />            if(j &lt; valuesIndexArray.length - 1)<br /><br />            {<br /><br />                values = values + temp + ",";<br /><br />            }<br /><br />            else<br /><br />           {<br /><br />               values = values + temp + "\'"; <br /><br />           }<br /><br />        }  <br /><br />        <br /><br />        if(i == 0)<br /><br />        {<br /><br />           _t[i] = '&lt;tr  class="maginfierBody" id = "'+maginfierName+'divrow0" onmouseover="rollover(this)" onmouseout="rollout(this)" &gt;&lt;td width="5"  align="center"&gt;&lt;input type="radio" id="'+maginfierName+'rdo" name="rdo"  onkeydown=" keyDowm('+i+', '+pos+', '+values+',\''+maginfierName+'\',\''+displayName+'\',\''+displayIFrame+'\');" &gt;&lt;/td&gt;';<br /><br />        }<br /><br />        else <br /><br />        {<br /><br />            _t[i] = '&lt;tr class="maginfierBody" id = "'+maginfierName+'divrow'+i+'" onmouseover="rollover(this)" onmouseout="rollout(this)"  &gt;&lt;td width="5"  align="center"&gt;&lt;input type="radio" name="rdo"  onkeydown=" keyDowm('+i+', '+pos+', '+values+',\''+maginfierName+'\',\''+displayName+'\',\''+displayIFrame+'\');" &gt;&lt;/td&gt;';<br /><br />        }<br /><br />        //根据表头显示相关数据     <br /><br />        for(var j = 0 ; j &lt; tableHead.length ; j++)<br /><br />        {<br /><br />            //在查询助手表格显示时，把null置换成空格显示<br /><br />            if(cols[j] == 'null')<br /><br />            {<br /><br />                cols[j] = " ";<br /><br />            }<br /><br />            _t[i] = _t[i] + '&lt;td  onclick="filled('+pos+', '+values+',\''+displayName+'\',\''+displayIFrame+'\')"&gt;&lt;span class="rs"&gt;'+cols[j]+'&lt;/span&gt;&lt;/td&gt;';<br /><br />        }<br /><br />        _t[i] = _t[i] + '&lt;/tr&gt;';<br /><br />        <br /><br />    } //显示表头内容<br /><br />function addMaginfierHeader()<br /><br />{<br /><br />    var tableHeadStr = '&lt;tr class="maginfierTitle"&gt;&lt;td width="5"  align="center" &gt;&lt;/td&gt;';<br /><br />    for(i = 0 ; i &lt; tableHead.length ; i++)<br /><br />    {<br /><br />        tableHeadStr = tableHeadStr + '&lt;td align="center" &gt;' + tableHead[i] + "&lt;/td&gt;"<br /><br />    }<br /><br />    tableHeadStr = tableHeadStr + "&lt;/tr&gt;";<br /><br />    return tableHeadStr;<br /><br />}<br /><br />//如果未查询到纪录，显示提示信息 <br /><br />function displayAlert(displayStr)<br /><br />{<br /><br />    _termFrame=getElement(displayName);<br /><br />    <br /><br />       _termFrame.innerHTML = displayStr;<br /><br />       // 显示结果<br /><br />       <br /><br />       _termFrame.style.display='block'; <br /><br />       <br /><br />       IfrRef = getElement(displayIFrame);<br /><br />       IfrRef.style.width = _termFrame.offsetWidth;<br /><br />    IfrRef.style.height = _termFrame.offsetHeight;<br /><br />    IfrRef.style.top = _termFrame.style.top;<br /><br />    IfrRef.style.left = _termFrame.style.left;<br /><br />    IfrRef.style.zIndex = _termFrame.style.zIndex - 1;<br /><br />    IfrRef.style.display = "block";<br /><br />       <br /><br />       document.getElementById(maginfierName+"rdoAlert").checked = true;<br /><br />       <br /><br />       document.getElementById(maginfierName+"rdoAlert").focus();<br /><br />       <br /><br />}<br /><br />//显示查询助手<br /><br />function displayMaginfier(displayStr)<br /><br />{<br /><br />    _termFrame=getElement(displayName);<br /><br />    <br /><br />       _termFrame.innerHTML = displayStr;<br /><br />       // 显示结果<br /><br />       _termFrame.style.display='block'; <br /><br />       //setHidden(overlaySelEles);<br /><br />       //_termFrame.style.visibility="visible";<br /><br />       IfrRef = getElement(displayIFrame);<br /><br />       IfrRef.style.width = _termFrame.offsetWidth;<br /><br />    IfrRef.style.height = _termFrame.offsetHeight;<br /><br />    IfrRef.style.top = _termFrame.style.top;<br /><br />    IfrRef.style.left = _termFrame.style.left;<br /><br />    IfrRef.style.zIndex = _termFrame.style.zIndex - 1;<br /><br />    IfrRef.style.display = "block";<br /><br />       <br /><br />       document.getElementById(maginfierName+"divrow0").bgColor='#CCFF99';<br /><br />       document.getElementById(maginfierName+"rdo").checked = true;<br /><br />       <br /><br />       document.getElementById(maginfierName+"rdo").focus();<br /><br />}</pre>
		<p>
				<br />
				<br />
				<b>3.2    Servlet后台</b>
				<br />选择Servlet作为后台，是因为如果采用Struts Action为后台处理程序，则必须指定要返回的页面。而使用Servlet则没有这个要求。默认返回到请求页面。而这个查询助手Servlet接受所有的查询助手请求，根据前台传来的查询助手实现类名称参数，由Spring创建查询助手实现类对象，该对象实现了查询助手接口（MaginfierInterface），从而获取返回值文本。返回到前台。<br /><br />3.2.1   具体代码如下：<br /><br />3.2.1.1       查询助手Servlet<br /></p>
		<pre class="overflow">public void doGet(HttpServletRequest request, HttpServletResponse response)<br /><br />                     throws ServletException, IOException {<br /><br />              String maginfierClassName = request.getParameter("maginfierClassName");            <br /><br />              MaginfierFactory factory = MaginfierFactory.getInstance();<br /><br />              MaginfierInterface maginfier = factory.createMaginfier(maginfierClassName);<br /><br />        String ret =  maginfier.getReturnValue(request);<br /><br />        System.out.println("ret = " + ret);<br /><br />              response.setContentType("text/xml;charset=GBK");<br /><br />              PrintWriter out = response.getWriter();<br /><br />                            <br /><br />              out.write(ret);<br /><br />              <br /><br />              out.close();<br /><br />       }</pre>
		<p>
				<br />
				<br />3.2.1.2       Web.xml配置<br />3.2.1.2.1      在Web.xml中配置查询助手Servlet<br /></p>
		<pre class="overflow">&lt;servlet&gt;<br /><br />        &lt;servlet-name&gt;AjaxMaginfier&lt;/servlet-name&gt;<br /><br />        &lt;servlet-class&gt;com.iss.fs.web.module.example.AjaxMaginfier&lt;/servlet-class&gt;<br /><br />        &lt;!—在系统初次启动时，初始化1次--&gt;        <br /><br />        &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;<br /><br /> &lt;/servlet&gt;<br /><br />&lt;servlet-mapping&gt;<br /><br />        &lt;servlet-name&gt;AjaxMaginfier&lt;/servlet-name&gt;<br /><br />        &lt;url-pattern&gt;/AjaxMaginfier&lt;/url-pattern&gt;<br /><br /> &lt;/servlet-mapping&gt;</pre>
		<p>
				<br />
				<br />3.2.1.3       查询助手具体实现类<br />3.2.1.3.1      实现查询助手接口方法<br /></p>
		<pre class="overflow">public class CurrencyMaginfier implements MaginfierInterface<br /><br />{<br /><br />       public String getReturnValue(HttpServletRequest request)<br /><br />       {<br /><br />              List list = null;<br /><br />              StringBuffer results = new StringBuffer();<br /><br />              CurrencyDAO dao = new CurrencyDAO();<br /><br />              String currencyAbbrName = request.getParameter("currencyAbbrName");<br /><br />              String responsibilityId = request.getParameter("responsibilityId");<br /><br />              if(currencyAbbrName == null || currencyAbbrName.equals("") || currencyAbbrName.equals("undefined"))<br /><br />              {<br /><br />                     currencyAbbrName = "";<br /><br />              }<br /><br />              if(responsibilityId == null || responsibilityId.equals("") || responsibilityId.equals("undefined"))<br /><br />              {<br /><br />                     responsibilityId = "-1";<br /><br />              }<br /><br />              try<br /><br />              {<br /><br />                     list = dao.getMaginfierResults(currencyAbbrName, responsibilityId);<br /><br />                     <br /><br />              }<br /><br />              catch (Exception ex)<br /><br />              {<br /><br />                     ex.printStackTrace();<br /><br />              }<br /><br />              if (list != null)<br /><br />              {<br /><br />                     Currency currency = null;                   <br /><br />                     for(int i = 0 ; i &lt; list.size(); i++)<br /><br />                     {<br /><br />                            currency = (Currency)list.get(i);<br /><br />                            results.append(currency.getID()).append(",");<br /><br />                            results.append(currency.getCurrencyAbbrName()).append(",");<br /><br />                            results.append(currency.getCurrencyName());                          <br /><br />                            if(i &lt; (list.size() - 1))<br /><br />                            {<br /><br />                                   results.append(";");<br /><br />                            }<br /><br />                     }<br /><br />              }<br /><br />              return results.toString();<br /><br />       }<br /><br />}</pre>
		<p>
				<br />
				<br />
				<b>3.3    技术难点解析</b>
				<br />3.3.1   查询助手函数参数设计：<br />固定参数：serverPath, divName, iFrameName, posNames,valueIndexs, nextPos<br /><br />serverPath：表示webserver的地址，如：/myapp<br /><br />divName：显示选择界面的Div名称<br /><br />iFrameName：显示选择界面的Ifranme名称，因为IE的缺陷，div显示时不能覆盖下面的选择框，所以我们使用Iframe作为div的底板。<br /><br />posNames：选择纪录后回显的页面元素，如：orgId,orgName,orgCode<br /><br />valueIndexs：对应回显页面元素，纪录的列序号，如 0,2,1<br /><br />nextPos：选择结束后要把输入焦点，移动到下一个页面元素名称<br /><br />固定参数后面的参数，不同的查询助手有不同参数列表，主要是条件数据。<br /><br />3.3.2   查询助手选择界面的表头设计：<br />不同的查询助手选择界面有不同的表头，我们使用js的全局数组变量来存储，每个查询助手使用前都先清空表头数组，使用splice(0, len)<br /><br /></p>
		<pre class="overflow">len = tableHead.length;<br /><br />    tableHead.splice(0, len);    <br /><br />    tableHead[0] = "外部账户ID";<br /><br />    tableHead[1] = "外部账户编号";<br /><br />    tableHead[2] = "外部账户名称";<br /><br />    tableHead[3] = "外部银行名称";<br /><br />    tableHead[4] = "机构号";<br /><br />    tableHead[5] = "联行号";</pre>
		<p>
				<br />
				<br />显示表头：<br /><br /></p>
		<pre class="overflow">var tableHeadStr = '&lt;tr class="maginfierTitle"&gt;&lt;td width="5"  align="center" &gt;&lt;/td&gt;';<br /><br />    for(i = 0 ; i &lt; tableHead.length ; i++)<br /><br />    {<br /><br />        tableHeadStr = tableHeadStr + '&lt;td align="center" &gt;' + tableHead[i] + "&lt;/td&gt;"<br /><br />    }<br /><br />tableHeadStr = tableHeadStr + "&lt;/tr&gt;";</pre>
		<p>
				<br />
				<br />3.3.3   处理后台传来的数据：<br />3.3.3.1.1      接受数据：<br /></p>
		<pre class="overflow">var responseText = xmlHttp.responseText;</pre>
		<p>
				<br />
				<br />3.3.3.1.2      查询无纪录处理：<br /></p>
		<pre class="overflow">if(responseText.length == 0)<br /><br />   {<br /><br />       var displayStr = rightSpace + '&lt;img src = "/fs/graphics/closeMaginfier.jpg" onclick="closeDiv()"&gt;&lt;br&gt;&lt;input type="radio" id="'+maginfierName+'rdoAlert" name="rdo"  onkeydown=" closeDiv()"&gt;' + '&lt;font class="sfont" color="red"&gt;没有符合条件的记录，点任意键返回&lt;/font&gt;';<br /><br />       displayAlert(displayStr);<br /><br />       return;<br /><br />   }</pre>
		<p>
				<br />
				<br />Onkeydown表示响应任意键，则关闭查询助手选择界面。<br /><br />Onclick 表示响应鼠标点击<br /><br />3.3.3.1.3      显示查询结果：<br />因为我们在后台把查询数据封装成文本传回前台，所以到前台后要解析文本，我不使用xml文本，数据封装规则是纪录间用“；”隔离，列之间用“，”隔离。同样到前台后使用相同的规则解析数据。<br /><br />把文本数据分成若干行数据<br /><br /></p>
		<pre class="overflow">var rows = responseText.split(";");</pre>
		<p>
				<br />
				<br />
				<b>3.4    总结</b>
				<br />Ajax实现查询助手功能是Ajax在项目中实战的一个小小的例子，根据以后的研发，将会产生更多更好的应用，本人在文档的Ajax简介部分引用了别的文档的说明，在查询助手的实现中借鉴了Google的Suggest设计理念，Suggest实现是直接从后台传来表格Frame，后台定义显示逻辑，在查询助手的设计中，前台来决定显示逻辑，后台仅提供数据，实现数据和显示的分离，这样就会造成前台需要解析数据文本，处理显示逻辑的Javascript函数，显得前台的JavaScript比较多，但我认为这是可以接受的，因为Ajax主要是前台逻辑。另外，Ajax查询助手的后台实现采用了Spring Bean管理容器，只是为了后期扩展的方便性，借助Spring容器管理的强大功能，实现类似工厂模式的功能。<br /><br /><b>关于作者</b><br />努力，在于我热爱我的事业，与中国的软件一起走向成熟，走向世界。<br />联系作者：lijj_72@hotmail.com</p>
<img src ="http://www.blogjava.net/franlk/aggbug/102601.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/franlk/" target="_blank">见酒就晕</a> 2007-03-08 15:14 <a href="http://www.blogjava.net/franlk/articles/102601.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[摘录]JavaScript 对象的反射及应用 </title><link>http://www.blogjava.net/franlk/articles/89327.html</link><dc:creator>见酒就晕</dc:creator><author>见酒就晕</author><pubDate>Thu, 21 Dec 2006 09:26:00 GMT</pubDate><guid>http://www.blogjava.net/franlk/articles/89327.html</guid><wfw:comment>http://www.blogjava.net/franlk/comments/89327.html</wfw:comment><comments>http://www.blogjava.net/franlk/articles/89327.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/franlk/comments/commentRss/89327.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/franlk/services/trackbacks/89327.html</trackback:ping><description><![CDATA[摘录地址：<a href="http://gis.javaeye.com/blog/24316">http://gis.javaeye.com/blog/24316</a><br /><br /><div style="MARGIN-TOP: 1px; MARGIN-LEFT: 15px"><h2><a title="永久链接：JavaScript 对象的反射及应用" href="http://gis.javaeye.com/blog/24316">JavaScript 对象的反射及应用</a></h2></div><div style="MARGIN-TOP: 5px; MARGIN-LEFT: 15px"><b>关键字:</b> JavaScript        </div><div style="MARGIN-TOP: 10px; MARGIN-LEFT: 15px"><table width="100%"><tbody><tr><td><p>Java和.NET都有着比较完善的反射机制，用来处理未知的对象并获取它们的属性和方法。JavaScript虽然没有完善的反射体系，但在编程的时候还是可以通过代码设计来实现类似反射的基本功能。</p><p>检测一个JavaScript对象是否支持某种特定的属性或方法：</p><p></p><div class="code_title">代码</div><div class="code_div"><div class="dp-highlighter"><div class="bar"></div><ol class="dp-j"><li class="alt"><span><span class="keyword">if</span><span> (typeof(obj.property) != </span><span class="string">"undefined"</span><span>) {}  </span></span></li></ol></div></div><script><![CDATA[ender_code();]]&gt;</script><p></p><p>这样声明比直接使用"if (obj.property)"来描述要更准确，因为当obj.property的值为false、0、null的时候，虽然该属性存在，但返回的结果却恰恰相反。</p><p>如果要求检测更详细一些，查看该属性的具体类型，可以用instanceof操作符：</p><p></p><div class="code_title">代码</div><div class="code_div"><div class="dp-highlighter"><div class="bar"></div><ol class="dp-j"><li class="alt"><span><span class="keyword">if</span><span> (obj </span><span class="keyword">instanceof</span><span> PredefinedObj) {}  </span></span></li></ol></div></div><script><![CDATA[ender_code();]]&gt;</script><p></p><p>但是，当对obj对象进行条件检测的时候，如果多种条件的对象类型存在继承关系，则需要注意代码的书写顺序，例如：</p><p></p><div class="code_title">代码</div><div class="code_div"><div class="dp-highlighter"><div class="bar"></div><ol class="dp-j"><li class="alt"><span><span>function() ExamineType(obj) {   </span></span></li><li class=""><span>  </span><span class="keyword">if</span><span> (obj </span><span class="keyword">instanceof</span><span> Object) {   </span></li><li class="alt"><span>    alert(</span><span class="string">"An Object"</span><span>);   </span></li><li class=""><span>  </span><span class="keyword">else</span><span> </span><span class="keyword">if</span><span> (obj </span><span class="keyword">instanceof</span><span> Array) {   </span></li><li class="alt"><span>    alert(</span><span class="string">"An Array"</span><span>);   </span></li><li class=""><span>  }   </span></li><li class="alt"><span>  }   </span></li><li class=""><span>}  </span></li></ol></div></div><script><![CDATA[ender_code();]]&gt;</script><p></p><p>上述代码执行的结果会认为原为Array类型的obj是一个Object，因为Array本身就是从Object继承而来，显然，将对Array的检测放在前面会得到更精确的结果。因此，使用instanceof来判断对象类型，需要注意当两个对象存在继承关系的时候，应该关注检测顺序的问题，进一步我们可以想到，JSON创建的对象不是Object就是Array，使用instanceof来检测JSON对象意义不大。</p><p>利用JavaScript的反射，我们可以编写一个函数来检查对象是否有一个特定名称的函数，然后利用该函数进行计算，以此在JavaScript中实现接口的功能，为在Ajax中使用设计模式奠定基础。</p><p></p><div class="code_title">代码</div><div class="code_div"><div class="dp-highlighter"><div class="bar"></div><ol class="dp-j"><li class="alt"><span><span class="comment">//this.getWeight和this["getWeight"]意义相同 </span><span>  </span></span></li><li class=""><span></span><span class="comment">//判断对象是否存在指定名称的函数 </span><span>  </span></li><li class="alt"><span>Object.prototype.hasFunc = function(func) {   </span></li><li class=""><span>  </span><span class="keyword">return</span><span> </span><span class="keyword">this</span><span> &amp;&amp; </span><span class="keyword">this</span><span>[func] &amp;&amp; </span><span class="keyword">this</span><span>[func] </span><span class="keyword">instanceof</span><span> Function;   </span></li><li class="alt"><span>}   </span></li><li class=""><span>  </span></li><li class="alt"><span>function hasWeight(obj) {   </span></li><li class=""><span>  </span><span class="keyword">return</span><span> obj.hasFunc(</span><span class="string">"getWeight"</span><span>);   </span></li><li class="alt"><span>}   </span></li><li class=""><span>  </span></li><li class="alt"><span></span><span class="comment">//判断参数是否为数值类型 </span><span>  </span></li><li class=""><span>function isNum(param) {   </span></li><li class="alt"><span>  </span><span class="keyword">return</span><span> parseFloat(param) != NaN;   </span></li><li class=""><span>}   </span></li><li class="alt"><span>  </span></li><li class=""><span></span><span class="comment">//计算两个对象的重量 </span><span>  </span></li><li class="alt"><span>function calWeight(obj1, obj2) {   </span></li><li class=""><span>  var total = </span><span class="keyword">null</span><span>;   </span></li><li class="alt"><span>  </span><span class="keyword">if</span><span> (hasWeight(obj1) &amp;&amp; hasWeight(obj2)) {   </span></li><li class=""><span>    var w1 = obj1.getWeight();   </span></li><li class="alt"><span>    var w2 = obj2.getWeight();   </span></li><li class=""><span>    </span><span class="keyword">if</span><span> (isNum(w1) &amp;&amp; isNum(w2)) {   </span></li><li class="alt"><span>      total = parseFloat(w1) + parseFloat(w2);   </span></li><li class=""><span>    }   </span></li><li class="alt"><span>  }   </span></li><li class=""><span>  </span><span class="keyword">return</span><span> total;   </span></li><li class="alt"><span>}  </span></li></ol></div></div><script><![CDATA[ender_code();]]&gt;</script><p></p><p>calWeight先判断两个对象是否均存在getWeight()函数，然后检查getWeight()计算结果是否为数值类型，最后进行数值相加返回计算结果。需要注意的是，parseFloat(param)函数能够除去param中非数字部分，如果param=16pm，parseFloat (16pm)得到的结果是16。如果不使用parseFloat(param)函数对getWeight()计算结果进行检验，那么会带来安全性的问题，这种情况下可以将对象的getWeight()设计为返回字符串或其他类型，在调用它之前我们是不知道JavaScript函数的返回类型的，因为 JavaScript函数没有预先定义的类型。</p></td></tr></tbody></table></div><img src ="http://www.blogjava.net/franlk/aggbug/89327.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/franlk/" target="_blank">见酒就晕</a> 2006-12-21 17:26 <a href="http://www.blogjava.net/franlk/articles/89327.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[摘录]网页制作经典技巧24条 Cool!</title><link>http://www.blogjava.net/franlk/articles/89004.html</link><dc:creator>见酒就晕</dc:creator><author>见酒就晕</author><pubDate>Wed, 20 Dec 2006 03:48:00 GMT</pubDate><guid>http://www.blogjava.net/franlk/articles/89004.html</guid><wfw:comment>http://www.blogjava.net/franlk/comments/89004.html</wfw:comment><comments>http://www.blogjava.net/franlk/articles/89004.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/franlk/comments/commentRss/89004.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/franlk/services/trackbacks/89004.html</trackback:ping><description><![CDATA[摘录地址：<a href="http://home.sunbo.com/show_hdr.php?xname=686QF01&amp;dname=MRTO921&amp;xpos=4">http://home.sunbo.com/show_hdr.php?xname=686QF01&amp;dname=MRTO921&amp;xpos=4</a><br /><br /><div class="readf"><p>提示:使用前请把大写状态下"＜＞"改为小写状态下的"&lt;&gt;" <br /><br /><br />　　01.让背景图不滚动 <br /><br />　　IE浏览器支持一个 Body 属性 bgproperties，它可以让背景不滚动: <br /><br />　　〈Body Background="图片文件" bgproperties="fixed"〉 <br /><br />　　02.让你的网页无法另存为 <br /><br />　　＜noscript＞＜iframe src=*＞＜/iframe＞＜/noscript＞ <br /><br />　　03.让IFRAME框架内的文档的背景透明 <br /><br />　　＜iframe src="about:＜body style=‘background:transparent‘＞" allowtransparency＞＜/iframe＞ <br /><br />　　04.禁止右键： <br /><br />　　＜body oncontextmenu="return false" ondragstart="return false" onselectstart ="return false" onselect="document.selection.empty()" oncopy="document.selection.empty()" onbeforecopy="return false"onmouseup="document.selection.empty()"＞ <br /><br />　　05.进入页面后立即自动刷新？ <br /><br />　　＜meta http-equiv="refresh" content="120;url=http://www.wodutom.com/cn083"＞ <br /><br />　　<a href="http://www.wodutom.com/cn083" target="_blank"><font color="#000000" size="2">http://www.wodutom.com/cn083</font></a>,这是你自己的网址。 <br /><br />　　06.打开窗口即最大化 <br /><br />　　＜script language="JavaScript"＞ <br /><br />　　＜!-- Begin <br /><br />　　self.moveTo(0,0) <br /><br />　　self.resizeTo(screen.availWidth,screen.availHeight) <br /><br />　　// End --＞ <br /><br />　　＜/script＞ <br /><br />　　07.能隐藏IFRAME的滚动条吗？我知道的三种方法: <br /><br />　　1. 设置iframe scrolling="no" <br /><br />　　2. 被包含页body应用overflow:hidden <br /><br />　　3. 被包含页的body标签加scroll="no" <br /><br />　　08.加入背景音乐 <br /><br />　　＜bgsound src="mid/windblue[1].mid" loop="-1"＞ 只适用于IE ＜embed src="music.mid" autostart="true" loop="true" hidden="true"＞ 对Netscape ,IE 都适用 <br /><br />　　09.嵌入网页 <br /><br />　　＜iframe name="tt" src="01a.html" width="450" height="287" scrolling="Auto" frameborder="0"＞＜/iframe＞ <br /><br />　　10.跳转 <br /><br />　　＜meta http-equiv="refresh" content="3;URL=list.htm"＞</p><p>11.滚动 <br /><br />　　＜MARQUEE direction=up height=146 onmouseout=start() onmouseover=stop() scrollAmount=4＞＜/marquee＞ <br /><br />　　12.细线分隔线 <br /><br />　　＜hr noshade size=0 color=#C0C0C0＞ <br /><br />　　13.过度方式 <br /><br />　　＜meta http-equiv="Page-Exit" content="revealTrans(Duration=3,Transition=5)"＞ <br /><br />　　Duration的值为网页动态过渡的时间，单位为秒。 <br /><br />　　Transition是过渡方式，它的值为0到23，分别对应24种过渡方式。如下表： <br /><br />　　0 盒状收缩 1 盒状放射 <br /><br />　　2 圆形收缩 3 圆形放射 <br /><br />　　4 由下往上 5 由上往下 <br /><br />　　6 从左至右 7 从右至左 <br /><br />　　8 垂直百叶窗 9 水平百叶窗 <br /><br />　　10 水平格状百叶窗 11垂直格状百叶窗 <br /><br />　　12 随意溶解 13从左右两端向中间展开 <br /><br />　　14从中间向左右两端展开 15从上下两端向中间展开 <br /><br />　　16从中间向上下两端展开 17 从右上角向左下角展开 <br /><br />　　18 从右下角向左上角展开 19 从左上角向右下角展开 <br /><br />　　20 从左下角向右上角展开 21 水平线状展开 <br /><br />　　22 垂直线状展开 23 随机产生一种过渡方式 <br /><br />　　15.如何控制横向和纵向滚动条的显隐？ <br /><br />　　＜body style="overflow-y:hidden"＞ 去掉x轴 <br /><br />　　＜body style="overflow-x:hidden"＞ 去掉y轴 <br /><br />　　＜body scroll="no"＞不显 <br /><br />　　16.怎样在 FrontPage2000 中加入 Flash 动画? <br /><br />　　在 FrontPage2000 中,点击[插入]-＞[高级]-＞[插件]，在弹出的窗口中，设置一下 Flash 文件的大小及其它信息，确定即可。 <br /><br />　　17.加入注释的格式是： <br /><br />　　〈!-［注释内容…］--〉 <br /><br />　　18.怎样在网页中加入 E-mail 链接并显示预定的主题? <br /><br />　　〈A href="mailto:Emailhost@263.net?subject=主题"〉……〈/a〉 <br /><br />　　19.定义本网页关键字，可以在〈Head〉〈/Head〉中加入如下代码： <br /><br />　　〈meta name="Keywords" content="china,enterprise,business,net"〉 <br /><br />　　Content 中所包含的就是关键字,你可以自行设置。 <br /><br />　　这里有个技巧,你可以重复某一个单词,这样可以提高自己网站的排行位置,如： <br /><br />　　〈meta name="Keywords" content="china,china,china,china"〉 <br /><br />　　20.IE5.0 的部分快捷键： <br /><br />　　A:打开查找功能：Ctrl+F <br /><br />　　关闭浏览器窗口：Ctrl+W <br /><br />　　打开地址栏下拉列表框：F4 <br /><br />　　刷 新：F5 <br /><br />　　将当前Web页保存到收藏夹列表：Ctrl+D <br /><br />　　打开当前 IE 窗口的一个拷贝：Ctrl+N <br /><br />　　停止下载当前网页：Esc <br /><br />　　光标迅速移动到网页的开头：Home <br /><br />　　光标迅速移动到网页的尾部：End <br /><br />　　打开新的地址键入窗口：Ctrl+O <br /><br />　　打开收藏夹：Ctrl+I <br /><br />　　打开历史记录文件夹：Ctrl+H <br /><br />　　打开浏览器设定的默认主页：Alt+HOME <br /><br />　　21.添加到收藏夹： <br /><br />　　〈a href="javascript:window.external.addFavorite(‘<a href="http:///" target="_blank"><font color="#000000" size="2">http://</font></a>链接‘,‘说明‘);"〉添加到收藏夹〈/a〉 <br /><br />　　22.设为首页： <br /><br />　　〈a href=# onclick=this.style.behavior=‘url(#default#homepage)‘;this.setHomePage(‘<a href="http:///" target="_blank"><font color="#000000" size="2">http://</font></a>链接‘);〉设为首页〈/a〉 <br /><br />　　23.定制浏览器地址栏前的小图标： <br /><br />　　A:在网页的〈head〉〈/head〉间加入以下语句： <br /><br />　　〈link rel="shortcuticon" href="http://…/icon.ico"〉 <br /><br />　　即可。其中 icon.ico 为 16x16 的图标文件，颜色不要超过 16 色。 <br /><br />　　24.把滚动条放在浏览器窗口的左边 <br /><br />　　A:在 ＜body＞ 中加 dir=RTL，即 ＜body dir=RTL＞。</p></div><img src ="http://www.blogjava.net/franlk/aggbug/89004.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/franlk/" target="_blank">见酒就晕</a> 2006-12-20 11:48 <a href="http://www.blogjava.net/franlk/articles/89004.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[摘录]解决中文乱码问题 </title><link>http://www.blogjava.net/franlk/articles/41979.html</link><dc:creator>见酒就晕</dc:creator><author>见酒就晕</author><pubDate>Wed, 19 Apr 2006 10:26:00 GMT</pubDate><guid>http://www.blogjava.net/franlk/articles/41979.html</guid><wfw:comment>http://www.blogjava.net/franlk/comments/41979.html</wfw:comment><comments>http://www.blogjava.net/franlk/articles/41979.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/franlk/comments/commentRss/41979.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/franlk/services/trackbacks/41979.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 摘录地址： http://internet.blog.enorth.com.cn/article/5015.shtml 一、中文问题的来源 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 计算机最初的操作系统支持的编码是单字节的字符编码，于是，在计算机中一切处理程序最初都是以单字节编码的英文为准进行处理。随着计算机的发展，为了适应世界其它民族的语言（当然包括我们的汉字），人们提出了 ...&nbsp;&nbsp;<a href='http://www.blogjava.net/franlk/articles/41979.html'>阅读全文</a><img src ="http://www.blogjava.net/franlk/aggbug/41979.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/franlk/" target="_blank">见酒就晕</a> 2006-04-19 18:26 <a href="http://www.blogjava.net/franlk/articles/41979.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[摘录]showModalDialog和showModelessDialog使用心得</title><link>http://www.blogjava.net/franlk/articles/40408.html</link><dc:creator>见酒就晕</dc:creator><author>见酒就晕</author><pubDate>Tue, 11 Apr 2006 03:29:00 GMT</pubDate><guid>http://www.blogjava.net/franlk/articles/40408.html</guid><wfw:comment>http://www.blogjava.net/franlk/comments/40408.html</wfw:comment><comments>http://www.blogjava.net/franlk/articles/40408.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/franlk/comments/commentRss/40408.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/franlk/services/trackbacks/40408.html</trackback:ping><description><![CDATA[
		<p>
				<font size="2">本文摘自:http://xiang.cnblogs.com/archive/2005/12/13/265830.html</font>
		</p>
		<p>
				<font size="2">一、showModalDialog和showModelessDialog有什么不同？ <br />　　showModalDialog：被打开后就会始终保持输入焦点。除非对话框被关闭，否则用户无法切换到主窗口。类似alert的运行效果。 <br />　　showModelessDialog：被打开后，用户可以随机切换输入焦点。对主窗口没有任何影响(最多是被挡住一下而以。:P) <br /><br />二、怎样才让在showModalDialog和showModelessDialog的超连接不弹出新窗口？ <br />　　在被打开的网页里加上&lt;base target="_self"&gt;就可以了。这句话一般是放在&lt;html&gt;和&lt;body&gt;之间的。 <br /><br />三、怎样才刷新showModalDialog和showModelessDialog里的内容？ <br />　　在showModalDialog和showModelessDialog里是不能按F5刷新的，又不能弹出菜单。这个只能依靠javascript了，以下是相关代码： <br /><br />&lt;body onkeydown="if (event.keyCode==116){reload.click()}"&gt; <br />&lt;a id="reload" href="filename.htm" style="display:none"&gt;reload...&lt;/a&gt; <br /><br />　　将filename.htm替换成网页的名字然后将它放到你打开的网页里，按F5就可以刷新了，注意，这个要配合&lt;base target="_self"&gt;使用，不然你按下F5会弹出新窗口的。 <br /><br />四、如何用javascript关掉showModalDialog(或showModelessDialog)打开的窗口。 <br />　　&lt;input type="button" value="关闭" onclick="window.close()"&gt; <br />　　也要配合&lt;base target="_self"&gt;，不然会打开一个新的IE窗口，然后再关掉的。 <br /><br />五、showModalDialog和showModelessDialog数据传递技巧。 <br />　　(作者语：本来想用一问一答形式来写的，但是我想不出这个怎么问，所以只好这样了。) <br />　　这个东西比较麻烦，我改了好几次了不是没办法说明白(语文水平越来越差了)，只好用个例子说明了。 <br />　　例子： <br />　　　　现在需要在一个showModalDialog(或showModelessDialog)里读取或设置一个变量var_name <br /><br />　　　　　　一般的传递方式： <br />　　　　　　　　window.showModalDialog("filename.htm",var_name) <br />　　　　　　　　//传递var_name变量 <br />　　　　　　在showModalDialog(或showModelessDialog)读取和设置时： <br />　　　　　　　　alert(window.dialogArguments)//读取var_name变量 <br />　　　　　　　　window.dialogArguments="oyiboy"//设置var_name变量 <br />　　　　这种方式是可以满足的，但是当你想在操作var_name同时再操作第二个变理var_id时呢？就无法再进行操作了。这就是这种传递方式的局限性。 <br />　　　　 <br />　　　　　　以下是我建议使用的传递方式： <br />　　　　　　　　window.showModalDialog("filename.htm",window) <br />　　　　　　　　//不管要操作什么变量，只直传递主窗口的window对象 <br />　　　　　　在showModalDialog(或showModelessDialog)读取和设置时： <br />　　　　　　　　alert(window.dialogArguments.var_name)//读取var_name变量 <br />　　　　　　　　window.dialogArguments.var_name="oyiboy"//设置var_name变量 <br /><br />　　　　　　　　同时我也可以操作var_id变量 <br />　　　　　　　　alert(window.dialogArguments.var_id)//读取var_id变量 <br />　　　　　　　　window.dialogArguments.var_id="001"//设置var_id变量 <br /><br />　　　　　　　　同样还可以对主窗口的任何对象进行操作，如form对象里的元素。 <br />　　　　　　　　window.dialogArguments.form1.index1.value="这是在设置index1元素的值" <br /><br />六、多个showModelessDialog的相互操作。 <br />　　因为光说很费劲，我就偷点懒，直接用代码来说了，如果不明白的话那就直接来信(oyiboy#163.net(使用时请将#改成@))问我吧。 <br /><br />　　以下代码的主要作用是在一个showModelessDialog里移动别一个showModelessDialog的位置。 <br /><br />　　主文件的部份js代码。 <br />　　var s1=showModelessDialog('控制.htm',window,"dialogTop:1px;dialogLeft:1px"） //打开控制窗口 <br />　　var s2=showModelessDialog('about:blank',window,"dialogTop:200px;dialogLeft:300px"）　　//打开被控制窗口 <br /><br />　　控制.htm的部份代码。 <br />　　&lt;script&gt; <br />　　　　//操作位置数据，因为窗口的位置数据是"xxxpx"方式的，所以需要这样的一个特殊操作函数。 <br />function countNumber(A_strNumber,A_strWhatdo) <br />{ <br />A_strNumber=A_strNumber.replace('px','') <br />A_strNumber-=0 <br />switch(A_strWhatdo) <br />{ <br />case "-":A_strNumber-=10;break; <br />case "+":A_strNumber+=10;break; <br />} <br />return A_strNumber + "px" <br />} <br />　　&lt;/script&gt; <br />　　&lt;input type="button" onclick="window.dialogArguments.s2.dialogTop=countNumber(window.dialogArguments.s2.dialogTop,'-')" value="上移"&gt; <br />　　&lt;input type="button" onclick="window.dialogArguments.s2.dialogLeft=countNumber(window.dialogArguments.s2.dialogLeft,'-')" value="左移"&gt; <br />　　&lt;input type="button" onclick="window.dialogArguments.s2.dialogLeft=countNumber(window.dialogArguments.s2.dialogLeft,'+')" value="右移"&gt; <br />　　&lt;input type="button" onclick="window.dialogArguments.s2.dialogTop=countNumber(window.dialogArguments.s2.dialogTop,'+')" value="下移"&gt; <br /><br />　　以上关键部份是： <br />　　　　窗口命名方式：var s1=showModelessDialog('控制.htm',window,"dialogTop:1px;dialogLeft:1px"） <br />　　　　变量访问方式：window.dialogArguments.s2.dialogTop <br /><br />　　这个例子只是现实showModelessDialog与showModelessDialog之间的位置操作功能，通过这个原理，在showModelessDialog之间相互控制各自的显示页面，传递变量和数据等。这要看各位的发挥了。</font>
		</p>
<img src ="http://www.blogjava.net/franlk/aggbug/40408.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/franlk/" target="_blank">见酒就晕</a> 2006-04-11 11:29 <a href="http://www.blogjava.net/franlk/articles/40408.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[摘录]关于 window.showModalDialog 的 opene</title><link>http://www.blogjava.net/franlk/articles/40393.html</link><dc:creator>见酒就晕</dc:creator><author>见酒就晕</author><pubDate>Tue, 11 Apr 2006 02:39:00 GMT</pubDate><guid>http://www.blogjava.net/franlk/articles/40393.html</guid><wfw:comment>http://www.blogjava.net/franlk/comments/40393.html</wfw:comment><comments>http://www.blogjava.net/franlk/articles/40393.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/franlk/comments/commentRss/40393.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/franlk/services/trackbacks/40393.html</trackback:ping><description><![CDATA[
		<p>
				<font size="2">本文摘自：</font>
				<a href="http://blog.dofy.net/?p=140">
						<font size="2">http://blog.dofy.net/?p=140</font>
				</a>
				<font size="2"> </font>
		</p>
		<p>
				<font size="2">使用 window.showModalDialog 打开的窗口没有 opener 对象, 这的确给使用带来了很多麻烦, 以前一直也没用过这个东西, 所以没有更多关注. 今天一个朋友问到这个问题, 于是上网搜索了一下, 找到了解决方案, 发上来供大家参考.<br />首先来看看 window.showModalDialog 的参数:<br /></font>
				<code>
						<font size="2">vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures]) ;<br /> <br />sURL : 打开窗口的地址;<br />vArguments : 传递参数;<br />sFeatures : 窗口属性列表;</font>
				</code>
		</p>
		<p>
				<font size="2">第一个参数是必须的, 后两个可以省略.<br />这里我们要利用的就是第二个参数. 原理是将父窗口的被控制对象以参数的形式传递到子窗口, 在子窗口中直接控制这个对象即可.</font>
		</p>
		<p>
				<font size="2">举例来说:</font>
				<a id="more-140">
				</a>
				<br />
				<font size="2">
						<em>parent.html</em>
						<br />
				</font>
				<code style="HEIGHT: 205px">
						<font size="2">&lt;script type="text/javascript"&gt;<br />function openWin(){<br />// 子窗口地址<br />var srcFile = "child.html";<br />// 子窗口属性<br />var winFeatures = "dialogHeight:300px; dialogLeft:200px;";<br />// 将 From 的 ID 作为参数传递到子窗口<br />var obj = getForm;<br />// 打开子窗口<br />window.showModalDialog(srcFile, obj, winFeatures);<br />}<br />&lt;/script&gt;<br />&lt;form id="getForm"&gt;<br />  回传值：<br />  &lt;input type="text" id="getValue" readOnly&gt;<br />&lt;/form&gt;<br />&lt;input type="button" value="打开" onClick="openWin()"&gt;</font>
				</code>
				<br />
				<font size="2">
						<em>child.html</em>
						<br />
				</font>
				<code>
						<font size="2">&lt;script type="text/javascript"&gt;<br />function send(){<br />  // 获取参数传递的对象<br />  var obj = window.dialogArguments;<br />  // 控制对象<br />  obj.getValue.value = 'from Child';<br />}<br />&lt;/script&gt;<br />&lt;a href="#" onclick="send();"&gt;Send&lt;/a&gt;</font>
				</code>
		</p>
		<p>
				<font size="2">运行 parent.html , 单击 [打开] 按钮弹出对话框, 点击 Send 链接将值传递到 parent 的文本框中.<br />传递的参数当然也可以是其他对象, 例如 window . 值得注意的是传递的是对象, 而不是字符串.</font>
		</p>
<img src ="http://www.blogjava.net/franlk/aggbug/40393.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/franlk/" target="_blank">见酒就晕</a> 2006-04-11 10:39 <a href="http://www.blogjava.net/franlk/articles/40393.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>