﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-道非道  非常道-随笔分类-web  开发</title><link>http://www.blogjava.net/gen-sky/category/36441.html</link><description>勤思、谨言、慎行、厚积、薄发</description><language>zh-cn</language><lastBuildDate>Fri, 15 Apr 2011 00:59:25 GMT</lastBuildDate><pubDate>Fri, 15 Apr 2011 00:59:25 GMT</pubDate><ttl>60</ttl><item><title>base64加密、解密的javascript代码</title><link>http://www.blogjava.net/gen-sky/archive/2011/04/14/348278.html</link><dc:creator>星期五</dc:creator><author>星期五</author><pubDate>Thu, 14 Apr 2011 03:01:00 GMT</pubDate><guid>http://www.blogjava.net/gen-sky/archive/2011/04/14/348278.html</guid><wfw:comment>http://www.blogjava.net/gen-sky/comments/348278.html</wfw:comment><comments>http://www.blogjava.net/gen-sky/archive/2011/04/14/348278.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gen-sky/comments/commentRss/348278.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gen-sky/services/trackbacks/348278.html</trackback:ping><description><![CDATA[<div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;"><br />
</span><span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;base64encode(str)&nbsp;{</span><span style="color: #008000;">//</span><span style="color: #008000;">base64加密</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;base64EncodeChars&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;out,&nbsp;i,&nbsp;len;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;c1,&nbsp;c2,&nbsp;c3;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;len&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;str.length;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">""</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">(i&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;len)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c1&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;str.charCodeAt(i</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0xff</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(i&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;len)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;base64EncodeChars.charAt(c1&nbsp;</span><span style="color: #000000;">&gt;&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;base64EncodeChars.charAt((c1&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0x3</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">==</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">break</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c2&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;str.charCodeAt(i</span><span style="color: #000000;">++</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(i&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;len)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;base64EncodeChars.charAt(c1&nbsp;</span><span style="color: #000000;">&gt;&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;base64EncodeChars.charAt(((c1&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0x3</span><span style="color: #000000;">)</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">|</span><span style="color: #000000;">&nbsp;((c2&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0xF0</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">&gt;&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;base64EncodeChars.charAt((c2&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0xF</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">=</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">break</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c3&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;str.charCodeAt(i</span><span style="color: #000000;">++</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;base64EncodeChars.charAt(c1&nbsp;</span><span style="color: #000000;">&gt;&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;base64EncodeChars.charAt(((c1&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0x3</span><span style="color: #000000;">)</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">|</span><span style="color: #000000;">&nbsp;((c2&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0xF0</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">&gt;&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;base64EncodeChars.charAt(((c2&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0xF</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">|</span><span style="color: #000000;">&nbsp;((c3&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0xC0</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">&gt;&gt;</span><span style="color: #000000;">6</span><span style="color: #000000;">));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;base64EncodeChars.charAt(c3&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0x3F</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;out;<br />
}<br />
</span><span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;base64decode(str)&nbsp;{</span><span style="color: #008000;">//</span><span style="color: #008000;">base64解密</span><span style="color: #008000;"><br />
</span><span style="color: #000000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;base64DecodeChars&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Array(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">62</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">63</span><span style="color: #000000;">,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">52</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">53</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">54</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">55</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">56</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">57</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">58</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">59</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">60</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">61</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">,&nbsp;&nbsp;</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">,&nbsp;&nbsp;</span><span style="color: #000000;">3</span><span style="color: #000000;">,&nbsp;&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">,&nbsp;&nbsp;</span><span style="color: #000000;">5</span><span style="color: #000000;">,&nbsp;&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">,&nbsp;&nbsp;</span><span style="color: #000000;">7</span><span style="color: #000000;">,&nbsp;&nbsp;</span><span style="color: #000000;">8</span><span style="color: #000000;">,&nbsp;&nbsp;</span><span style="color: #000000;">9</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">10</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">11</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">12</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">13</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">14</span><span style="color: #000000;">,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">15</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">16</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">17</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">18</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">19</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">20</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">21</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">22</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">23</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">24</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">25</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">26</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">27</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">28</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">29</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">30</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">31</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">32</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">33</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">34</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">35</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">36</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">37</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">38</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">39</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">40</span><span style="color: #000000;">,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000;">41</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">42</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">43</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">44</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">45</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">46</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">47</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">48</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">49</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">50</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">51</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">,&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;c1,&nbsp;c2,&nbsp;c3,&nbsp;c4;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;i,&nbsp;len,&nbsp;out;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;len&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;str.length;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">""</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">(i&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;len)&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">do</span><span style="color: #000000;">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c1&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;base64DecodeChars[str.charCodeAt(i</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0xff</span><span style="color: #000000;">];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">(i&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;len&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;c1&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(c1&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">)&nbsp;</span><span style="color: #0000ff;">break</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">do</span><span style="color: #000000;">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c2&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;base64DecodeChars[str.charCodeAt(i</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0xff</span><span style="color: #000000;">];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">(i&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;len&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;c2&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(c2&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">)&nbsp;</span><span style="color: #0000ff;">break</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;String.fromCharCode((c1&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">|</span><span style="color: #000000;">&nbsp;((c2&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0x30</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">&gt;&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">do</span><span style="color: #000000;">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c3&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;str.charCodeAt(i</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0xff</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">&nbsp;(c3&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">61</span><span style="color: #000000;">)&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;out;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c3&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;base64DecodeChars[c3];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">(i&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;len&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;c3&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(c3&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">)&nbsp;</span><span style="color: #0000ff;">break</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;String.fromCharCode(((c2&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0XF</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">4</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">|</span><span style="color: #000000;">&nbsp;((c3&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0x3C</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">&gt;&gt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">2</span><span style="color: #000000;">));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">do</span><span style="color: #000000;">&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c4&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;str.charCodeAt(i</span><span style="color: #000000;">++</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0xff</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(c4&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">61</span><span style="color: #000000;">)&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;out;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;c4&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;base64DecodeChars[c4];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000ff;">while</span><span style="color: #000000;">(i&nbsp;</span><span style="color: #000000;">&lt;</span><span style="color: #000000;">&nbsp;len&nbsp;</span><span style="color: #000000;">&amp;&amp;</span><span style="color: #000000;">&nbsp;c4&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(c4&nbsp;</span><span style="color: #000000;">==</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">-</span><span style="color: #000000;">1</span><span style="color: #000000;">)&nbsp;</span><span style="color: #0000ff;">break</span><span style="color: #000000;">;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;out&nbsp;</span><span style="color: #000000;">+=</span><span style="color: #000000;">&nbsp;String.fromCharCode(((c3&nbsp;</span><span style="color: #000000;">&amp;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">0x03</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">&lt;&lt;</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">6</span><span style="color: #000000;">)&nbsp;</span><span style="color: #000000;">|</span><span style="color: #000000;">&nbsp;c4);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;out;<br />
}</span></div>
<img src ="http://www.blogjava.net/gen-sky/aggbug/348278.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gen-sky/" target="_blank">星期五</a> 2011-04-14 11:01 <a href="http://www.blogjava.net/gen-sky/archive/2011/04/14/348278.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在服务器端判断request来自Ajax请求(异步)还是传统请求(同步)</title><link>http://www.blogjava.net/gen-sky/archive/2010/04/29/319692.html</link><dc:creator>星期五</dc:creator><author>星期五</author><pubDate>Thu, 29 Apr 2010 07:56:00 GMT</pubDate><guid>http://www.blogjava.net/gen-sky/archive/2010/04/29/319692.html</guid><wfw:comment>http://www.blogjava.net/gen-sky/comments/319692.html</wfw:comment><comments>http://www.blogjava.net/gen-sky/archive/2010/04/29/319692.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gen-sky/comments/commentRss/319692.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gen-sky/services/trackbacks/319692.html</trackback:ping><description><![CDATA[转自： <a href="http://holdbelief.javaeye.com/blog/528114">http://holdbelief.javaeye.com/blog/528114</a><br />
<br />
<span style="border-collapse: separate; color: #000000; font-family: Simsun; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span style="font-family: Arial,sans-serif,Helvetica,Tahoma; font-size: 12px; line-height: 18px; text-align: left;">
<div>
<p style="margin: 0px; padding: 0px;">　　在服务器端判断<span style="background-color: #aaffaa;">request</span>来自Ajax请求(异步)还是传统请求(同步)：</p>
<p style="margin: 0px; padding: 0px;">　　两种请求在请求的Header不同，Ajax 异步请求比传统的同步请求多了一个头参数</p>
<p style="margin: 0px; padding: 0px;">　　1、传统同步请求参数</p>
<p style="margin: 0px; padding: 0px;">　　　 accept&nbsp; text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8<br />
accept-charset&nbsp; gb2312,utf-8;q=0.7,*;q=0.7<br />
accept-encoding&nbsp; gzip,deflate<br />
accept-language&nbsp; zh-cn,zh;q=0.5<br />
cache-control&nbsp; max-age=0<br />
connection&nbsp; keep-alive<br />
cookie&nbsp; JSESSIONID=1A3BED3F593EA9747C9FDA16D309AF6B<br />
host&nbsp; 192.168.101.72:8080<br />
keep-alive&nbsp; 300<br />
referer&nbsp;&nbsp;<a href="http://192.168.101.72:8080/htfsweb/spring_security_login" target="_blank" style="color: black; text-decoration: underline;">http://192.168.101.72:8080/htfsweb/spring_security_login</a><br />
user-agent&nbsp; Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.15) Gecko/2009101601 Firefox/3.0.15 (.NET CLR 3.5.30729)</p>
<p style="margin: 0px; padding: 0px;">　　2、Ajax 异步请求方式</p>
<p style="margin: 0px; padding: 0px;">　　　 accept&nbsp; */*<br />
accept-language&nbsp; zh-cn<br />
referer&nbsp;&nbsp;<a href="http://192.168.101.72:8080/scm/?token=3b194bff23bf6acecea5661ac8e14c51" target="_blank" style="color: black; text-decoration: underline;">http://192.168.101.72:8080/scm/?token=3b194bff23bf6acecea5661ac8e14c51</a><br />
&nbsp;<span style="color: #cc0000;">x-requested-with&nbsp; XMLHttpRequest</span><br />
content-type&nbsp; application/x-www-form-urlencoded,text/javascript<br />
accept-encoding&nbsp; gzip, deflate<br />
user-agent&nbsp; Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; QQDownload 598; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; CIBA; .NET CLR 1.1.4322; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.1)<br />
host&nbsp; 192.168.101.72:8080<br />
content-length&nbsp; 233<br />
connection&nbsp; Keep-Alive<br />
cache-control&nbsp; no-cache<br />
cookie&nbsp; CSS=undefined; JSESSIONID=1B9AC25036290F7FB6823CCE1A24E541</p>
<p style="margin: 0px; padding: 0px;">　　可以看到 Ajax 请求多了个 x-requested-with&nbsp;，可以利用它，<span style="color: #990066;"><span style="background-color: #aaffaa;">request</span>.getHeader("x-requested-with"); 为 null，则为传统同步请求，为 XMLHttpRequest，则为 Ajax 异步请求。</span></p>
</div>
</span></span><br />
<img src ="http://www.blogjava.net/gen-sky/aggbug/319692.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gen-sky/" target="_blank">星期五</a> 2010-04-29 15:56 <a href="http://www.blogjava.net/gen-sky/archive/2010/04/29/319692.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转] js 数组 检索</title><link>http://www.blogjava.net/gen-sky/archive/2009/08/27/292786.html</link><dc:creator>星期五</dc:creator><author>星期五</author><pubDate>Thu, 27 Aug 2009 03:25:00 GMT</pubDate><guid>http://www.blogjava.net/gen-sky/archive/2009/08/27/292786.html</guid><wfw:comment>http://www.blogjava.net/gen-sky/comments/292786.html</wfw:comment><comments>http://www.blogjava.net/gen-sky/archive/2009/08/27/292786.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gen-sky/comments/commentRss/292786.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gen-sky/services/trackbacks/292786.html</trackback:ping><description><![CDATA[<pre>转自: <a href="http://zhidao.baidu.com/question/42679804.html">http://zhidao.baidu.com/question/42679804.html</a> 有空研究</pre>
<pre>&nbsp;</pre>
<pre>网上看到一个老前辈写过这段程序，讨论JS数组的检索速度，但我发现一个问题，请看：
&lt;input id="count" value="50000" size="7" maxlength="6"&gt;
&lt;input type="button" value="数组初始华" onclick="txt.innerHTML = array_init()"&gt;&lt;br&gt;
&lt;input type="button" value="传统循环" onclick="txt.innerHTML += method_for()"&gt;
&lt;input type="button" value="正则匹配" onclick="txt.innerHTML += method_regexp()"&gt;
&lt;div id="txt"&gt;&lt;/div&gt;
&lt;SCRIPT LANGUAGE="JavaScript"&gt;
var txt = document.getElementById("txt");
var a = new Array();
function array_init()
{
var n = parseInt(document.getElementById("count").value);
a.length = 0;
for(var i=0; i&lt;n; i++)
{
a[i] = Math.random() +"";
}
return "数组长度："+ n;
}
function method_for()
{
var n = a.length;
var begin = new Date().getTime();
var b = new Array();
for(var i=0; i&lt;n; i++)
{
if(a[i].indexOf("0.9999")==0)
{
b[b.length] = a[i];
}
}
return ("&lt;br&gt;传统循环法耗时 "+ (new Date().getTime() - begin)
+" 毫秒！检索的结果：&lt;strong title='"+ b.join("
")
+"'&gt;检索到 "+ b.length +" 个记录！&lt;/strong&gt;");
}
function method_regexp()
{
var begin = new Date().getTime();
var b = new Array();
var s = a.join("\x0f");
var r = new RegExp().compile("0\\.9999\\d+", "g");
b = s.match(r);   s = "";
return ("&lt;br&gt;正则匹配法耗时 "+ (new Date().getTime() - begin)
+" 毫秒！检索的结果：&lt;strong title='"+ b.join("
")
+"'&gt;检索到 "+ b.length +" 个记录！&lt;/strong&gt;");
}
&lt;/SCRIPT&gt;
问题：
当在IE中运行的时候，正则检索很快
当在FireFox中运行的时候，结果相反，遍历数组很快，而正则还没有在IE中遍历数组的方法快
朋友们有兴趣的试试，讨论一下IE中和FireFox中遍历数组和正则各是怎么一回事 </pre>
<img src ="http://www.blogjava.net/gen-sky/aggbug/292786.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gen-sky/" target="_blank">星期五</a> 2009-08-27 11:25 <a href="http://www.blogjava.net/gen-sky/archive/2009/08/27/292786.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>js  优化网址</title><link>http://www.blogjava.net/gen-sky/archive/2009/08/26/292616.html</link><dc:creator>星期五</dc:creator><author>星期五</author><pubDate>Wed, 26 Aug 2009 03:11:00 GMT</pubDate><guid>http://www.blogjava.net/gen-sky/archive/2009/08/26/292616.html</guid><wfw:comment>http://www.blogjava.net/gen-sky/comments/292616.html</wfw:comment><comments>http://www.blogjava.net/gen-sky/archive/2009/08/26/292616.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gen-sky/comments/commentRss/292616.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gen-sky/services/trackbacks/292616.html</trackback:ping><description><![CDATA[js&nbsp; 优化原则和DOM遍历方式：&nbsp;&nbsp;&nbsp; http://hax.javaeye.com/blog/126859<br />
js 优化 （十个方案):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; http://liuleigang.javaeye.com/blog/376940<br />
javascript 代码优化 (春风不识字，何故乱抄书) http://www.javaeye.com/topic/266962<br />
javascipt 应用： http://nomad.javaeye.com/blog/205616<br />
<h1>再议《JavaScript代码优化一例》&nbsp; http://blog.csdn.net/aimingoo/archive/2007/08/29/1764224.aspx</h1>
<br />
<br />
javascript 代码优化一例（文） http://prowyh.spaces.live.com/blog/cns!EAAA8AB356F88EA0!425.entry<br />
<br />
<img src ="http://www.blogjava.net/gen-sky/aggbug/292616.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gen-sky/" target="_blank">星期五</a> 2009-08-26 11:11 <a href="http://www.blogjava.net/gen-sky/archive/2009/08/26/292616.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转] 关于 insertAdjacentHTML    insertAdjacentText</title><link>http://www.blogjava.net/gen-sky/archive/2009/07/09/286032.html</link><dc:creator>星期五</dc:creator><author>星期五</author><pubDate>Thu, 09 Jul 2009 02:37:00 GMT</pubDate><guid>http://www.blogjava.net/gen-sky/archive/2009/07/09/286032.html</guid><wfw:comment>http://www.blogjava.net/gen-sky/comments/286032.html</wfw:comment><comments>http://www.blogjava.net/gen-sky/archive/2009/07/09/286032.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gen-sky/comments/commentRss/286032.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gen-sky/services/trackbacks/286032.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">添加html内容(insertAdjacentHTML和insertAdjacentText)<br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;dhtml提供了两个方法来进行添加，insertAdjacentHTML和insertAdjacentText<br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />insertAdjacentHTML方法：在指定的地方插入html标签语句。<br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;原型：insertAdjacentHTML(swhere,stext)<br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;参数：<br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;swhere:指定插入html标签语句的地方，有四种值可以用：<br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.beforeBegin:插入到标签开始前<br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.afterBegin:插入到标签开始标记后<br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3.beforeEnd:插入到标签结束标记前<br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4.afterEnd:插入到标签结束标记后<br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stext:要插入的内容<br />
</span><span style="color: #008080">12</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;例：var&nbsp;sHTML="</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">input&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">=button&nbsp;</span><span style="color: #ff0000">onclick</span><span style="color: #0000ff">="&nbsp;+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"</span><span style="color: #ff0000">go2()"&nbsp;+&nbsp;"&nbsp;value</span><span style="color: #0000ff">='Click&nbsp;</span><span style="color: #ff0000">Me'</span><span style="color: #0000ff">&gt;&lt;</span><span style="color: #800000">BR</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">"<br />
</span><span style="color: #008080">13</span><span style="color: #000000"><img id="Codehighlighter1_528_643_Open_Image" onclick="this.style.display='none'; Codehighlighter1_528_643_Open_Text.style.display='none'; Codehighlighter1_528_643_Closed_Image.style.display='inline'; Codehighlighter1_528_643_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_528_643_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_528_643_Closed_Text.style.display='none'; Codehighlighter1_528_643_Open_Image.style.display='inline'; Codehighlighter1_528_643_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var&nbsp;sScript='</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">SCRIPT&nbsp;</span><span style="color: #ff0000">DEFER</span><span style="color: #0000ff">&gt;</span><span id="Codehighlighter1_528_643_Open_Text"><span style="color: #000000; background-color: #f5f5f5">'<br />
</span><span style="color: #008080">14</span><span style="color: #000000; background-color: #f5f5f5"><img id="Codehighlighter1_575_614_Open_Image" onclick="this.style.display='none'; Codehighlighter1_575_614_Open_Text.style.display='none'; Codehighlighter1_575_614_Closed_Image.style.display='inline'; Codehighlighter1_575_614_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_575_614_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_575_614_Closed_Text.style.display='none'; Codehighlighter1_575_614_Open_Image.style.display='inline'; Codehighlighter1_575_614_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sScript&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;sScript&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">+</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'</span><span style="color: #0000ff; background-color: #f5f5f5">function</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;go2()</span><span id="Codehighlighter1_575_614_Open_Text"><span style="color: #000000; background-color: #f5f5f5">{&nbsp;alert(</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">Hello&nbsp;from&nbsp;inserted&nbsp;script.</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">)&nbsp;}</span></span><span style="color: #000000; background-color: #f5f5f5">'<br />
</span><span style="color: #008080">15</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sScript&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;sScript&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">+</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;'</span></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">script'&nbsp;+&nbsp;'</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">';<br />
</span><span style="color: #008080">16</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ScriptDiv.insertAdjacentHTML("afterBegin",sHTML&nbsp;+&nbsp;sScript);<br />
</span><span style="color: #008080">17</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在html正文中加入一行：<br />
</span><span style="color: #008080">18</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">DIV&nbsp;</span><span style="color: #ff0000">ID</span><span style="color: #0000ff">="ScriptDiv"</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">Div</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">19</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;最终变成：<br />
</span><span style="color: #008080">20</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">DIV&nbsp;</span><span style="color: #ff0000">ID</span><span style="color: #0000ff">="ScriptDiv"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">21</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">input&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">=button&nbsp;</span><span style="color: #ff0000">onclick</span><span style="color: #0000ff">=go2()&nbsp;</span><span style="color: #ff0000">value</span><span style="color: #0000ff">='Click&nbsp;</span><span style="color: #ff0000">Me'</span><span style="color: #0000ff">&gt;&lt;</span><span style="color: #800000">BR</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">22</span><span style="color: #000000"><img id="Codehighlighter1_897_967_Open_Image" onclick="this.style.display='none'; Codehighlighter1_897_967_Open_Text.style.display='none'; Codehighlighter1_897_967_Closed_Image.style.display='inline'; Codehighlighter1_897_967_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_897_967_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_897_967_Closed_Text.style.display='none'; Codehighlighter1_897_967_Open_Image.style.display='inline'; Codehighlighter1_897_967_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">SCRIPT&nbsp;</span><span style="color: #ff0000">DEFER</span><span style="color: #0000ff">&gt;</span><span id="Codehighlighter1_897_967_Open_Text"><span style="color: #000000; background-color: #f5f5f5"><br />
</span><span style="color: #008080">23</span><span style="color: #000000; background-color: #f5f5f5"><img id="Codehighlighter1_921_958_Open_Image" onclick="this.style.display='none'; Codehighlighter1_921_958_Open_Text.style.display='none'; Codehighlighter1_921_958_Closed_Image.style.display='inline'; Codehighlighter1_921_958_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_921_958_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_921_958_Closed_Text.style.display='none'; Codehighlighter1_921_958_Open_Image.style.display='inline'; Codehighlighter1_921_958_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">function</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;go2()</span><span id="Codehighlighter1_921_958_Open_Text"><span style="color: #000000; background-color: #f5f5f5">{alert(</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">Hello&nbsp;from&nbsp;inserted&nbsp;sctipt.</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">)}</span></span><span style="color: #000000; background-color: #f5f5f5">'<br />
</span><span style="color: #008080">24</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">script</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">25</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">DIV</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">26</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;insertAdjacentText方法与insertAdjacentHTML方法类似，只不过只能插入纯文本，参数相同<br />
</span><span style="color: #008080">27</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />trackback:http://gmfzh.bokee.com/3680267.html&nbsp;<br />
</span><span style="color: #008080">28</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">29</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">30</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />方法名称：insertHtml(where,el,html)<br />
</span><span style="color: #008080">31</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">32</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />参数介绍：<br />
</span><span style="color: #008080">33</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />where：插入位置。包括beforeBegin,beforeEnd,afterBegin,afterEnd。<br />
</span><span style="color: #008080">34</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />el：用于参照插入位置的html元素对象<br />
</span><span style="color: #008080">35</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />html：要插入的html代码<br />
</span><span style="color: #008080">36</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">37</span><span style="color: #000000"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />源码如下：<br />
</span><span style="color: #008080">38</span><span style="color: #000000"><img id="Codehighlighter1_1274_3594_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1274_3594_Open_Text.style.display='none'; Codehighlighter1_1274_3594_Closed_Image.style.display='inline'; Codehighlighter1_1274_3594_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_1274_3594_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1274_3594_Closed_Text.style.display='none'; Codehighlighter1_1274_3594_Open_Image.style.display='inline'; Codehighlighter1_1274_3594_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">script&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">="text/javascript"</span><span style="color: #0000ff">&gt;</span><span id="Codehighlighter1_1274_3594_Open_Text"><span style="color: #000000; background-color: #f5f5f5"><br />
</span><span style="color: #008080">39</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">&lt;!--</span><span style="color: #000000; background-color: #f5f5f5"><br />
</span><span style="color: #008080">40</span><span style="color: #000000; background-color: #f5f5f5"><img id="Codehighlighter1_1322_3513_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1322_3513_Open_Text.style.display='none'; Codehighlighter1_1322_3513_Closed_Image.style.display='inline'; Codehighlighter1_1322_3513_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1322_3513_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1322_3513_Closed_Text.style.display='none'; Codehighlighter1_1322_3513_Open_Image.style.display='inline'; Codehighlighter1_1322_3513_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">function</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;insertHtml(where,&nbsp;el,&nbsp;html)</span><span id="Codehighlighter1_1322_3513_Open_Text"><span style="color: #000000; background-color: #f5f5f5">{<br />
</span><span style="color: #008080">41</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;where&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;where.toLowerCase();<br />
</span><span style="color: #008080">42</span><span style="color: #000000; background-color: #f5f5f5"><img id="Codehighlighter1_1394_2070_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1394_2070_Open_Text.style.display='none'; Codehighlighter1_1394_2070_Closed_Image.style.display='inline'; Codehighlighter1_1394_2070_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1394_2070_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1394_2070_Closed_Text.style.display='none'; Codehighlighter1_1394_2070_Open_Image.style.display='inline'; Codehighlighter1_1394_2070_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">if</span><span style="color: #000000; background-color: #f5f5f5">(el.insertAdjacentHTML)</span><span id="Codehighlighter1_1394_2070_Open_Text"><span style="color: #000000; background-color: #f5f5f5">{<br />
</span><span style="color: #008080">43</span><span style="color: #000000; background-color: #f5f5f5"><img id="Codehighlighter1_1421_1996_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1421_1996_Open_Text.style.display='none'; Codehighlighter1_1421_1996_Closed_Image.style.display='inline'; Codehighlighter1_1421_1996_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1421_1996_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1421_1996_Closed_Text.style.display='none'; Codehighlighter1_1421_1996_Open_Image.style.display='inline'; Codehighlighter1_1421_1996_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">switch</span><span style="color: #000000; background-color: #f5f5f5">(where)</span><span id="Codehighlighter1_1421_1996_Open_Text"><span style="color: #000000; background-color: #f5f5f5">{<br />
</span><span style="color: #008080">44</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">case</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">beforebegin</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">:<br />
</span><span style="color: #008080">45</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;el.insertAdjacentHTML('BeforeBegin',&nbsp;html);<br />
</span><span style="color: #008080">46</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">return</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;el.previousSibling;<br />
</span><span style="color: #008080">47</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">case</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">afterbegin</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">:<br />
</span><span style="color: #008080">48</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;el.insertAdjacentHTML('AfterBegin',&nbsp;html);<br />
</span><span style="color: #008080">49</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">return</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;el.firstChild;<br />
</span><span style="color: #008080">50</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">case</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">beforeend</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">:<br />
</span><span style="color: #008080">51</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;el.insertAdjacentHTML('BeforeEnd',&nbsp;html);<br />
</span><span style="color: #008080">52</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">return</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;el.lastChild;<br />
</span><span style="color: #008080">53</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">case</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">afterend</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">:<br />
</span><span style="color: #008080">54</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;el.insertAdjacentHTML('AfterEnd',&nbsp;html);<br />
</span><span style="color: #008080">55</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">return</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;el.nextSibling;<br />
</span><span style="color: #008080">56</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000; background-color: #f5f5f5"><br />
</span><span style="color: #008080">57</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">throw</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;'Illegal&nbsp;insertion&nbsp;point&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">-&gt;</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">'&nbsp;+&nbsp;where&nbsp;+&nbsp;'</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">';<br />
</span><span style="color: #008080">58</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000; background-color: #f5f5f5"><br />
</span><span style="color: #008080">59</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">var</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;range&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;el.ownerDocument.createRange();<br />
</span><span style="color: #008080">60</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">var</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;frag;<br />
</span><span style="color: #008080">61</span><span style="color: #000000; background-color: #f5f5f5"><img id="Codehighlighter1_2157_3443_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2157_3443_Open_Text.style.display='none'; Codehighlighter1_2157_3443_Closed_Image.style.display='inline'; Codehighlighter1_2157_3443_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2157_3443_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_2157_3443_Closed_Text.style.display='none'; Codehighlighter1_2157_3443_Open_Image.style.display='inline'; Codehighlighter1_2157_3443_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">switch</span><span style="color: #000000; background-color: #f5f5f5">(where)</span><span id="Codehighlighter1_2157_3443_Open_Text"><span style="color: #000000; background-color: #f5f5f5">{<br />
</span><span style="color: #008080">62</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">case</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">beforebegin</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">:<br />
</span><span style="color: #008080">63</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;range.setStartBefore(el);<br />
</span><span style="color: #008080">64</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frag&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;range.createContextualFragment(html);<br />
</span><span style="color: #008080">65</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;el.parentNode.insertBefore(frag,&nbsp;el);<br />
</span><span style="color: #008080">66</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">return</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;el.previousSibling;<br />
</span><span style="color: #008080">67</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">case</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">afterbegin</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">:<br />
</span><span style="color: #008080">68</span><span style="color: #000000; background-color: #f5f5f5"><img id="Codehighlighter1_2457_2697_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2457_2697_Open_Text.style.display='none'; Codehighlighter1_2457_2697_Closed_Image.style.display='inline'; Codehighlighter1_2457_2697_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2457_2697_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_2457_2697_Closed_Text.style.display='none'; Codehighlighter1_2457_2697_Open_Image.style.display='inline'; Codehighlighter1_2457_2697_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">if</span><span style="color: #000000; background-color: #f5f5f5">(el.firstChild)</span><span id="Codehighlighter1_2457_2697_Open_Text"><span style="color: #000000; background-color: #f5f5f5">{<br />
</span><span style="color: #008080">69</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;range.setStartBefore(el.firstChild);<br />
</span><span style="color: #008080">70</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frag&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;range.createContextualFragment(html);<br />
</span><span style="color: #008080">71</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;el.insertBefore(frag,&nbsp;el.firstChild);<br />
</span><span style="color: #008080">72</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">return</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;el.firstChild;<br />
</span><span style="color: #008080">73</span><span style="color: #000000; background-color: #f5f5f5"><img id="Codehighlighter1_2702_2803_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2702_2803_Open_Text.style.display='none'; Codehighlighter1_2702_2803_Closed_Image.style.display='inline'; Codehighlighter1_2702_2803_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2702_2803_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_2702_2803_Closed_Text.style.display='none'; Codehighlighter1_2702_2803_Open_Image.style.display='inline'; Codehighlighter1_2702_2803_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #0000ff; background-color: #f5f5f5">else</span><span id="Codehighlighter1_2702_2803_Open_Text"><span style="color: #000000; background-color: #f5f5f5">{<br />
</span><span style="color: #008080">74</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;el.innerHTML&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;html;<br />
</span><span style="color: #008080">75</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">return</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;el.firstChild;<br />
</span><span style="color: #008080">76</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000; background-color: #f5f5f5"><br />
</span><span style="color: #008080">77</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">case</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">beforeend</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">:<br />
</span><span style="color: #008080">78</span><span style="color: #000000; background-color: #f5f5f5"><img id="Codehighlighter1_2867_3088_Open_Image" onclick="this.style.display='none'; Codehighlighter1_2867_3088_Open_Text.style.display='none'; Codehighlighter1_2867_3088_Closed_Image.style.display='inline'; Codehighlighter1_2867_3088_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_2867_3088_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_2867_3088_Closed_Text.style.display='none'; Codehighlighter1_2867_3088_Open_Image.style.display='inline'; Codehighlighter1_2867_3088_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">if</span><span style="color: #000000; background-color: #f5f5f5">(el.lastChild)</span><span id="Codehighlighter1_2867_3088_Open_Text"><span style="color: #000000; background-color: #f5f5f5">{<br />
</span><span style="color: #008080">79</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;range.setStartAfter(el.lastChild);<br />
</span><span style="color: #008080">80</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frag&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;range.createContextualFragment(html);<br />
</span><span style="color: #008080">81</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;el.appendChild(frag);<br />
</span><span style="color: #008080">82</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">return</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;el.lastChild;<br />
</span><span style="color: #008080">83</span><span style="color: #000000; background-color: #f5f5f5"><img id="Codehighlighter1_3093_3193_Open_Image" onclick="this.style.display='none'; Codehighlighter1_3093_3193_Open_Text.style.display='none'; Codehighlighter1_3093_3193_Closed_Image.style.display='inline'; Codehighlighter1_3093_3193_Closed_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_3093_3193_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_3093_3193_Closed_Text.style.display='none'; Codehighlighter1_3093_3193_Open_Image.style.display='inline'; Codehighlighter1_3093_3193_Open_Text.style.display='inline';" alt="" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #0000ff; background-color: #f5f5f5">else</span><span id="Codehighlighter1_3093_3193_Open_Text"><span style="color: #000000; background-color: #f5f5f5">{<br />
</span><span style="color: #008080">84</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;el.innerHTML&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;html;<br />
</span><span style="color: #008080">85</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">return</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;el.lastChild;<br />
</span><span style="color: #008080">86</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000; background-color: #f5f5f5"><br />
</span><span style="color: #008080">87</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">case</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">afterend</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">:<br />
</span><span style="color: #008080">88</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;range.setStartAfter(el);<br />
</span><span style="color: #008080">89</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;frag&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">=</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;range.createContextualFragment(html);<br />
</span><span style="color: #008080">90</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;el.parentNode.insertBefore(frag,&nbsp;el.nextSibling);<br />
</span><span style="color: #008080">91</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">return</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;el.nextSibling;<br />
</span><span style="color: #008080">92</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000; background-color: #f5f5f5"><br />
</span><span style="color: #008080">93</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff; background-color: #f5f5f5">throw</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;'Illegal&nbsp;insertion&nbsp;point&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">-&gt;</span><span style="color: #000000; background-color: #f5f5f5">&nbsp;</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">'&nbsp;+&nbsp;where&nbsp;+&nbsp;'</span><span style="color: #000000; background-color: #f5f5f5">"</span><span style="color: #000000; background-color: #f5f5f5">';<br />
</span><span style="color: #008080">94</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000; background-color: #f5f5f5"><br />
</span><span style="color: #008080">95</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;<br />
</span><span style="color: #008080">96</span><span style="color: #000000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />&nbsp;&nbsp;trackback:&nbsp;http:</span><span style="color: #008000; background-color: #f5f5f5">//</span><span style="color: #008000; background-color: #f5f5f5">www.blogjava.net/Scott/archive/2007/08/30/141449.html</span><span style="color: #008000; background-color: #f5f5f5"><br />
</span><span style="color: #008080">97</span><span style="color: #008000; background-color: #f5f5f5"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span></div>
</span>
<img src ="http://www.blogjava.net/gen-sky/aggbug/286032.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gen-sky/" target="_blank">星期五</a> 2009-07-09 10:37 <a href="http://www.blogjava.net/gen-sky/archive/2009/07/09/286032.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转] javascript的prototype继承</title><link>http://www.blogjava.net/gen-sky/archive/2009/07/08/285950.html</link><dc:creator>星期五</dc:creator><author>星期五</author><pubDate>Wed, 08 Jul 2009 06:04:00 GMT</pubDate><guid>http://www.blogjava.net/gen-sky/archive/2009/07/08/285950.html</guid><wfw:comment>http://www.blogjava.net/gen-sky/comments/285950.html</wfw:comment><comments>http://www.blogjava.net/gen-sky/archive/2009/07/08/285950.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gen-sky/comments/commentRss/285950.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gen-sky/services/trackbacks/285950.html</trackback:ping><description><![CDATA[&nbsp; 转自：http://www.cnblogs.com/goody9807/archive/2007/04/16/715109.html<br />
&nbsp; <br />
基本的用法 把ClassA的一个实例赋值给ClassB ClassB就继承了ClassA的所有属性<br />
<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000;">&lt;</span><span style="color: #000000;">script</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;ClassA()<br />
<img id="Codehighlighter1_27_45_Open_Image" onclick="this.style.display='none'; Codehighlighter1_27_45_Open_Text.style.display='none'; Codehighlighter1_27_45_Closed_Image.style.display='inline'; Codehighlighter1_27_45_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_27_45_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_27_45_Closed_Text.style.display='none'; Codehighlighter1_27_45_Open_Image.style.display='inline'; Codehighlighter1_27_45_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_27_45_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.a</span><span style="color: #000000;">=</span><span style="color: #000000;">'a';<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;ClassB()<br />
<img id="Codehighlighter1_65_83_Open_Image" onclick="this.style.display='none'; Codehighlighter1_65_83_Open_Text.style.display='none'; Codehighlighter1_65_83_Closed_Image.style.display='inline'; Codehighlighter1_65_83_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_65_83_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_65_83_Closed_Text.style.display='none'; Codehighlighter1_65_83_Open_Image.style.display='inline'; Codehighlighter1_65_83_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_65_83_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.b</span><span style="color: #000000;">=</span><span style="color: #000000;">'b';<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />ClassB.prototype</span><span style="color: #000000;">=</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ClassA();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;objB</span><span style="color: #000000;">=</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ClassB();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">for</span><span style="color: #000000;">(</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;p&nbsp;</span><span style="color: #0000ff;">in</span><span style="color: #000000;">&nbsp;objB)document.write(p</span><span style="color: #000000;">+</span><span style="color: #000000;">"</span><span style="color: #000000;">&lt;br&gt;</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">script</span><span style="color: #000000;">&gt;</span></div>
<br />
<br />
从原型继承理论的角度去考虑 js的原型继承是引用原型 不是复制原型<br />
所以 修改原型会导致所有B的实例的变化<br />
<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000;">&lt;</span><span style="color: #000000;">script</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;ClassA()<br />
<img id="Codehighlighter1_27_45_Open_Image" onclick="this.style.display='none'; Codehighlighter1_27_45_Open_Text.style.display='none'; Codehighlighter1_27_45_Closed_Image.style.display='inline'; Codehighlighter1_27_45_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_27_45_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_27_45_Closed_Text.style.display='none'; Codehighlighter1_27_45_Open_Image.style.display='inline'; Codehighlighter1_27_45_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_27_45_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.a</span><span style="color: #000000;">=</span><span style="color: #000000;">'a';<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;ClassB()<br />
<img id="Codehighlighter1_65_83_Open_Image" onclick="this.style.display='none'; Codehighlighter1_65_83_Open_Text.style.display='none'; Codehighlighter1_65_83_Closed_Image.style.display='inline'; Codehighlighter1_65_83_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_65_83_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_65_83_Closed_Text.style.display='none'; Codehighlighter1_65_83_Open_Image.style.display='inline'; Codehighlighter1_65_83_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_65_83_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.b</span><span style="color: #000000;">=</span><span style="color: #000000;">'b';<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />ClassB.prototype</span><span style="color: #000000;">=</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ClassA();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;objB</span><span style="color: #000000;">=</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ClassB();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />alert(objB.a);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />ClassB.prototype.a</span><span style="color: #000000;">=</span><span style="color: #000000;">'changed</span><span style="color: #000000;">!!</span><span style="color: #000000;">';<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />alert(objB.a);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">script</span><span style="color: #000000;">&gt;</span></div>
<br />
<br />
然而 子类对象的写操作只访问子类对象中成员 它们之间不会互相影响<br />
因此 写是写子类 读是读原型（如果子类中没有的话）<br />
<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000;">&lt;</span><span style="color: #000000;">script</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;ClassA()<br />
<img id="Codehighlighter1_27_45_Open_Image" onclick="this.style.display='none'; Codehighlighter1_27_45_Open_Text.style.display='none'; Codehighlighter1_27_45_Closed_Image.style.display='inline'; Codehighlighter1_27_45_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_27_45_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_27_45_Closed_Text.style.display='none'; Codehighlighter1_27_45_Open_Image.style.display='inline'; Codehighlighter1_27_45_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_27_45_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.a</span><span style="color: #000000;">=</span><span style="color: #000000;">'a';<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;ClassB()<br />
<img id="Codehighlighter1_65_83_Open_Image" onclick="this.style.display='none'; Codehighlighter1_65_83_Open_Text.style.display='none'; Codehighlighter1_65_83_Closed_Image.style.display='inline'; Codehighlighter1_65_83_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_65_83_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_65_83_Closed_Text.style.display='none'; Codehighlighter1_65_83_Open_Image.style.display='inline'; Codehighlighter1_65_83_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_65_83_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.b</span><span style="color: #000000;">=</span><span style="color: #000000;">'b';<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />ClassB.prototype</span><span style="color: #000000;">=</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ClassA();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;objB1</span><span style="color: #000000;">=</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ClassB();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;objB2</span><span style="color: #000000;">=</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ClassB();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />objB1.a</span><span style="color: #000000;">=</span><span style="color: #000000;">'</span><span style="color: #000000;">!!!</span><span style="color: #000000;">';<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />alert(objB1.a);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />alert(objB2.a);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">script</span><span style="color: #000000;">&gt;</span></div>
<br />
<br />
每个子类对象都执有同一个原型的引用 所以子类对象中的原型成员实际是同一个<br />
<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000;">&lt;</span><span style="color: #000000;">script</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;ClassA()<br />
<img id="Codehighlighter1_27_62_Open_Image" onclick="this.style.display='none'; Codehighlighter1_27_62_Open_Text.style.display='none'; Codehighlighter1_27_62_Closed_Image.style.display='inline'; Codehighlighter1_27_62_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_27_62_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_27_62_Closed_Text.style.display='none'; Codehighlighter1_27_62_Open_Image.style.display='inline'; Codehighlighter1_27_62_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_27_62_Open_Text"><span style="color: #000000;">{<br />
<img id="Codehighlighter1_50_59_Open_Image" onclick="this.style.display='none'; Codehighlighter1_50_59_Open_Text.style.display='none'; Codehighlighter1_50_59_Closed_Image.style.display='inline'; Codehighlighter1_50_59_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_50_59_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_50_59_Closed_Text.style.display='none'; Codehighlighter1_50_59_Open_Image.style.display='inline'; Codehighlighter1_50_59_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.a</span><span style="color: #000000;">=</span><span style="color: #0000ff;">function</span><span style="color: #000000;">()</span><span id="Codehighlighter1_50_59_Open_Text"><span style="color: #000000;">{alert();}</span></span><span style="color: #000000;">;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;ClassB()<br />
<img id="Codehighlighter1_82_117_Open_Image" onclick="this.style.display='none'; Codehighlighter1_82_117_Open_Text.style.display='none'; Codehighlighter1_82_117_Closed_Image.style.display='inline'; Codehighlighter1_82_117_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_82_117_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_82_117_Closed_Text.style.display='none'; Codehighlighter1_82_117_Open_Image.style.display='inline'; Codehighlighter1_82_117_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_82_117_Open_Text"><span style="color: #000000;">{<br />
<img id="Codehighlighter1_105_114_Open_Image" onclick="this.style.display='none'; Codehighlighter1_105_114_Open_Text.style.display='none'; Codehighlighter1_105_114_Closed_Image.style.display='inline'; Codehighlighter1_105_114_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_105_114_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_105_114_Closed_Text.style.display='none'; Codehighlighter1_105_114_Open_Image.style.display='inline'; Codehighlighter1_105_114_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.b</span><span style="color: #000000;">=</span><span style="color: #0000ff;">function</span><span style="color: #000000;">()</span><span id="Codehighlighter1_105_114_Open_Text"><span style="color: #000000;">{alert();}</span></span><span style="color: #000000;">;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />ClassB.prototype</span><span style="color: #000000;">=</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ClassA();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;objB1</span><span style="color: #000000;">=</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ClassB();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;objB2</span><span style="color: #000000;">=</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ClassB();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />alert(objB1.a</span><span style="color: #000000;">==</span><span style="color: #000000;">objB2.a);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />alert(objB1.b</span><span style="color: #000000;">==</span><span style="color: #000000;">objB2.b);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">script</span><span style="color: #000000;">&gt;</span></div>
<br />
<br />
<br />
构造子类时 原型的构造函数不会被执行<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000;">&lt;</span><span style="color: #000000;">script</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;ClassA()<br />
<img id="Codehighlighter1_27_78_Open_Image" onclick="this.style.display='none'; Codehighlighter1_27_78_Open_Text.style.display='none'; Codehighlighter1_27_78_Closed_Image.style.display='inline'; Codehighlighter1_27_78_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_27_78_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_27_78_Closed_Text.style.display='none'; Codehighlighter1_27_78_Open_Image.style.display='inline'; Codehighlighter1_27_78_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_27_78_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;alert(</span><span style="color: #000000;">"</span><span style="color: #000000;">a</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
<img id="Codehighlighter1_66_75_Open_Image" onclick="this.style.display='none'; Codehighlighter1_66_75_Open_Text.style.display='none'; Codehighlighter1_66_75_Closed_Image.style.display='inline'; Codehighlighter1_66_75_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_66_75_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_66_75_Closed_Text.style.display='none'; Codehighlighter1_66_75_Open_Image.style.display='inline'; Codehighlighter1_66_75_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.a</span><span style="color: #000000;">=</span><span style="color: #0000ff;">function</span><span style="color: #000000;">()</span><span id="Codehighlighter1_66_75_Open_Text"><span style="color: #000000;">{alert();}</span></span><span style="color: #000000;">;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;ClassB()<br />
<img id="Codehighlighter1_98_149_Open_Image" onclick="this.style.display='none'; Codehighlighter1_98_149_Open_Text.style.display='none'; Codehighlighter1_98_149_Closed_Image.style.display='inline'; Codehighlighter1_98_149_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_98_149_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_98_149_Closed_Text.style.display='none'; Codehighlighter1_98_149_Open_Image.style.display='inline'; Codehighlighter1_98_149_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_98_149_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;alert(</span><span style="color: #000000;">"</span><span style="color: #000000;">b</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />
<img id="Codehighlighter1_137_146_Open_Image" onclick="this.style.display='none'; Codehighlighter1_137_146_Open_Text.style.display='none'; Codehighlighter1_137_146_Closed_Image.style.display='inline'; Codehighlighter1_137_146_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_137_146_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_137_146_Closed_Text.style.display='none'; Codehighlighter1_137_146_Open_Image.style.display='inline'; Codehighlighter1_137_146_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.b</span><span style="color: #000000;">=</span><span style="color: #0000ff;">function</span><span style="color: #000000;">()</span><span id="Codehighlighter1_137_146_Open_Text"><span style="color: #000000;">{alert();}</span></span><span style="color: #000000;">;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />ClassB.prototype</span><span style="color: #000000;">=</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ClassA();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;objB1</span><span style="color: #000000;">=</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ClassB();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;objB2</span><span style="color: #000000;">=</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ClassB();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">script</span><span style="color: #000000;">&gt;</span></div>
<br />
<br />
接下来是致命的，在子类对象中访问原型的成员对象：<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000;">&lt;</span><span style="color: #000000;">script</span><span style="color: #000000;">&gt;</span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;ClassA()<br />
<img id="Codehighlighter1_27_44_Open_Image" onclick="this.style.display='none'; Codehighlighter1_27_44_Open_Text.style.display='none'; Codehighlighter1_27_44_Closed_Image.style.display='inline'; Codehighlighter1_27_44_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_27_44_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_27_44_Closed_Text.style.display='none'; Codehighlighter1_27_44_Open_Image.style.display='inline'; Codehighlighter1_27_44_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_27_44_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.a</span><span style="color: #000000;">=</span><span style="color: #000000;">[];<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;ClassB()<br />
<img id="Codehighlighter1_64_99_Open_Image" onclick="this.style.display='none'; Codehighlighter1_64_99_Open_Text.style.display='none'; Codehighlighter1_64_99_Closed_Image.style.display='inline'; Codehighlighter1_64_99_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_64_99_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_64_99_Closed_Text.style.display='none'; Codehighlighter1_64_99_Open_Image.style.display='inline'; Codehighlighter1_64_99_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_64_99_Open_Text"><span style="color: #000000;">{<br />
<img id="Codehighlighter1_87_96_Open_Image" onclick="this.style.display='none'; Codehighlighter1_87_96_Open_Text.style.display='none'; Codehighlighter1_87_96_Closed_Image.style.display='inline'; Codehighlighter1_87_96_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_87_96_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_87_96_Closed_Text.style.display='none'; Codehighlighter1_87_96_Open_Image.style.display='inline'; Codehighlighter1_87_96_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.b</span><span style="color: #000000;">=</span><span style="color: #0000ff;">function</span><span style="color: #000000;">()</span><span id="Codehighlighter1_87_96_Open_Text"><span style="color: #000000;">{alert();}</span></span><span style="color: #000000;">;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />ClassB.prototype</span><span style="color: #000000;">=</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ClassA();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;objB1</span><span style="color: #000000;">=</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ClassB();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;objB2</span><span style="color: #000000;">=</span><span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;ClassB();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />objB1.a.push(</span><span style="color: #000000;">1</span><span style="color: #000000;">,</span><span style="color: #000000;">2</span><span style="color: #000000;">,</span><span style="color: #000000;">3</span><span style="color: #000000;">);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" />alert(objB2.a);<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #008000;">//</span><span style="color: #008000;">所有b的实例中的a成员全都变了！！</span><span style="color: #008000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000;">&lt;/</span><span style="color: #000000;">script</span><span style="color: #000000;">&gt;</span></div>
<br />
<br />
所以 在prototype继承中 原型类中不能有成员对象！ 所有成员必须是值类型数据（string也可以）<br />
<br />
用prototype继承有执行效率高，不会浪费内存，为父类动态添置方法后子类中马上可见等的优点。<br />
<br />
我就非常喜欢用prototype继承。<br />
<br />
prototype继承是通过把子类的原型对象（prototype）设置成父类的一个实例来进行继承的。<br />
<br />
只简单的这样设置继承的确如楼主所说，有不少缺点。总的来说有四个缺点：<br />
<br />
缺点一：父类的构造函数不是像JAVA中那样在给子类进行实例化时执行的，而是在设置继承的时候执行的，并且只执行一次。这往往不是我们希望的，特别是父类的构造函数中有一些特殊操作的情况下。<br />
<br />
缺点二：由于父类的构造函数不是在子类进行实例化时执行，在父类的构造函数中设置的成员变量到了子类中就成了所有实例对象公有的公共变量。由于
JavaScript中继承只发生在&#8220;获取&#8221;属性的值时，对于属性的值是String，Number和Boolean这些数据本身不能被修改的类型时没有
什么影响。但是Array和Object类型就会有问题。<br />
缺点三：如果父类的构造函数需要参数，我们就没有办法了。<br />
<br />
缺点四：子类原本的原型对象被替换了，子类本身的constructor属性就没有了。在类的实例取它的constructor属性时，取得的是从父类中继承的constructor属性，从而constructor的值是父类而不是子类。<br />
<br />
<br />
我也曾经为了这四个缺点头疼过，于是对prototype继承进行改造。<br />
我试了几种方法，下面是我觉得最好的一种。我把它写成Function对象的一个方法，这样用的时候方便。方法如下：<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #008000;">//</span><span style="color: #008000;">类的继承-海浪版</span><span style="color: #008000;"><br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000;">Function.prototype.Extends&nbsp;</span><span style="color: #000000;">=</span>&nbsp;<span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;(parentClass)<br />
<img id="Codehighlighter1_63_236_Open_Image" onclick="this.style.display='none'; Codehighlighter1_63_236_Open_Text.style.display='none'; Codehighlighter1_63_236_Closed_Image.style.display='inline'; Codehighlighter1_63_236_Closed_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_63_236_Closed_Image" style="display: none;" onclick="this.style.display='none'; Codehighlighter1_63_236_Closed_Text.style.display='none'; Codehighlighter1_63_236_Open_Image.style.display='inline'; Codehighlighter1_63_236_Open_Text.style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_63_236_Open_Text"><span style="color: #000000;">{<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #0000ff;">var</span><span style="color: #000000;">&nbsp;Bs&nbsp;</span><span style="color: #000000;">=</span>&nbsp;<span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Function();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;Bs.prototype&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;parentClass.prototype;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.prototype&nbsp;</span><span style="color: #000000;">=</span>&nbsp;<span style="color: #0000ff;">new</span><span style="color: #000000;">&nbsp;Bs();<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.prototype.Super&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;parentClass;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;</span><span style="color: #0000ff;">this</span><span style="color: #000000;">.prototype.constructor&nbsp;</span><span style="color: #000000;">=</span>&nbsp;<span style="color: #0000ff;">this</span><span style="color: #000000;">;<br />
<img src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span></div>
<br />
<img src ="http://www.blogjava.net/gen-sky/aggbug/285950.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gen-sky/" target="_blank">星期五</a> 2009-07-08 14:04 <a href="http://www.blogjava.net/gen-sky/archive/2009/07/08/285950.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript  字符串比较</title><link>http://www.blogjava.net/gen-sky/archive/2009/07/03/285381.html</link><dc:creator>星期五</dc:creator><author>星期五</author><pubDate>Fri, 03 Jul 2009 09:04:00 GMT</pubDate><guid>http://www.blogjava.net/gen-sky/archive/2009/07/03/285381.html</guid><wfw:comment>http://www.blogjava.net/gen-sky/comments/285381.html</wfw:comment><comments>http://www.blogjava.net/gen-sky/archive/2009/07/03/285381.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/gen-sky/comments/commentRss/285381.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gen-sky/services/trackbacks/285381.html</trackback:ping><description><![CDATA[&nbsp;js <br />
&nbsp;&nbsp; 没有专门的比较方法，只用 "==" 进行比较。<br />
&nbsp;&nbsp; 有特殊情况。<br />
&nbsp;&nbsp; 当比较 undefined 时，会出错。<br />
<br />
&nbsp;&nbsp;&nbsp; &lt;script language="javascript"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var a;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(a);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(a == 'undefined');<br />
&nbsp;&nbsp;&nbsp; &lt;/script&gt;&nbsp; <br />
&nbsp;&nbsp; 返回结果：<br />
&nbsp;&nbsp;&nbsp; undefined<br />
&nbsp;&nbsp;&nbsp; false<br />
&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp; 那么应该怎么办呢？<br />
&nbsp;&nbsp; 这样比较<br />
&nbsp;&nbsp; &lt;script language="javascript"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var a;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(a);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(a+'.' == 'undefined.');<br />
&nbsp;&nbsp;&nbsp; &lt;/script&gt; <br />
<br />
&nbsp;&nbsp; 这个时候便返回 true;<br />
<br />
<br />
&nbsp;&nbsp; <br />
&nbsp;<br />
<br />
<img src ="http://www.blogjava.net/gen-sky/aggbug/285381.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gen-sky/" target="_blank">星期五</a> 2009-07-03 17:04 <a href="http://www.blogjava.net/gen-sky/archive/2009/07/03/285381.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JScript 代码判断上传图片尺寸</title><link>http://www.blogjava.net/gen-sky/archive/2009/06/26/241717.html</link><dc:creator>星期五</dc:creator><author>星期五</author><pubDate>Fri, 26 Jun 2009 10:21:00 GMT</pubDate><guid>http://www.blogjava.net/gen-sky/archive/2009/06/26/241717.html</guid><description><![CDATA[<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: rgb(0, 0, 0);">&nbsp; &lt;HTML&gt;<br />
<br />
&nbsp; </span><span style="color: rgb(0, 0, 0);">&lt;</span><span style="color: rgb(0, 0, 0);">BODY</span><span style="color: rgb(0, 0, 0);">&gt;</span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 0);">&lt;</span><span style="color: rgb(0, 0, 0);">script</span><span style="color: rgb(0, 0, 0);">&gt;</span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">var</span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;img</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 255);">null</span><span style="color: rgb(0, 0, 0);">;&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;s()&nbsp;&nbsp;<br />
&nbsp;&nbsp;{&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);">(img)img.removeNode(</span><span style="color: rgb(0, 0, 255);">true</span><span style="color: rgb(0, 0, 0);">);&nbsp;&nbsp;<br />
&nbsp;&nbsp;img</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">document.createElement(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">img</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">);&nbsp;&nbsp;<br />
&nbsp;&nbsp;img.style.position</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">absolute</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">;&nbsp;&nbsp;<br />
&nbsp;&nbsp;img.style.visibility</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">hidden</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">;&nbsp;&nbsp;<br />
&nbsp;&nbsp;img.attachEvent(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">onreadystatechange</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,orsc);&nbsp;&nbsp;<br />
&nbsp;&nbsp;img.attachEvent(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">onerror</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,oe);&nbsp;&nbsp;<br />
&nbsp;&nbsp;document.body.insertAdjacentElement(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">beforeend</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,img);&nbsp;&nbsp;<br />
&nbsp;&nbsp;img.src</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">inp.value;&nbsp;&nbsp;<br />
&nbsp;&nbsp;}&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;oe()&nbsp;&nbsp;<br />
&nbsp;&nbsp;{&nbsp;&nbsp;<br />
&nbsp;&nbsp;alert(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">cant&nbsp;&nbsp;&nbsp;load&nbsp;&nbsp;&nbsp;img</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">);&nbsp;&nbsp;<br />
&nbsp;&nbsp;}&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">function</span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;orsc()&nbsp;&nbsp;<br />
&nbsp;&nbsp;{&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">if</span><span style="color: rgb(0, 0, 0);">(img.readyState</span><span style="color: rgb(0, 0, 0);">!=</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">complete</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">)</span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 255);">false</span><span style="color: rgb(0, 0, 0);">;&nbsp;&nbsp;<br />
&nbsp;&nbsp;alert(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">图片大小：</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);">img.offsetWidth</span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">X</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);">img.offsetHeight);&nbsp;&nbsp;<br />
&nbsp;&nbsp;alert(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">图片尺寸：</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">+</span><span style="color: rgb(0, 0, 0);">img.fileSize);&nbsp;&nbsp;<br />
&nbsp;&nbsp;}&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 0);">&lt;/</span><span style="color: rgb(0, 0, 0);">script</span><span style="color: rgb(0, 0, 0);">&gt;</span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 0);">&lt;</span><span style="color: rgb(0, 0, 0);">input&nbsp;&nbsp;&nbsp;id</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">inp&nbsp;&nbsp;&nbsp;type</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">file</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">&gt;</span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 0);">&lt;</span><span style="color: rgb(0, 0, 0);">br</span><span style="color: rgb(0, 0, 0);">&gt;</span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 0);">&lt;</span><span style="color: rgb(0, 0, 0);">button&nbsp;&nbsp;&nbsp;onclick</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">s()</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">&gt;</span><span style="color: rgb(0, 0, 0);">Test</span><span style="color: rgb(0, 0, 0);">&lt;/</span><span style="color: rgb(0, 0, 0);">button</span><span style="color: rgb(0, 0, 0);">&gt;</span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 0);">&lt;/</span><span style="color: rgb(0, 0, 0);">BODY</span><span style="color: rgb(0, 0, 0);">&gt;</span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp;<br />
&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 0);">&lt;/</span><span style="color: rgb(0, 0, 0);">HTML</span><span style="color: rgb(0, 0, 0);">&gt;</span><span style="color: rgb(0, 0, 0);">&nbsp;&nbsp; <br />
</span></div>
<img src ="http://www.blogjava.net/gen-sky/aggbug/241717.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gen-sky/" target="_blank">星期五</a> 2009-06-26 18:21 <a href="http://www.blogjava.net/gen-sky/archive/2009/06/26/241717.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>HTML  小技术</title><link>http://www.blogjava.net/gen-sky/archive/2009/06/26/241382.html</link><dc:creator>星期五</dc:creator><author>星期五</author><pubDate>Fri, 26 Jun 2009 10:13:00 GMT</pubDate><guid>http://www.blogjava.net/gen-sky/archive/2009/06/26/241382.html</guid><wfw:comment>http://www.blogjava.net/gen-sky/comments/241382.html</wfw:comment><comments>http://www.blogjava.net/gen-sky/archive/2009/06/26/241382.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gen-sky/comments/commentRss/241382.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gen-sky/services/trackbacks/241382.html</trackback:ping><description><![CDATA[设置文本框不可输入<br />
<div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">input&nbsp;</span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text"</span><span style="color: #ff0000;">&nbsp;name</span><span style="color: #0000ff;">="</span><span style="color: #ff0000;">isa</span><span style="color: #0000ff;">agencyCo"</span><span style="color: #ff0000;">&nbsp; size</span><span style="color: #0000ff;">="30"</span><span style="color: #ff0000;">&nbsp;d</span><span style="color: #ff0000;">bled</span><span style="color: #0000ff;">="disabled"</span><span style="color: #0000ff;">/&gt;</span></div>
<br />
<br />
<img src ="http://www.blogjava.net/gen-sky/aggbug/241382.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gen-sky/" target="_blank">星期五</a> 2009-06-26 18:13 <a href="http://www.blogjava.net/gen-sky/archive/2009/06/26/241382.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> request 与 requestScope 区别</title><link>http://www.blogjava.net/gen-sky/archive/2009/06/25/284148.html</link><dc:creator>星期五</dc:creator><author>星期五</author><pubDate>Thu, 25 Jun 2009 09:43:00 GMT</pubDate><guid>http://www.blogjava.net/gen-sky/archive/2009/06/25/284148.html</guid><wfw:comment>http://www.blogjava.net/gen-sky/comments/284148.html</wfw:comment><comments>http://www.blogjava.net/gen-sky/archive/2009/06/25/284148.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gen-sky/comments/commentRss/284148.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gen-sky/services/trackbacks/284148.html</trackback:ping><description><![CDATA[pageContext.request是一个具体的对象，在你的http请求过程中存在。 <br />
requestScope是一个定义， 表明一个http请求的整个声明周期，它只是一个定义而已，不是一个对象。 EL中你可以在这个周期中放置、获取对象。（当然，其实真正的操作也是针对request对象的）。 比如${requestScope.a.b}，其实就是要表明我告诉jsp要到requestScope这个声明周期中获取对象a.b.而背后的实现就是从request.getAttribute("a"，然后根据表达式得到相应的a.b对象。 <br />
<br />
不一样
<img src ="http://www.blogjava.net/gen-sky/aggbug/284148.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gen-sky/" target="_blank">星期五</a> 2009-06-25 17:43 <a href="http://www.blogjava.net/gen-sky/archive/2009/06/25/284148.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>html select 另类用法</title><link>http://www.blogjava.net/gen-sky/archive/2008/12/12/246022.html</link><dc:creator>星期五</dc:creator><author>星期五</author><pubDate>Fri, 12 Dec 2008 10:34:00 GMT</pubDate><guid>http://www.blogjava.net/gen-sky/archive/2008/12/12/246022.html</guid><wfw:comment>http://www.blogjava.net/gen-sky/comments/246022.html</wfw:comment><comments>http://www.blogjava.net/gen-sky/archive/2008/12/12/246022.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gen-sky/comments/commentRss/246022.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gen-sky/services/trackbacks/246022.html</trackback:ping><description><![CDATA[&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;script language="javascript"&gt;<br />
function number(){<br />
var obj = document.getElementById("mySelect");<br />
/*<br />
for(var i=0;i&lt;obj.options.length;i++){<br />
<br />
&nbsp;&nbsp; &nbsp;if(obj.options[i].value=='我的包包'){<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;obj.selectedIndex = i;<br />
&nbsp;&nbsp; &nbsp;}<br />
}<br />
*/<br />
obj.value='我的包包';<br />
//obj.options[obj.selectedIndex] = Option("我的吃吃","4");//在当前选中的那个的值中改变<br />
//obj.selectedIndex = 3;<br />
//obj.options.add(new Option("我的吃吃","4"));//再添加一个option<br />
//alert(obj.selectedIndex);//显示序号，option自己设置的<br />
//obj.options[obj.selectedIndex].text = "我的吃吃";//更改值<br />
//obj.remove(obj.selectedIndex);//删除功能<br />
}<br />
&lt;/script&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;select id="mySelect"&gt;<br />
&lt;option value="我的包包"&gt;我的包包&lt;/option&gt;<br />
&lt;option value="我的本本"&gt;我的本本&lt;/option&gt;<br />
&lt;option value="我的油油"&gt;我的油油&lt;/option&gt;<br />
&lt;option value="我的担子"&gt;我的担子&lt;/option&gt;<br />
&lt;/select&gt;<br />
&lt;input type="button" name="button" value="查看结果" onclick="number();"&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
<br />
/*<br />
&nbsp;*&nbsp; 使下拉列表的内容与选定的条件相符&nbsp;&nbsp; &nbsp;<br />
&nbsp;*/<br />
function chooseSelect(id,value){<br />
&nbsp;&nbsp; &nbsp;var select = document.getElementById(id);<br />
&nbsp;&nbsp; &nbsp;var options = select.options;<br />
&nbsp;&nbsp; &nbsp;// 循环变量,找到适合的数值<br />
&nbsp;&nbsp; &nbsp;for (var i = 0; i &lt; options.length; i += 1) {<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;if(options[i].value == value){<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;options[i].selected = true;<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;}<br />
&nbsp;&nbsp; &nbsp;}<br />
<br />
}<br />
<br />
<br />
<br />
<br />
<br />
<img src ="http://www.blogjava.net/gen-sky/aggbug/246022.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gen-sky/" target="_blank">星期五</a> 2008-12-12 18:34 <a href="http://www.blogjava.net/gen-sky/archive/2008/12/12/246022.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> [转]javascript HTML DOM option对象总结</title><link>http://www.blogjava.net/gen-sky/archive/2008/12/12/246019.html</link><dc:creator>星期五</dc:creator><author>星期五</author><pubDate>Fri, 12 Dec 2008 10:20:00 GMT</pubDate><guid>http://www.blogjava.net/gen-sky/archive/2008/12/12/246019.html</guid><wfw:comment>http://www.blogjava.net/gen-sky/comments/246019.html</wfw:comment><comments>http://www.blogjava.net/gen-sky/archive/2008/12/12/246019.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gen-sky/comments/commentRss/246019.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gen-sky/services/trackbacks/246019.html</trackback:ping><description><![CDATA[<div align="center"><strong><font size="5">javascript HTML DOM
option对象总结</font></strong></div>
<table style="table-layout: fixed;">
    <tbody>
        <tr>
            <td>
            <div>
            <p><font color="#000080" size="3">DATA:2008-4-13 18:00&nbsp;&nbsp;&nbsp; AUTHOR:renxian
            ADDR:beijing</font></p>
            <p><font color="#000080" size="3">一基础理解:</font></p>
            <p><font size="3">var e = document.getElementById("selectId");</font></p>
            <p><font size="3">e. options= new <font color="#ff0000">O</font>ption("文本","值")
            ;</font></p>
            <p><font size="3">//创建一个option对象,即在&lt;select&gt;标签中创建一个或多个&lt;option
            value="值"&gt;文本&lt;/option&gt;</font></p>
            <p><font size="3">//options是个数组,里面可以存放多个&lt;option
            value="值"&gt;文本&lt;/option&gt;这样的标签</font></p>
            <p><font color="#000080" size="3">1:options[ ]数组的属性:</font></p>
            <p><font size="3">length属性---------长度属性</font></p>
            <p><font size="3">selectedIndex属性--------当前被选中的框中的文本的索引值,此索引值是内存自动分配的(0,1,2,3.....)对应(第一个文本值,第二个文本值,第三个文本值,第四个文本值..........)</font></p>
            <p><font size="3"><font color="#000080">2:单个option的属性</font>(---obj.options[obj.selecedIndex]是指定的某个&lt;option&gt;标签,是一个---)</font></p>
            <p><font size="3">text属性---------返回/指定 文本<br />
            </font><font size="3"><br />
            </font><font size="3">value属性------返回/指定 值，与&lt;options value="..."&gt;一致。</font></p>
            <p><font size="3">index属性-------返回下标,</font></p>
            <p><font size="3">selected 属性-------返回/指定该对象是否被选中.通过指定 true 或者
            false，可以动态的改变选中项</font></p>
            <p><font size="3">defaultSelected 属性-----返回该对象默认是否被选中。true / false。</font></p>
            <p><font color="#000080" size="3">3:option的方法</font></p>
            <p><font size="3">增加一个&lt;option&gt;标签-----</font><font size="3">obj.options.add(new("文本","值"));<font color="#ff0000">&lt;增&gt;</font></font></p>
            <p><font size="3">删除一个&lt;option&gt;标签-----obj.options.remove(obj.selectedIndex</font><font size="3">)<font color="#ff0000">&lt;删&gt;</font></font></p>
            <p><font size="3">获得一个&lt;option&gt;标签的文本-----obj.options[obj.selectedIndex].text<font color="#ff0000">&lt;查&gt;</font></font></p>
            <p><font size="3">修改一个&lt;option&gt;标签的值-----obj.options[obj.selectedIndex]=new
            Option("新文本","新值")<font color="#ff0000">&lt;改&gt;</font></font></p>
            <font size="3">
            <p><font size="3">删除所有&lt;option&gt;标签-----obj.options.length = 0</font></p>
            <p><font size="3">获得一个&lt;option&gt;标签的值-----obj.options[obj.selectedIndex].value</font></p>
            <p><font size="3">注意:</font></p>
            <p><font size="3">a:上面的写的是如这样类型的方法obj.options.function()而不写obj.funciton,是因为为了考虑在IE和FF
            下的兼容,如obj.add()只能在IE中有效.</font></p>
            <p><font size="3">b:obj.option中的option不需要大写,new Option中的Option需要大写</font></p>
            <p><font color="#000080" size="3">二 应用</font></p>
            <p><font size="3">&lt;html&gt;<br />
            &lt;head&gt;<br />
            &lt;script
            language="javascript"&gt;<br />
            function number(){<br />
            var obj =
            document.getElementById("mySelect");<br />
            &nbsp;&nbsp;&nbsp; //obj.options[obj.selectedIndex] =
            new Option("我的吃吃","4");//在当前选中的那个的值中改变<br />
            &nbsp;&nbsp;&nbsp; //obj.options.add(new
            Option("我的吃吃","4"));再添加一个option<br />
            &nbsp;&nbsp;&nbsp;
            //alert(obj.selectedIndex);//显示序号，option自己设置的<br />
            &nbsp;&nbsp;&nbsp;
            //obj.options[obj.selectedIndex].text = "我的吃吃";更改值<br />
            &nbsp;&nbsp;
            //obj.remove(obj.selectedIndex);删除功能<br />
            }<br />
            &lt;/script&gt;<br />
            &lt;/head&gt;<br />
            &lt;body&gt;<br />
            &lt;select
            id="mySelect"&gt;<br />
            &nbsp;&nbsp;&nbsp;&nbsp; &lt;option&gt;我的包包&lt;/option&gt;<br />
            &nbsp;&nbsp;&nbsp;&nbsp;
            &lt;option&gt;我的本本&lt;/option&gt;<br />
            &nbsp;&nbsp;&nbsp;&nbsp;
            &lt;option&gt;我的油油&lt;/option&gt;<br />
            &nbsp;&nbsp;&nbsp;&nbsp;
            &lt;option&gt;我的担子&lt;/option&gt;<br />
            &lt;/select&gt;<br />
            &lt;input type="button"
            name="button" value="查看结果"
            onclick="number();"&gt;<br />
            &lt;/body&gt;<br />
            &lt;/html&gt;</font></p>
            </font></div>
            </td>
        </tr>
    </tbody>
