<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>凉风集 &#187; javascript</title>
	<atom:link href="http://www.lifangjin.com/archives/tag/javascript/feed" rel="self" type="application/rss+xml" />
	<link>http://www.lifangjin.com</link>
	<description>李方进的个人BLOG</description>
	<lastBuildDate>Sun, 05 Feb 2012 15:36:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>注意JS文件编码和页面编码不一致带来的问题</title>
		<link>http://www.lifangjin.com/archives/897</link>
		<comments>http://www.lifangjin.com/archives/897#comments</comments>
		<pubDate>Wed, 07 Jul 2010 12:44:36 +0000</pubDate>
		<dc:creator>李 方进</dc:creator>
				<category><![CDATA[开发编程]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.lifangjin.com/?p=897</guid>
		<description><![CDATA[晚上有个基于jqeury的翻屏js特效出了个古怪的问题——在IE7和FF下很正常，而使用IE6的朋友却说特效没出现，错误是翻屏特效的那个js函数未定义。想了无数办法都没解决，后来google到这篇文章才明白过来，js文件本身是gb2312的，而页面编码却是utf-8的，在修改js文件编码格式为utf-8以后，问题得以解决。]]></description>
			<content:encoded><![CDATA[<p>晚上有个基于jqeury的翻屏js特效出了个古怪的问题——在IE7和FF下很正常，而使用IE6的朋友却说特效没出现，错误是翻屏特效的那个js函数未定义。想了无数办法都没解决，后来google到<a href="http://blog.csdn.net/donetboy328/archive/2010/01/18/5209345.aspx" target="_blank">这篇文章</a>才明白过来，js文件本身是gb2312的，而页面编码却是utf-8的，在修改js文件编码格式为utf-8以后，问题得以解决。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifangjin.com/archives/897/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>页面全部链接在新窗口打开的JS</title>
		<link>http://www.lifangjin.com/archives/375</link>
		<comments>http://www.lifangjin.com/archives/375#comments</comments>
		<pubDate>Tue, 31 Jul 2007 09:26:58 +0000</pubDate>
		<dc:creator>李 方进</dc:creator>
				<category><![CDATA[开发编程]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.lifangjin.com/?p=375</guid>
		<description><![CDATA[&#60;script&#62;&#160; &#160; function openBlank(){&#160; &#160; var aa=document.getElementsByTagName(&#34;a&#34;);&#160; &#160; for (var i=0;i&#60;aa.length;i++){&#160; &#160; &#160; aa[i].target=\'_blank\';&#160; &#160; }&#160; }&#160; if (document.all){&#160; &#160; window.attachEvent(\'onload\',openBlank);&#160; }&#160; else{&#160; &#160; window.addEventListener(\'load\',openBlank,false);&#160; }&#60;/script&#62;]]></description>
			<content:encoded><![CDATA[<div class="hl-surround"><ol class="hl-main ln-show" title="Double click to hide line number." ondblclick = "linenumber(this)"><li class="hl-firstline"><span style="color: Gray;">&lt;</span><span style="color: Blue;">script</span><span style="color: Gray;">&gt;&nbsp; &nbsp; </span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">openBlank</span><span style="color: Olive;">(){</span><span style="color: Gray;">&nbsp; &nbsp; </span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">aa</span><span style="color: Gray;">=</span><span style="color: Teal;">document</span><span style="color: Gray;">.</span><span style="color: Blue;">getElementsByTagName</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">a</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp; </span><span style="color: Green;">for</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: Green;">var</span><span style="color: Gray;"> </span><span style="color: Blue;">i</span><span style="color: Gray;">=</span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span><span style="color: Blue;">i</span><span style="color: Gray;">&lt;</span><span style="color: Blue;">aa</span><span style="color: Gray;">.</span><span style="color: Blue;">length</span><span style="color: Gray;">;</span><span style="color: Blue;">i</span><span style="color: Gray;">++</span><span style="color: Olive;">){</span><span style="color: Gray;">&nbsp; &nbsp; &nbsp; </span><span style="color: Blue;">aa</span><span style="color: Olive;">[</span><span style="color: Blue;">i</span><span style="color: Olive;">]</span><span style="color: Gray;">.</span><span style="color: Blue;">target</span><span style="color: Gray;">=\</span><span style="color: #8b0000;">'</span><span style="color: Red;">_blank</span><span style="color: Navy;">\'</span><span style="color: Red;">;&nbsp; &nbsp; }&nbsp; }&nbsp; if (document.all){&nbsp; &nbsp; window.attachEvent(</span><span style="color: Navy;">\'</span><span style="color: Red;">onload</span><span style="color: Navy;">\'</span><span style="color: Red;">,openBlank);&nbsp; }&nbsp; else{&nbsp; &nbsp; window.addEventListener(</span><span style="color: Navy;">\'</span><span style="color: Red;">load</span><span style="color: Navy;">\'</span><span style="color: Red;">,openBlank,false);&nbsp; }&lt;/script&gt;</span></li></ol></div>
]]></content:encoded>
			<wfw:commentRss>http://www.lifangjin.com/archives/375/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>介绍一个javascript开发利器——Aptana</title>
		<link>http://www.lifangjin.com/archives/329</link>
		<comments>http://www.lifangjin.com/archives/329#comments</comments>
		<pubDate>Wed, 09 May 2007 08:53:51 +0000</pubDate>
		<dc:creator>李 方进</dc:creator>
				<category><![CDATA[开发编程]]></category>
		<category><![CDATA[Aptana]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.lifangjin.com/?p=329</guid>
		<description><![CDATA[来自：http://www.cnopensource.com/archives/14 下图是一个截图:]]></description>
			<content:encoded><![CDATA[<p>来自：<a target="_blank" href="http://www.cnopensource.com/archives/14">http://www.cnopensource.com/archives/14</a><br />
下图是一个截图:<br />
<img src="http://www.lifangjin.com/wp-content/uploads/2007/05/code_assist_thumb.png" alt="code_assist_thumb.png" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifangjin.com/archives/329/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>如何去掉网页上flash周围的虚线框?</title>
		<link>http://www.lifangjin.com/archives/193</link>
		<comments>http://www.lifangjin.com/archives/193#comments</comments>
		<pubDate>Tue, 05 Dec 2006 06:46:51 +0000</pubDate>
		<dc:creator>李 方进</dc:creator>
				<category><![CDATA[开发编程]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.lifangjin.com/?p=193</guid>
		<description><![CDATA[在windows xp sp2以上的浏览器浏览带有flash导航的网页时,flash四周会出现一个虚线框,并且提示&#8221;单击激活此控件&#8221;,让那上面的按钮必须单击两次才能使用 目前只发现了一种方法,即把flash代码放入js里. 实现一: &#60;script type=&#8221;text/javascript&#8221;&#62; AC_FL_RunContent( &#8216;codebase&#8217;,'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0&#8242;,&#8217;width&#8217;,'Flash宽度&#8217;,'height&#8217;,'Flash高度&#8217;,'src&#8217;,'Flash地址&#8217;,'quality&#8217;,'high&#8217;,'pluginspage&#8217;,'http://www.macromedia.com/go/getflashplayer&#8217;,'movie&#8217;,'Flash地址&#8217; ); &#60;/script&#62; 实现二: &#60;td&#62;&#60;SCRIPT&#62; leftmenu(&#8220;cCompany&#8221;,4,1); &#60;/SCRIPT&#62; &#60;/td&#62; &#60;script language=javascript&#62; function leftmenu(sectiontype,oDN,tDN ){ document.write(&#8216;&#60;OBJECT classid=&#8221;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&#8243; codebase=&#8221;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0&#8221; WIDTH=&#8221;163&#8243; HEIGHT=&#8221;450&#8243; align=&#8221;center&#8221; id=&#8221;Company&#8221;&#62;&#8217;); document.write(&#8216;&#60;PARAM NAME=movie VALUE=？&#62;&#8217;); document.write(&#8216;&#60;param name=wmode value=transparent&#62;&#8217;); document.write(&#8216;&#60;PARAM NAME=quality VALUE=high&#62;&#8217;); document.write(&#8216;&#60;PARAM NAME=allowScriptAccess VALUE=sameDomain&#62;&#8217;); document.write(&#8216;&#60;EMBED src=？ quality=high bgcolor=#FFFFFF WIDTH=163 HEIGHT=450 TYPE=&#8221;application/x-shockwave-flash&#8221; PLUGINSPAGE=&#8221;http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash&#8221;&#62;&#8217;); document.write(&#8216;&#60;/EMBED&#62;&#8217;); document.write(&#8216;&#60;/OBJECT&#62;&#8217;); } &#60;/script&#62;]]></description>
			<content:encoded><![CDATA[<p>在windows xp sp2以上的浏览器浏览带有flash导航的网页时,flash四周会出现一个虚线框,并且提示&#8221;单击激活此控件&#8221;,让那上面的按钮必须单击两次才能使用</p>
<p>目前只发现了一种方法,即把flash代码放入js里.</p>
<p>实现一:</p>
<p>&lt;script type=&#8221;text/<a href="http://www.lifangjin.com/archives/tag/javascript" class="st_tag internal_tag" rel="tag" title="Posts tagged with javascript">javascript</a>&#8221;&gt;<br />
AC_FL_RunContent( &#8216;codebase&#8217;,'http://download.macromedia.com/pub/shockwave/cabs/<a href="http://www.lifangjin.com/archives/tag/flash" class="st_tag internal_tag" rel="tag" title="Posts tagged with flash">flash</a>/swflash.cab#version=7,0,19,0&#8242;,&#8217;width&#8217;,'Flash宽度&#8217;,'height&#8217;,'Flash高度&#8217;,'src&#8217;,'Flash地址&#8217;,'quality&#8217;,'high&#8217;,'pluginspage&#8217;,'http://www.macromedia.com/go/getflashplayer&#8217;,'movie&#8217;,'Flash地址&#8217; );<br />
&lt;/script&gt;</p>
<p>实现二:</p>
<p>&lt;td&gt;&lt;SCRIPT&gt; leftmenu(&#8220;cCompany&#8221;,4,1); &lt;/SCRIPT&gt; &lt;/td&gt;<br />
&lt;script language=javascript&gt;<br />
function leftmenu(sectiontype,oDN,tDN ){<br />
document.write(&#8216;&lt;OBJECT classid=&#8221;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&#8243; codebase=&#8221;<a href="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0">http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0</a>&#8221; WIDTH=&#8221;163&#8243; HEIGHT=&#8221;450&#8243; align=&#8221;center&#8221; id=&#8221;Company&#8221;&gt;&#8217;);<br />
document.write(&#8216;&lt;PARAM NAME=movie VALUE=？&gt;&#8217;);<br />
document.write(&#8216;&lt;param name=wmode value=transparent&gt;&#8217;);<br />
document.write(&#8216;&lt;PARAM NAME=quality VALUE=high&gt;&#8217;);<br />
document.write(&#8216;&lt;PARAM NAME=allowScriptAccess VALUE=sameDomain&gt;&#8217;);<br />
document.write(&#8216;&lt;EMBED src=？ quality=high bgcolor=#FFFFFF WIDTH=163 HEIGHT=450 TYPE=&#8221;application/x-shockwave-flash&#8221; PLUGINSPAGE=&#8221;<a href="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash&#8221;&gt;&#8217;</a>);<br />
document.write(&#8216;&lt;/EMBED&gt;&#8217;);<br />
document.write(&#8216;&lt;/OBJECT&gt;&#8217;);<br />
}<br />
&lt;/script&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifangjin.com/archives/193/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>创建firefox和IE兼容的两级联动下拉菜单的javascript代码</title>
		<link>http://www.lifangjin.com/archives/192</link>
		<comments>http://www.lifangjin.com/archives/192#comments</comments>
		<pubDate>Tue, 05 Dec 2006 04:12:13 +0000</pubDate>
		<dc:creator>李 方进</dc:creator>
				<category><![CDATA[开发编程]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.lifangjin.com/?p=192</guid>
		<description><![CDATA[       在公司，我们团队的项目开发与设计正在逐步的要求标准化、规范化。鉴于firefox的使用者比例越来越高，因此项目进入测试阶段后，我们会采用ie和firefox两种浏览器进行测试。问题出来了，在今天的一个项目测试中，IE下支持的两级联动菜单，到了firefox就不支持了。有趣的是，技术部的程序员居然告诉该项目PM，他不会解决。君既自认不能为之，则吾改之矣。经过几分钟的修改，搞定。 原代码如下： &#60;SCRIPT language=&#8221;javascript&#8221;&#62; switch (document.coform.province.value) { case &#8221; : var labels = new Array(&#8216;请选择城市&#8217;); var values = new Array(&#8221;); break; case &#8216;安徽省&#8217; : var labels = new Array(&#8216;合肥市&#8217;,'淮北市&#8217;,'淮南市&#8217;,'黄山市&#8217;,'安庆市&#8217;,'蚌埠市&#8217;,'巢湖地区&#8217;,'池州地区&#8217;,'滁州市&#8217;,'六安地区&#8217;,'马鞍山市&#8217;,'宣城地区&#8217;,'宿县地区&#8217;,'铜陵市&#8217;,'芜湖市&#8217;,'阜阳市&#8217;); var values = new Array(&#8216;合肥市&#8217;,'淮北市&#8217;,'淮南市&#8217;,'黄山市&#8217;,'安庆市&#8217;,'蚌埠市&#8217;,'巢湖地区&#8217;,'池州地区&#8217;,'滁州市&#8217;,'六安地区&#8217;,'马鞍山市&#8217;,'宣城地区&#8217;,'宿县地区&#8217;,'铜陵市&#8217;,'芜湖市&#8217;,'阜阳市&#8217;); break; document.coform.citys.options.length = 0; var j=0; // 从数组中添加内容 for(var i = 0; i &#60;labels.length; i++) { document.coform.citys.add(document.createElement(&#8220;OPTION&#8221;)); document.coform.citys.options[i].text=labels[i]; document.coform.citys.options[i].value=values[i]; if (labels[i]==str) [...]]]></description>
			<content:encoded><![CDATA[<p>       在公司，我们团队的项目开发与设计正在逐步的要求标准化、规范化。鉴于firefox的使用者比例越来越高，因此项目进入测试阶段后，我们会采用ie和firefox两种浏览器进行测试。问题出来了，在今天的一个项目测试中，IE下支持的两级联动菜单，到了firefox就不支持了。有趣的是，技术部的程序员居然告诉该项目PM，他不会解决。君既自认不能为之，则吾改之矣。经过几分钟的修改，搞定。</p>
<p>原代码如下：</p>
<p>&lt;SCRIPT language=&#8221;<a href="http://www.lifangjin.com/archives/tag/javascript" class="st_tag internal_tag" rel="tag" title="Posts tagged with javascript">javascript</a>&#8221;&gt;</p>
<p>switch (document.coform.province.value) {</p>
<p>case &#8221; :<br />
var labels = new Array(&#8216;请选择城市&#8217;);<br />
var values = new Array(&#8221;);<br />
break;</p>
<p>case &#8216;安徽省&#8217; :<br />
var labels = new Array(&#8216;合肥市&#8217;,'淮北市&#8217;,'淮南市&#8217;,'黄山市&#8217;,'安庆市&#8217;,'蚌埠市&#8217;,'巢湖地区&#8217;,'池州地区&#8217;,'滁州市&#8217;,'六安地区&#8217;,'马鞍山市&#8217;,'宣城地区&#8217;,'宿县地区&#8217;,'铜陵市&#8217;,'芜湖市&#8217;,'阜阳市&#8217;);<br />
var values = new Array(&#8216;合肥市&#8217;,'淮北市&#8217;,'淮南市&#8217;,'黄山市&#8217;,'安庆市&#8217;,'蚌埠市&#8217;,'巢湖地区&#8217;,'池州地区&#8217;,'滁州市&#8217;,'六安地区&#8217;,'马鞍山市&#8217;,'宣城地区&#8217;,'宿县地区&#8217;,'铜陵市&#8217;,'芜湖市&#8217;,'阜阳市&#8217;);<br />
break;</p>
<p>document.coform.citys.options.length = 0;<br />
var j=0;<br />
// 从数组中添加内容<br />
for(var i = 0; i &lt;labels.length; i++) {</p>
<p>document.coform.citys.add(document.createElement(&#8220;OPTION&#8221;));</p>
<p>document.coform.citys.options[i].text=labels[i];<br />
document.coform.citys.options[i].value=values[i];<br />
if (labels[i]==str)<br />
{ <br />
 j=i;<br />
}</p>
<p>} <br />
 document.coform.citys.selectedIndex = j; } <br />
              &lt; /SCRIPT&gt;</p>
<p>&lt;form name=&#8221;coform&#8221; action=&#8221;" method=&#8221;post&#8221;&gt;</p>
<p>&lt;select NAME=&#8221;province&#8221; OnChange=&#8221;setcitys()&#8221;&gt;</p>
<p>&lt;option value=&#8221;" selected&gt;请选择省份&lt;/option&gt;&lt;option value=&#8221;安徽省&#8221; selected&gt;安徽省&lt;/option&gt;&lt; /select&gt;</p>
<p>&lt;SELECT name=&#8221;citys&#8221;&gt;&lt;option value=&#8221;0&#8243;&gt;请选择城市&lt;/option&gt;&lt;/SELECT&gt;<br />
               &lt;SCRIPT language=&#8221;JavaScript&#8221;&gt;setcitys();&lt;/SCRIPT&gt;</p>
<p> &lt; /form&gt;</p>
<p>改进后的代码：</p>
<p>&lt;SCRIPT language=&#8221;javascript&#8221;&gt;</p>
<p>switch (document.getElementById(&#8220;sprovince&#8221;).value) {</p>
<p>case &#8221; :<br />
var labels = new Array(&#8216;请选择城市&#8217;);<br />
var values = new Array(&#8221;);<br />
break;</p>
<p>case &#8216;安徽省&#8217; :<br />
var labels = new Array(&#8216;合肥市&#8217;,'淮北市&#8217;,'淮南市&#8217;,'黄山市&#8217;,'安庆市&#8217;,'蚌埠市&#8217;,'巢湖地区&#8217;,'池州地区&#8217;,'滁州市&#8217;,'六安地区&#8217;,'马鞍山市&#8217;,'宣城地区&#8217;,'宿县地区&#8217;,'铜陵市&#8217;,'芜湖市&#8217;,'阜阳市&#8217;);<br />
var values = new Array(&#8216;合肥市&#8217;,'淮北市&#8217;,'淮南市&#8217;,'黄山市&#8217;,'安庆市&#8217;,'蚌埠市&#8217;,'巢湖地区&#8217;,'池州地区&#8217;,'滁州市&#8217;,'六安地区&#8217;,'马鞍山市&#8217;,'宣城地区&#8217;,'宿县地区&#8217;,'铜陵市&#8217;,'芜湖市&#8217;,'阜阳市&#8217;);<br />
break;</p>
<p>document.getElementById(&#8220;scitys&#8221;).options.length = 0;<br />
var j=0;<br />
// 从数组中添加内容<br />
for(var i = 0; i &lt;labels.length; i++) {</p>
<p>document.getElementById(&#8220;scitys&#8221;).appendChild(document.createElement(&#8220;OPTION&#8221;));</p>
<p>document.getElementById(&#8220;scitys&#8221;).options[i].text=labels[i];<br />
document.getElementById(&#8220;scitys&#8221;).options[i].value=values[i];<br />
if (labels[i]==str)<br />
{ <br />
 j=i;<br />
}</p>
<p>} <br />
 document.getElementById(&#8220;scitys&#8221;).selectedIndex = j; } <br />
              &lt; /SCRIPT&gt;</p>
<p>&lt;form name=&#8221;coform&#8221; action=&#8221;" method=&#8221;post&#8221;&gt;</p>
<p>&lt;select NAME=&#8221;province&#8221; id=sprovince OnChange=&#8221;setcitys()&#8221;&gt;</p>
<p>&lt;option value=&#8221;" selected&gt;请选择省份&lt;/option&gt;&lt;option value=&#8221;安徽省&#8221; selected&gt;安徽省&lt;/option&gt;&lt; /select&gt;</p>
<p>&lt;SELECT id=scitys name=&#8221;citys&#8221;&gt;&lt;option value=&#8221;0&#8243;&gt;请选择城市&lt;/option&gt;&lt;/SELECT&gt;<br />
               &lt;SCRIPT language=&#8221;JavaScript&#8221;&gt;setcitys();&lt;/SCRIPT&gt;</p>
<p> &lt; /form&gt;</p>
<p>两者的差异：</p>
<p>１、采用document.getElementById(&#8220;&#8221;)标记html标签</p>
<p>2、appendChild替换了add方法</p>
<p>简单的几个改造，就能使该两级联动菜单同时支持ie及firefox了。</p>
<p>PS:时间有限,未对该代码进行精简</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifangjin.com/archives/192/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>如何判断访问者安装了alexa?</title>
		<link>http://www.lifangjin.com/archives/191</link>
		<comments>http://www.lifangjin.com/archives/191#comments</comments>
		<pubDate>Mon, 04 Dec 2006 09:41:09 +0000</pubDate>
		<dc:creator>李 方进</dc:creator>
				<category><![CDATA[开发编程]]></category>
		<category><![CDATA[alexa]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.lifangjin.com/archives/191</guid>
		<description><![CDATA[21cn免费邮箱的pop3出现了短暂的不能使用了，于是乎，web登陆上去收邮件。无意发现21cn在做一个邮箱积分换礼品的活动，其中采用alexa登陆21cn的积分几乎是不采用alexa登陆的2倍以上。因此，对于21cn邮箱如何判断访问者是否使用alexa产生了浓厚的兴趣。 由于安装alexa的时候会安装一些文件到访问者的机器上，这些文件中是包含一些js文件的，只要调用客户端的这些js文件即可。如果能调用，则说明安装了；如果不能调用，则说明没有安装。从网上找了一下，通用的方法如下： &#60;script language=&#8221;javascript&#8221; xsrc=&#8221;res://AlxRes.dll/s cript/dsn.class.js&#8221;&#62;&#60;/script&#62; &#60;script language=&#8221;javascript&#8221;&#62; function doTryAlexa() { try { aborted(); return 1; } catch(e) { return 0; } } &#60;/script&#62; &#60;input type=&#8221;button&#8221; value=&#8221;tryAlexa&#8221; onclick=&#8221;alert(doTryAlexa())&#8221;&#62; 返回1则说明安装了，返回0则没有安装]]></description>
			<content:encoded><![CDATA[<p>21cn免费邮箱的pop3出现了短暂的不能使用了，于是乎，web登陆上去收邮件。无意发现21cn在做一个邮箱积分换礼品的活动，其中采用alexa登陆21cn的积分几乎是不采用alexa登陆的2倍以上。因此，对于21cn邮箱如何判断访问者是否使用alexa产生了浓厚的兴趣。</p>
<p>由于安装alexa的时候会安装一些文件到访问者的机器上，这些文件中是包含一些js文件的，只要调用客户端的这些js文件即可。如果能调用，则说明安装了；如果不能调用，则说明没有安装。从网上找了一下，通用的方法如下：</p>
<p>&lt;script language=&#8221;<a href="http://www.lifangjin.com/archives/tag/javascript" class="st_tag internal_tag" rel="tag" title="Posts tagged with javascript">javascript</a>&#8221; xsrc=&#8221;res://AlxRes.dll/s cript/dsn.class.js&#8221;&gt;&lt;/script&gt;</p>
<p>&lt;script language=&#8221;javascript&#8221;&gt;<br />
function doTryAlexa()<br />
{<br />
try<br />
{<br />
aborted();<br />
return 1;<br />
}<br />
catch(e)<br />
{<br />
return 0;<br />
}<br />
}<br />
&lt;/script&gt;<br />
&lt;input type=&#8221;button&#8221; value=&#8221;tryAlexa&#8221; onclick=&#8221;alert(doTryAlexa())&#8221;&gt;</p>
<p>返回1则说明安装了，返回0则没有安装</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifangjin.com/archives/191/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>xhtml网页设计实现换肤功能</title>
		<link>http://www.lifangjin.com/archives/190</link>
		<comments>http://www.lifangjin.com/archives/190#comments</comments>
		<pubDate>Mon, 04 Dec 2006 04:32:21 +0000</pubDate>
		<dc:creator>李 方进</dc:creator>
				<category><![CDATA[开发编程]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.lifangjin.com/?p=190</guid>
		<description><![CDATA[原理：利用javascript对link标签的href属性的值进行修改。 javascript代码如下： function SetStyle(stylename){ for (var i=0; i&#60;document.getElementsByTagName(&#8220;link&#8221;).length; i++){ var e = document.getElementsByTagName(&#8220;link&#8221;)[i];  if (e.getAttribute(&#8220;media&#8221;).indexOf(&#8220;screen&#8221;) != -1){   e.setAttribute(&#8220;href&#8221;,stylename);}  } }  在网页上调用的时候，只需要在skin的连接上调用该方法即可。当然，前提是得准备好几个不同风格的css。stylename就是你的css名称。比如如下用法： &#60;a href=&#8221;" mce_href=&#8221;" onclick=&#8221;SetStyle(&#8217;1.css&#8217;)&#8221;&#62;风格1&#60;/a&#62; &#60;a href=&#8221;" mce_href=&#8221;" onclick=&#8221;SetStyle(&#8217;2.css&#8217;)&#8221;&#62;风格2&#60;/a&#62; 升级：如果需要用户选择风格以后，每次访问的都是该风格，那么只需要在SetStyle的代码中增加一些javascript对cookie的读写就可以了。]]></description>
			<content:encoded><![CDATA[<p>原理：利用javascript对link标签的href属性的值进行修改。</p>
<p>javascript代码如下：</p>
<p>function SetStyle(stylename){<br />
for (var i=0; i&lt;document.getElementsByTagName(&#8220;link&#8221;).length; i++){</p>
<p>var e = document.getElementsByTagName(&#8220;link&#8221;)[i];<br />
 if (e.getAttribute(&#8220;media&#8221;).indexOf(&#8220;screen&#8221;) != -1){<br />
  e.setAttribute(&#8220;href&#8221;,stylename);}<br />
 }<br />
}</p>
<p> 在网页上调用的时候，只需要在skin的连接上调用该方法即可。当然，前提是得准备好几个不同风格的css。stylename就是你的css名称。比如如下用法：</p>
<p>&lt;a href=&#8221;" mce_href=&#8221;" onclick=&#8221;SetStyle(&#8217;1.<a href="http://www.lifangjin.com/archives/tag/css" class="st_tag internal_tag" rel="tag" title="Posts tagged with css">css</a>&#8217;)&#8221;&gt;风格1&lt;/a&gt;</p>
<p>&lt;a href=&#8221;" mce_href=&#8221;" onclick=&#8221;SetStyle(&#8217;2.css&#8217;)&#8221;&gt;风格2&lt;/a&gt;</p>
<p>升级：如果需要用户选择风格以后，每次访问的都是该风格，那么只需要在SetStyle的代码中增加一些javascript对cookie的读写就可以了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifangjin.com/archives/190/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>在XHTML 1.0 Strict下调用js新开窗口的方法</title>
		<link>http://www.lifangjin.com/archives/189</link>
		<comments>http://www.lifangjin.com/archives/189#comments</comments>
		<pubDate>Mon, 04 Dec 2006 03:39:04 +0000</pubDate>
		<dc:creator>李 方进</dc:creator>
				<category><![CDATA[开发编程]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://www.lifangjin.com/?p=189</guid>
		<description><![CDATA[xhtml+css设计的网页，如果在超连接中使用了target=_blank是不能通过w3c校验的。因此，采用调用js的方法新开窗口是比较合理的。 js代码： function externalLinks(){ if (!document.getElementsByTagName) return; var anchors = document.getElementsByTagName(&#8220;a&#8221;); for (var i=0; i var anchor = anchors[i]; if (anchor.getAttribute(&#8220;href&#8221;) &#38;&#38; anchor.getAttribute(&#8220;rel&#8221;) == &#8220;external&#8221;) anchor.target = &#8220;_blank&#8221;; } } window.onload = externalLinks; 网页中超连接调用的方式：&#60;a href=&#8221;" mce_href=&#8221;" rel=&#8221;external&#8221; &#62;连接&#60;/a&#62;]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.lifangjin.com/archives/tag/xhtml" class="st_tag internal_tag" rel="tag" title="Posts tagged with xhtml">xhtml</a>+css设计的网页，如果在超连接中使用了target=_blank是不能通过w3c校验的。因此，采用调用js的方法新开窗口是比较合理的。</p>
<p>js代码：</p>
<p>function externalLinks(){<br />
if (!document.getElementsByTagName) return;<br />
var anchors = document.getElementsByTagName(&#8220;a&#8221;);<br />
for (var i=0; i var anchor = anchors[i];<br />
if (anchor.getAttribute(&#8220;href&#8221;) &amp;&amp;<br />
anchor.getAttribute(&#8220;rel&#8221;) == &#8220;external&#8221;)<br />
anchor.target = &#8220;_blank&#8221;;<br />
}<br />
}<br />
window.onload = externalLinks;<br />
网页中超连接调用的方式：&lt;a href=&#8221;" mce_href=&#8221;" rel=&#8221;external&#8221; &gt;连接&lt;/a&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifangjin.com/archives/189/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>网页风格切换</title>
		<link>http://www.lifangjin.com/archives/94</link>
		<comments>http://www.lifangjin.com/archives/94#comments</comments>
		<pubDate>Wed, 29 Mar 2006 19:26:47 +0000</pubDate>
		<dc:creator>李 方进</dc:creator>
				<category><![CDATA[开发编程]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.lifangjin.com/?p=94</guid>
		<description><![CDATA[准备两个CSS分别控制不同的风格。 [code] &#60;html&#62; &#60;head&#62; &#60;meta http-equiv="Content-Type" content="text/html; charset=gb2312"&#62; &#60;title&#62;css&#60;/title&#62; &#60;LINK title="C1" rel="stylesheet" href="C1.css" mce_href="C1.css" type="text/css" /&#62; &#60;link title="C2" rel="alternate stylesheet" href="C2.css" mce_href="C2.css" type="text/css" /&#62; &#60;/head&#62; &#60;body&#62; &#60;span  class="foo"&#62;文字&#60;/span&#62; &#60;script type="text/javascript" language="javascript"&#62; &#60;!-- function SetActiveStyleSheet(title) {     for (var i=0; i&#60;document.getElementsByTagName("link").length; i++)     {         //循环所有名称为link的标签         var e = document.getElementsByTagName("link")[i];         if (e.getAttribute("rel").indexOf("style") != -1)         {             //这个link标签的rel属性含style，证明其作用是链接CSS文件的             if (e.getAttribute("title") == title)             {                 //当前link对应的CSS就是要使用的CSS，将disabled属性设置为false表示启用                 e.disabled = false;             }             else             {                 e.disabled = true;             }         }     } } --&#62; &#60;/script&#62; &#60;input type="button" value="C1" onclick="SetActiveStyleSheet(this.value);"&#62; &#60;input type="button" value="C2" onclick="SetActiveStyleSheet(this.value);"&#62; &#60;/body&#62; &#60;/html&#62;]]></description>
			<content:encoded><![CDATA[<p>准备两个CSS分别控制不同的风格。<br />
[code]<br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312"&gt;<br />
&lt;title&gt;<a href="http://www.lifangjin.com/archives/tag/css" class="st_tag internal_tag" rel="tag" title="Posts tagged with css">css</a>&lt;/title&gt;<br />
&lt;LINK title="C1" rel="stylesheet" href="C1.css" mce_href="C1.css" type="text/css" /&gt;<br />
&lt;link title="C2" rel="alternate stylesheet" href="C2.css" mce_href="C2.css" type="text/css" /&gt;<br />
&lt;/head&gt;</p>
<p>&lt;body&gt;<br />
&lt;span  class="foo"&gt;文字&lt;/span&gt;<br />
&lt;script type="text/<a href="http://www.lifangjin.com/archives/tag/javascript" class="st_tag internal_tag" rel="tag" title="Posts tagged with javascript">javascript</a>" language="<a href="http://www.lifangjin.com/archives/tag/javascript" class="st_tag internal_tag" rel="tag" title="Posts tagged with javascript">javascript</a>"&gt;<br />
&lt;!--<br />
function SetActiveStyleSheet(title)<br />
{<br />
    for (var i=0; i&lt;document.getElementsByTagName("link").length; i++)<br />
    {<br />
        //循环所有名称为link的标签<br />
        var e = document.getElementsByTagName("link")[i];<br />
        if (e.getAttribute("rel").indexOf("style") != -1)<br />
        {<br />
            //这个link标签的rel属性含style，证明其作用是链接CSS文件的<br />
            if (e.getAttribute("title") == title)<br />
            {<br />
                //当前link对应的CSS就是要使用的CSS，将disabled属性设置为false表示启用<br />
                e.disabled = false;<br />
            }<br />
            else<br />
            {<br />
                e.disabled = true;<br />
            }<br />
        }<br />
    }<br />
}<br />
--&gt;<br />
&lt;/script&gt;<br />
&lt;input type="button" value="C1" onclick="SetActiveStyleSheet(this.value);"&gt;<br />
&lt;input type="button" value="C2" onclick="SetActiveStyleSheet(this.value);"&gt;<br />
&lt;/body&gt;</p>
<p>&lt;/html&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifangjin.com/archives/94/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>web页面预加载xml文件</title>
		<link>http://www.lifangjin.com/archives/81</link>
		<comments>http://www.lifangjin.com/archives/81#comments</comments>
		<pubDate>Wed, 15 Feb 2006 20:23:25 +0000</pubDate>
		<dc:creator>李 方进</dc:creator>
				<category><![CDATA[开发编程]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.lifangjin.com/?p=81</guid>
		<description><![CDATA[最近负责的一个项目应用到了ajax技术,遇到一个问题，当xml文件过大的时候,程序的反应速度会比较慢,只有等到下载完成才能有响应.于是我设想能否在用户刚访问页面的时候就预先加载好xml文件. 研究了一下,代码如下: [code] &#60;SCRIPT language=javascript&#62; &#60;!--  var pubXmlDoc,pubXmlPath;   window.attachEvent("onload", CacheXml);    //预先加载xml数据  function CacheXml() {         self.defaultStatus = "Downloading Xml Data...";   pubXmlPath="your.xml";         //设置xml文件路径   pubXmlDoc = new ActiveXObject("Microsoft.XMLDOM");   pubXmlDoc.async=true;  //设置异步传输     pubXmlDoc.load(pubXmlPath);   pubXmlDoc.onreadystatechange=function(){       if(pubXmlDoc.readyState==4){     if( pubXmlDoc == null &#124;&#124; pubXmlDoc.documentElement == null) {      return ;     }         self.defaultStatus = 'ok';    }      }   window.setTimeout(function(){pubXmlDoc.load(pubXmlPath);},10);    } &#60;/SCRIPT&#62;]]></description>
			<content:encoded><![CDATA[<p>最近负责的一个项目应用到了ajax技术,遇到一个问题，当xml文件过大的时候,程序的反应速度会比较慢,只有等到下载完成才能有响应.于是我设想能否在用户刚访问页面的时候就预先加载好xml文件.<br />
研究了一下,代码如下:<br />
[code]<br />
&lt;SCRIPT language=<a href="http://www.lifangjin.com/archives/tag/javascript" class="st_tag internal_tag" rel="tag" title="Posts tagged with javascript">javascript</a>&gt;<br />
&lt;!--<br />
 var pubXmlDoc,pubXmlPath; <br />
 window.attachEvent("onload", CacheXml);<br />
 <br />
 //预先加载xml数据<br />
 function CacheXml() {   <br />
     self.defaultStatus = "Downloading <a href="http://www.lifangjin.com/archives/tag/xml" class="st_tag internal_tag" rel="tag" title="Posts tagged with xml">Xml</a> Data...";<br />
  pubXmlPath="your.xml";         //设置xml文件路径<br />
  pubXmlDoc = new ActiveXObject("Microsoft.XMLDOM");<br />
  pubXmlDoc.async=true;  //设置异步传输  <br />
  pubXmlDoc.load(pubXmlPath);<br />
  pubXmlDoc.onreadystatechange=function(){   <br />
   if(pubXmlDoc.readyState==4){<br />
    if( pubXmlDoc == null || pubXmlDoc.documentElement == null) {<br />
     return ;<br />
    }    <br />
    self.defaultStatus = 'ok';<br />
   }   <br />
  }<br />
  window.setTimeout(function(){pubXmlDoc.load(pubXmlPath);},10);  <br />
 }<br />
&lt;/SCRIPT&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lifangjin.com/archives/81/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