</table>
<img src ="http://www.blogjava.net/gen-sky/aggbug/246019.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gen-sky/" target="_blank">星期五</a> 2008-12-12 18:20 <a href="http://www.blogjava.net/gen-sky/archive/2008/12/12/246019.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[ 转 ]  form的onsubmit属性 </title><link>http://www.blogjava.net/gen-sky/archive/2008/12/03/244091.html</link><dc:creator>星期五</dc:creator><author>星期五</author><pubDate>Wed, 03 Dec 2008 02:56:00 GMT</pubDate><guid>http://www.blogjava.net/gen-sky/archive/2008/12/03/244091.html</guid><wfw:comment>http://www.blogjava.net/gen-sky/comments/244091.html</wfw:comment><comments>http://www.blogjava.net/gen-sky/archive/2008/12/03/244091.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gen-sky/comments/commentRss/244091.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gen-sky/services/trackbacks/244091.html</trackback:ping><description><![CDATA[<fieldset><legend><a href="http://qingbo.org/archives/294.html" rel="bookmark" title="Permanent Link: form的onsubmit属性">form的onsubmit属性</a></legend></fieldset>
<p>在对一个表单（form）进行客户端检验的时候，我们已经习惯了&lt;form onsubmit=&#8221;return check()&#8221;&gt;这样的形式，如果表单没有通过验证，在check函数中return false就会阻止表单的提交了。</p>
<p>然而，如果要动态地为一个表单添加验证，即HTML代码中没有写onsubmit，而在页面加载后用javascript给这个form加一个handler，问题就来了。</p>
<p>假设我们已经得到了表单的DOM节点，保存在变量form中，一般这样来给它加上handler：</p>
<blockquote>
<p>
if (form.addEventListener) {<br />
form.addEventListener(&#8221;submit&#8221;, check, false);<br />
} else if (form.attachEvent) {<br />
form.attachEvent(&#8221;onsubmit&#8221;, check);
</p>
</blockquote>
<p>但是这个check函数现在应该怎么写呢？验证失败时，仅仅写一个&#8221;return
false;&#8221;在Firefox中是不能阻止表单的提交的(在IE中可以)，这就是为什么大家在onsubmit属性中要写&#8221;return
check()&#8221;，而不仅仅是&#8221;check()&#8221;。</p>
<p>请看<a href="http://www.w3.org/TR/DOM-Level-2-Events/ecma-script-binding.html">ECMAScript Language Binding</a>，其中明确地写着，event listener没有返回值。其实一切的根本都因为IE不支持DOM Level 2，大家都习惯了IE的return false，到了Firefox中也只是一个ugly的变通，而很少去注意正确的做法。</p>
<p>下面是一个可以被动态地attach(见上面的代码)的check函数：</p>
<blockquote>
<p>
function check() {<br />
if (e &amp;&amp; e.preventDefault) e.preventDefault();<br />
return false;<br />
}
</p>
</blockquote>
<p>在IE和Firefox中，它都可以被动态挂载为onsubmit的handler而且正常工作。</p>
<p>万恶的IE！</p>
<img src ="http://www.blogjava.net/gen-sky/aggbug/244091.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gen-sky/" target="_blank">星期五</a> 2008-12-03 10:56 <a href="http://www.blogjava.net/gen-sky/archive/2008/12/03/244091.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>showModalDialog返回值的问题？</title><link>http://www.blogjava.net/gen-sky/archive/2008/12/02/243867.html</link><dc:creator>星期五</dc:creator><author>星期五</author><pubDate>Tue, 02 Dec 2008 02:51:00 GMT</pubDate><guid>http://www.blogjava.net/gen-sky/archive/2008/12/02/243867.html</guid><wfw:comment>http://www.blogjava.net/gen-sky/comments/243867.html</wfw:comment><comments>http://www.blogjava.net/gen-sky/archive/2008/12/02/243867.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/gen-sky/comments/commentRss/243867.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gen-sky/services/trackbacks/243867.html</trackback:ping><description><![CDATA[<br />
<br />
1. &nbsp; show.html &nbsp; <br />
&nbsp; &lt;script &nbsp; language="javascript"&gt; &nbsp; <br />
&nbsp; var &nbsp; rv &nbsp; = &nbsp; showModalDialog("sm.html"); &nbsp; <br />
&nbsp; alert(rv.length); &nbsp; <br />
&nbsp; alert(rv[0] &nbsp; + &nbsp; ":" &nbsp; + &nbsp; rv[1]); &nbsp; <br />
&nbsp; &lt;/script&gt; &nbsp; <br />
&nbsp;  &nbsp; <br />
&nbsp; 2. &nbsp; sm.html: &nbsp; <br />
&nbsp; &lt;script &nbsp; language="javascript"&gt; &nbsp; <br />
&nbsp; function &nbsp; closeWin() &nbsp; <br />
&nbsp; { &nbsp; <br />
&nbsp;  &nbsp;  &nbsp; var &nbsp; rt &nbsp; = &nbsp; new &nbsp; Array(2); &nbsp; <br />
&nbsp;  &nbsp;  &nbsp; rt[0] &nbsp; = &nbsp; "hello"; &nbsp; <br />
&nbsp;  &nbsp;  &nbsp; rt[1] &nbsp; = &nbsp; "world"; &nbsp; <br />
&nbsp;  &nbsp;  &nbsp; window.returnValue &nbsp; = &nbsp; rt; &nbsp; <br />
&nbsp;  &nbsp;  &nbsp; window.close(); &nbsp; <br />
&nbsp; } &nbsp; <br />
&nbsp; &lt;/script&gt; &nbsp; <br />
&nbsp; &lt;input &nbsp; type="button" &nbsp; value="close" &nbsp; onclick="closeWin()"&gt; &nbsp; <br />
&nbsp; <br />
<br />
<br />
下面是对只有两个返回值的处理方法。 &nbsp; <br />
&nbsp; 方法一：利用returnValue &nbsp; <br />
&nbsp; 1、在WEB对话框中，设returnValue="返回值1"+"|"+"返回值2"(注意返回值总长度不能超过4096个字节) &nbsp; <br />
&nbsp; 2、在主页面中： &nbsp; <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp; retvar=showModalDialog("test.htm"); &nbsp; <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp; ret=retvar.split(/|/g); &nbsp; <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp; //以下是检测返回值情况 &nbsp; <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp; alert(ret[0]+""n"n"+ret[1]); &nbsp; <br />
&nbsp;  &nbsp; <br />
&nbsp; 方法二：利用给主页面中的变量赋值的方法 &nbsp; <br />
&nbsp; 1、在主页面中预先定义两个变量x1,x2,即： &nbsp; <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp; var &nbsp; x1,x2; &nbsp; <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; <br />
&nbsp; 2、在web对话框中，给主页面赋值。 &nbsp; <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp; parent.x1="1234567890"; &nbsp; <br />
&nbsp;  &nbsp;  &nbsp;  &nbsp; parent.x2="xyz"; &nbsp; <br />
&nbsp; <br />
<br />
<img src ="http://www.blogjava.net/gen-sky/aggbug/243867.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gen-sky/" target="_blank">星期五</a> 2008-12-02 10:51 <a href="http://www.blogjava.net/gen-sky/archive/2008/12/02/243867.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>