<?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>islighting</title>
	<atom:link href="http://www.islighting.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.islighting.com</link>
	<description>#interaction, #processing, #data visualization</description>
	<lastBuildDate>Wed, 18 Aug 2010 09:09:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>showModalDialog用法</title>
		<link>http://www.islighting.com/archives/197</link>
		<comments>http://www.islighting.com/archives/197#comments</comments>
		<pubDate>Wed, 18 Aug 2010 09:09:21 +0000</pubDate>
		<dc:creator>Bentz</dc:creator>
				<category><![CDATA[devs]]></category>

		<guid isPermaLink="false">http://www.islighting.com/?p=197</guid>
		<description><![CDATA[在开发中，有时会碰到一些很重的交互，比如一个带焦点的对话框，在对话框中有内容的搜索、筛选、选择等等。这时候常用的浮动层模拟对话框就显得不那么适用了，尝试用一下showModalDialog。]]></description>
			<content:encoded><![CDATA[<p>在开发中，有时会碰到一些很重的交互，比如一个带焦点的对话框，在对话框中有内容的搜索、筛选、选择等等。这时候常用的浮动层模拟对话框就显得不那么适用了，尝试用一下showModalDialog。showModalDialog本是ie4+时候的用法，Firefox在3.0开始支持。<a href="https://developer.mozilla.org/en/DOM/window.showModalDialog" target="_blank">MDC</a>里面有说明和简单的示例。</p>
<p>用法如下：</p>
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures])<br />
vReturnValue = window.showModelessDialog(sURL [, vArguments] [, sFeatures])</div></td></tr></tbody></table></div>
<p>参数说明：<br />
sURL<br />
必选参数，类型：字符串。用来指定对话框要显示的文档的URL。<br />
vArguments<br />
可选参数，类型：变体。用来向对话框传递参数。传递的参数类型不限，包括数组等。对话框通过window.dialogArguments来取得传递进来的参数。<br />
sFeatures<br />
可选参数，类型：字符串。用来描述对话框的外观等信息，可以使用以下的一个或几个，用分号“;”隔开。<br />
dialogHeight 对话框高度，不小于１００px，ＩＥ４中dialogHeight 和 dialogWidth 默认的单位是em，而ＩＥ５中是px，为方便其见，在定义modal方式的对话框时，用px做单位。<br />
dialogWidth: 对话框宽度。<br />
dialogLeft: 距离桌面左的距离。<br />
dialogTop: 离桌面上的距离。<br />
center: {yes | no | 1 | 0 }：窗口是否居中，默认yes，但仍可以指定高度和宽度。<br />
help: {yes | no | 1 | 0 }：是否显示帮助按钮，默认yes。<br />
resizable: {yes | no | 1 | 0 } ［ＩＥ５＋］：是否可被改变大小。默认no。<br />
status: {yes | no | 1 | 0 } ［IE5+］：是否显示状态栏。默认为yes[ Modeless]或no[Modal]。<br />
scroll:{ yes | no | 1 | 0 | on | off }：指明对话框是否显示滚动条。默认为yes。</p>
<p>可以在传vArguments的时候传父页面的window对象进去，这样在子页面也能调用父页面的全局方法，例如关闭时刷新父页面的指定区域。vReturnValue是子页面返回值。</p>
<p>具体使用时传入了父页面的window，结果f5刷新的时候发现被刷掉了，还是老老实实拼了url传过去，处理完成之后用vReturnValue回传结果。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.islighting.com/archives/197/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ribbon</title>
		<link>http://www.islighting.com/archives/183</link>
		<comments>http://www.islighting.com/archives/183#comments</comments>
		<pubDate>Sun, 30 May 2010 09:49:01 +0000</pubDate>
		<dc:creator>Bentz</dc:creator>
				<category><![CDATA[activities]]></category>

		<guid isPermaLink="false">http://www.islighting.com/?p=183</guid>
		<description><![CDATA[opengl红宝书看完,就开始练手了,processing真是很方便的一个工具,不用太多纠结语言的一些特性,用来作快速prototype再合适不过了,还有众多强大的第三方类库.尤其是toxiclibs,几乎所有需要的东西,都方便的提供了,值得好好研究.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.islighting.com/wp-content/uploads/2010/05/屏幕快照-2010-05-30-下午05.11.17.png" target="_blank"><img class="alignnone size-medium wp-image-184" title="屏幕快照 2010-05-30 下午05.11.17" src="http://www.islighting.com/wp-content/uploads/2010/05/屏幕快照-2010-05-30-下午05.11.17-300x187.png" alt="屏幕快照 2010-05-30 下午05.11.17" width="300" height="187" /></a></p>
<p>opengl红宝书看完,就开始练手了,processing真是很方便的一个工具,不用太多纠结语言的一些特性,用来作快速prototype再合适不过了,还有众多强大的第三方类库.尤其是<a href="http://code.google.com/p/toxiclibs/" target="_blank">toxiclibs</a>,几乎所有需要的东西,都方便的提供了,值得好好研究.</p>
<p>回到opengl上,Vertex Buffer Object看起来简单,第一次编写的时候还是挺费劲的,好在processing论坛里有着众多的资源,我着的道,前人早已经提出来过,只要放狗搜就有答案.这次还没有用到纹理,法相和光照,3d缺了这些怎么可以.还有残影的绘制,也许可以用一下glsl.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.islighting.com/archives/183/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Number indexOf</title>
		<link>http://www.islighting.com/archives/180</link>
		<comments>http://www.islighting.com/archives/180#comments</comments>
		<pubDate>Tue, 25 May 2010 03:49:02 +0000</pubDate>
		<dc:creator>Bentz</dc:creator>
				<category><![CDATA[devs]]></category>

		<guid isPermaLink="false">http://www.islighting.com/?p=180</guid>
		<description><![CDATA[今天碰到一个比较xx的bug，数字格式化时出错。具体原因是在格式化初始时，取的值转成了number类型，运行num.indexOf(&#8216;.&#8217;);  而js的number类型没有indexOf方法，记录一下。]]></description>
			<content:encoded><![CDATA[<p>今天碰到一个比较xx的bug，数字格式化时出错。具体原因是在格式化初始时，取的值转成了number类型，运行num.indexOf(&#8216;.&#8217;);  而js的number类型没有indexOf方法，记录一下。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.islighting.com/archives/180/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FIELD.io 的新作 Muse</title>
		<link>http://www.islighting.com/archives/178</link>
		<comments>http://www.islighting.com/archives/178#comments</comments>
		<pubDate>Sat, 15 May 2010 23:09:53 +0000</pubDate>
		<dc:creator>Bentz</dc:creator>
				<category><![CDATA[activities]]></category>

		<guid isPermaLink="false">http://www.islighting.com/?p=178</guid>
		<description><![CDATA[Muse，最近看过的视频中最有印象的一个，有种梦境的梦幻感，音乐也很赞。 网站field.io，需翻墙。flickr上也有一些视频和往期project的截图。]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm2.static.flickr.com/1004/4603713752_521980f73f.jpg" alt="" /></p>
<p><img src="http://farm4.static.flickr.com/3299/4603713452_21c9832776.jpg" alt="" /></p>
<p><img src="http://farm4.static.flickr.com/3329/4603713020_345d069065.jpg" alt="" /></p>
<p><a href="http://www.field.io/project/muse#/1" target="_blank">Muse</a>，最近看过的视频中最有印象的一个，有种梦境的梦幻感，音乐也很赞。</p>
<p>网站<a href="http://www.field.io/" target="_blank">field.io</a>，需翻墙。<a href="http://www.flickr.com/photos/fliegerhorst/sets/72157624051868178/" target="_blank">flickr</a>上也有一些视频和往期project的截图。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.islighting.com/archives/178/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ArcBall原理解析</title>
		<link>http://www.islighting.com/archives/171</link>
		<comments>http://www.islighting.com/archives/171#comments</comments>
		<pubDate>Sun, 09 May 2010 09:50:29 +0000</pubDate>
		<dc:creator>Bentz</dc:creator>
				<category><![CDATA[devs]]></category>

		<guid isPermaLink="false">http://www.islighting.com/?p=171</guid>
		<description><![CDATA[鼠标在桌面上的二维运动反映为光标在屏幕上的二维运动。当所处理的对象是一个二维形体时，鼠标的二维运动可以一一映射到二维形体上，从而方便地实现几乎所有需要的操作。但是当交互所关注的对象是一个三维物体时，二维屏幕与三维形体之间的矛盾就曝露出来了，ArcBall算法可以解决此矛盾。]]></description>
			<content:encoded><![CDATA[<p>鼠标在桌面上的二维运动反映为光标在屏幕上的二维运动。当所处理的对象是一个二维形体时，鼠标的二维运动可以一一映射到二维形体上，从而方便地实现几乎所有需要的操作。但是当交互所关注的对象是一个三维物体时，二维屏幕与三维形体之间的矛盾就曝露出来了，ArcBall算法可以解决此矛盾。ArcBall是一种允许用户使用鼠标调整方位的三维交互技术。ArcBall的设计不平常在于，在考虑数学基础的同时，将操作反馈很好地结合起来，解决了鼠标调整空间方位的难题。和其他的一些技术相比，在通用的旋转控制器方面，ArcBall更容易使用，也更容易操作，且具有更强的功能。使用ArcBall作为鼠标三维交互控制器，其最大的特点是能很容易计算旋转轴和旋转角度。除外，能把窗口的二维空间转化为三维单位球空间，能让模型沿着Z轴或者其他轴进行平移等等。<br />
ArcBall主要实现了，用户通过在窗口中拖动鼠标来旋转观察目标。可以想象成一个单位半球位于窗口中心，该单位半球的圆心为原点，当X*X+Y*Y&lt;1时，Z=sqrt(1-X*X-Y*Y)，X*X+Y*Y&gt;=1时，Z=0。鼠标按下时产生起始点，松开时产生结束点，这两点可经过相关算法转化为半球空间上的两点，设这两点与圆心所构成的角度为the弧度。当此两点都落在半球时（Z&gt;0），则其旋转轴与这两点和圆心所构成的平面垂直，其旋转的角度为2倍the弧度；当鼠标的起始点和结束点都落在半球外时（Z=0），则其旋转轴为Z轴，旋转角度为同样为2倍the弧度。<br />
由此根据ArcBall的原理，我们可以知道ArcBall是由最初的窗口空间转换为单位球空间，然后再由单位球空间转换为模型空间（变换矩阵）。窗口空间到单位球空间的转换是把窗口两点的坐标单位化为球面上的两点转换为半球面上的两点，算法如下：</p>
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">pt.x = -(screen.x – width/2)/(radius* width/2); //单位球原点在中心，取负号能获得与窗口同向<br />
pt.y = (screen.y – height/2)/(radius* height/2);<br />
r = pt.x*pt.x + pt.y*pt.y;<br />
IF r &amp;gt; 1.0 THEN<br />
s = 1.0/Sqrt[r];<br />
pt.x = s*pt.x;<br />
pt.y = s*pt.y;<br />
pt.z = 0.0;<br />
ELSE pt.z = Sqrt[1.0 - r];</div></td></tr></tbody></table></div>
<p>单位球空间到模型空间转换可以计算出旋转轴和旋转角度，从而得到变换矩阵。该转换可以通过四元数来实现。一个联合的四元数q=[v, w]=[x, y, z, w]由两个部分组成，一个是数量w，它等于cosθ/2，其中θ是旋转的角度，一个是向量v，它等于沿着旋转轴的向量的sinθ/2倍。两个四元数运算的结果就是它们旋转组合的结果，这样旋转组合操作就可以采用四元数叉乘来表示。ArcBall获取转换四元数的计算公式如下：</p>
<p>[q.x, q.y, q.z] = V3_Cross[p0, p1];<br />
q.w = V3_Dot[p0, p1];<br />
TM = QuatToMatrix(q);</p>
<p>其中q表示四元数，p0和p1表示旋转的起始点和结束点（可以通过转换一获得）；V3_Cross表示向量的叉积，它记录了旋转的轴的方向；V3_Dot表示向量的点积，它记录了旋转的角度；TM表示旋转矩阵，QuatToMatrix把四元数转换为矩阵。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.islighting.com/archives/171/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mootools tag编辑器</title>
		<link>http://www.islighting.com/archives/158</link>
		<comments>http://www.islighting.com/archives/158#comments</comments>
		<pubDate>Wed, 14 Apr 2010 14:53:57 +0000</pubDate>
		<dc:creator>Bentz</dc:creator>
				<category><![CDATA[devs]]></category>
		<category><![CDATA[autocompleter]]></category>
		<category><![CDATA[mootools]]></category>
		<category><![CDATA[tag编辑器]]></category>

		<guid isPermaLink="false">http://www.islighting.com/?p=158</guid>
		<description><![CDATA[最近evernote和things用的比较多，对其中tag编辑的体验很有感觉，真是觉得顺滑无比。一路下来，手都几乎不用离开键盘，保证了焦点不会由于其他操作转移，思路也因此得以连贯。重点和连贯性都保证好了，体验自然不差。]]></description>
			<content:encoded><![CDATA[<p>最近evernote和things用的比较多，对其中tag编辑的体验很有感觉，真是觉得顺滑无比。一路下来，手都几乎不用离开键盘，保证了焦点不会由于其他操作转移，思路也因此得以连贯。重点和连贯性都保证好了，体验自然不差。老八问我，你觉得用了mac之后给你带来的变化大么？我不好说。。只是潜移默化中，确实有点滴改变在发生。</p>
<p>花了一点时间写了这个mootools的tag编辑器，<a href="http://www.islighting.com/lab/tag_editor/index.html" target="_blank">demo</a> ，在编辑时附加了一个简单的auto-compelte，用上下箭或鼠标选择tags。不得不说的是，mootools的事件机制真的是非常强大好用。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.islighting.com/archives/158/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>一个小玩意</title>
		<link>http://www.islighting.com/archives/154</link>
		<comments>http://www.islighting.com/archives/154#comments</comments>
		<pubDate>Wed, 07 Apr 2010 14:39:40 +0000</pubDate>
		<dc:creator>Bentz</dc:creator>
				<category><![CDATA[devs]]></category>

		<guid isPermaLink="false">http://www.islighting.com/?p=154</guid>
		<description><![CDATA[最近看的书，大概都是跟信息视觉化和互动有关。书看的多了，却越来越感觉到自己所知之渺小。从原来的圈子跳出来，这世界会有另外一番景象。]]></description>
			<content:encoded><![CDATA[<p>最近看的书，大概都是跟信息视觉化和互动有关。书看的多了，却越来越感觉到自己所知之渺小。从原来的圈子跳出来，这世界会有另外一番景象。</p>
<p>这个小玩意是用google earth api做的一个统计数据的mashup，放在了公司门口作门面。老实说这个idea早已不新鲜，但是从自己手中写出来，还是感觉不大一样。尤其是当地球闪着蓝幽幽光芒缓慢转动的时候，似乎这就是极致的美了。</p>
<p><img class="alignnone size-full wp-image-155" title="shopex_eyes" src="http://www.islighting.com/wp-content/uploads/2010/04/shopex_eyes.jpg" alt="shopex_eyes" width="600" height="375" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.islighting.com/archives/154/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>动态载入/删除/更新外部 JavaScript/CSS (转)</title>
		<link>http://www.islighting.com/archives/141</link>
		<comments>http://www.islighting.com/archives/141#comments</comments>
		<pubDate>Wed, 20 Jan 2010 06:31:26 +0000</pubDate>
		<dc:creator>Bentz</dc:creator>
				<category><![CDATA[devs]]></category>

		<guid isPermaLink="false">http://www.islighting.com/?p=141</guid>
		<description><![CDATA[ 传统加载外部JavaScript(*.js) 或者 Css(*.css)文件的方法是直接在标签里面进行添加:


这些文件用这种方式会同步加载到当前这个页面。

现在用动态的方式载入JavaScript/Css文件：

    * 用 DOM createElement 方法创建一个 “script” 或者 ”link” 元素
    * 设置相应的属性
    * 使用 appendChild 方法, 把创建的元素插入到 head 标签的末尾
]]></description>
			<content:encoded><![CDATA[<h4>动态载入 JavaScript/Css 文件</h4>
<p>    传统加载外部JavaScript(*.js) 或者 Css(*.css)文件的方法是直接在<head>标签里面进行添加:</p>
<p><div class="codecolorer-container html4strict mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/br.html"><span style="color: #000000; font-weight: bold;">br</span></a> <span style="color: #66cc66;">/</span>&gt;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/script.html"><span style="color: #000000; font-weight: bold;">script</span></a> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;myscript.js&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/script.html"><span style="color: #000000; font-weight: bold;">script</span></a>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span><br />
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/link.html"><span style="color: #000000; font-weight: bold;">link</span></a> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;main.css&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/css&quot;</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;stylesheet&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span></div></td></tr></tbody></table></div>
</p>
<p>这些文件用这种方式会同步加载到当前这个页面。</p>
<p>现在用动态的方式载入JavaScript/Css文件：</p>
<ul>
<li>用 DOM  createElement 方法创建一个 “script” 或者 ”link” 元素</li>
<li>设置相应的属性</li>
<li>使用 appendChild 方法, 把创建的元素插入到 head 标签的末尾</li>
</ul>
<p><div class="codecolorer-container javascript mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #003366; font-weight: bold;">function</span> loadjscssfile<span style="color: #009900;">&#40;</span>filename<span style="color: #339933;">,</span> filetype<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp;<span style="color: #006600; font-style: italic;">//如果文件类型为 .js ,则创建 script 标签，并设置相应属性&lt;br /&gt;</span><br />
&nbsp;<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>filetype<span style="color: #339933;">==</span><span style="color: #3366CC;">&quot;js&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp; <span style="color: #003366; font-weight: bold;">var</span> fileref<span style="color: #339933;">=</span>document.<span style="color: #660066;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'script'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp; fileref.<span style="color: #660066;">setAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;type&quot;</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp; fileref.<span style="color: #660066;">setAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;src&quot;</span><span style="color: #339933;">,</span> filename<span style="color: #009900;">&#41;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp;<span style="color: #009900;">&#125;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp;<span style="color: #006600; font-style: italic;">//如果文件类型为 .css ,则创建 script 标签，并设置相应属性&lt;br /&gt;</span><br />
&nbsp;<span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>filetype<span style="color: #339933;">==</span><span style="color: #3366CC;">&quot;css&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp; <span style="color: #003366; font-weight: bold;">var</span> fileref<span style="color: #339933;">=</span>document.<span style="color: #660066;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;link&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp; fileref.<span style="color: #660066;">setAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;rel&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;stylesheet&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp; fileref.<span style="color: #660066;">setAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;type&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;text/css&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp; fileref.<span style="color: #660066;">setAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;href&quot;</span><span style="color: #339933;">,</span> filename<span style="color: #009900;">&#41;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp;<span style="color: #009900;">&#125;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp;<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">typeof</span> fileref<span style="color: #339933;">!=</span><span style="color: #3366CC;">&quot;undefined&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp; document.<span style="color: #660066;">getElementsByTagName</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;head&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span>.<span style="color: #660066;">appendChild</span><span style="color: #009900;">&#40;</span>fileref<span style="color: #009900;">&#41;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
<span style="color: #006600; font-style: italic;">//动态添加一个.js 文件&lt;br /&gt;</span><br />
loadjscssfile<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;myscript.js&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;js&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
<span style="color: #006600; font-style: italic;">//像添加.js文件一样，动态添加一个.php文件&lt;br /&gt;</span><br />
loadjscssfile<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;javascript.php&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;js&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
<span style="color: #006600; font-style: italic;">//动态一个.css文件&lt;br /&gt;</span><br />
loadjscssfile<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;mystyle.css&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;css&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span></div></td></tr></tbody></table></div>
</p>
<p>为了防止多次载入同一个js/css文件， 添加以下判断（这只是粗略检测）</p>
<p><div class="codecolorer-container javascript mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
<span style="color: #006600; font-style: italic;">//临时载入的文件名&lt;/p&gt;</span><br />
<span style="color: #339933;">&lt;</span>p<span style="color: #339933;">&gt;</span>var filesadded<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;&quot;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
<span style="color: #003366; font-weight: bold;">function</span> checkloadjscssfile<span style="color: #009900;">&#40;</span>filename<span style="color: #339933;">,</span> filetype<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp;<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>filesadded.<span style="color: #660066;">indexOf</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;[&quot;</span><span style="color: #339933;">+</span>filename<span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;]&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==-</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp; loadjscssfile<span style="color: #009900;">&#40;</span>filename<span style="color: #339933;">,</span> filetype<span style="color: #009900;">&#41;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp; <span style="color: #006600; font-style: italic;">//把 [filename] 存入 filesadded&lt;br /&gt;</span><br />
&nbsp; filesadded<span style="color: #339933;">+=</span><span style="color: #3366CC;">&quot;[&quot;</span><span style="color: #339933;">+</span>filename<span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;]&quot;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp;<span style="color: #009900;">&#125;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp;<span style="color: #000066; font-weight: bold;">else</span><span style="color: #009900;">&#123;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp; <span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;file already added!&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #339933;">&lt;/</span>p<span style="color: #339933;">&gt;</span><br />
<span style="color: #339933;">&lt;</span>p<span style="color: #339933;">&gt;</span><span style="color: #006600; font-style: italic;">//第一次载入&lt;br /&gt;</span><br />
checkloadjscssfile<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;myscript.js&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;js&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
<span style="color: #006600; font-style: italic;">//重复载入同一个文件， 失败&lt;br /&gt;</span><br />
checkloadjscssfile<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;myscript.js&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;js&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span></div></td></tr></tbody></table></div>
</p>
<h4>动态删除 JavaScript/Csss 文件</h4>
<p>注意：ie6/7 下动态删除样式时有bug. 2种解决方案：1.样式表里不要有import的样式表 2.把link的type属性设置为空值， 然后再修改 href 的地， 或者直接设置href为空， 最后再把type值设置成”text/css” 强制让ie解释新的样式表。</p>
<ul>
<li>取得相应的 DOM 元素</li>
<li>根据 文件名&#038;文件类型 定位元素</li>
<li>用 DOM  removeChild 删除一个 “script” 或者 ”link” 元素</li>
</ul>
<p><div class="codecolorer-container javascript mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
<span style="color: #003366; font-weight: bold;">function</span> removejscssfile<span style="color: #009900;">&#40;</span>filename<span style="color: #339933;">,</span> filetype<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp;<span style="color: #006600; font-style: italic;">//判断文件类型&lt;br /&gt;</span><br />
&nbsp;<span style="color: #003366; font-weight: bold;">var</span> targetelement<span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span>filetype<span style="color: #339933;">==</span><span style="color: #3366CC;">&quot;js&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">?</span> <span style="color: #3366CC;">&quot;script&quot;</span> <span style="color: #339933;">:</span> <span style="color: #009900;">&#40;</span>filetype<span style="color: #339933;">==</span><span style="color: #3366CC;">&quot;css&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">?</span> <span style="color: #3366CC;">&quot;link&quot;</span> <span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;none&quot;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp;<span style="color: #006600; font-style: italic;">//判断文件名&lt;br /&gt;</span><br />
&nbsp;<span style="color: #003366; font-weight: bold;">var</span> targetattr<span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span>filetype<span style="color: #339933;">==</span><span style="color: #3366CC;">&quot;js&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">?</span> <span style="color: #3366CC;">&quot;src&quot;</span> <span style="color: #339933;">:</span> <span style="color: #009900;">&#40;</span>filetype<span style="color: #339933;">==</span><span style="color: #3366CC;">&quot;css&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">?</span> <span style="color: #3366CC;">&quot;href&quot;</span> <span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;none&quot;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp;<span style="color: #003366; font-weight: bold;">var</span> allsuspects<span style="color: #339933;">=</span>document.<span style="color: #660066;">getElementsByTagName</span><span style="color: #009900;">&#40;</span>targetelement<span style="color: #009900;">&#41;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp;<span style="color: #006600; font-style: italic;">//遍历元素， 并删除匹配的元素&lt;br /&gt;</span><br />
&nbsp;<span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> i<span style="color: #339933;">=</span>allsuspects.<span style="color: #660066;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&gt;=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">--</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp; <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>allsuspects<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">&amp;&amp;</span> allsuspects<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">getAttribute</span><span style="color: #009900;">&#40;</span>targetattr<span style="color: #009900;">&#41;</span><span style="color: #339933;">!=</span><span style="color: #003366; font-weight: bold;">null</span> <span style="color: #339933;">&amp;&amp;</span> allsuspects<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">getAttribute</span><span style="color: #009900;">&#40;</span>targetattr<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">indexOf</span><span style="color: #009900;">&#40;</span>filename<span style="color: #009900;">&#41;</span><span style="color: #339933;">!=-</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp; &nbsp;allsuspects<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">parentNode</span>.<span style="color: #660066;">removeChild</span><span style="color: #009900;">&#40;</span>allsuspects<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp;<span style="color: #009900;">&#125;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #339933;">&lt;/</span>p<span style="color: #339933;">&gt;</span><br />
<span style="color: #339933;">&lt;</span>p<span style="color: #339933;">&gt;</span>removejscssfile<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;somescript.js&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;js&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
removejscssfile<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;somestyle.css&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;css&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span></div></td></tr></tbody></table></div>
</p>
<h4>动态更新 JavaScript/Csss 文件</h4>
<ul>
<li>使用 createElement 创建 要更新的 JavaScript/Css 元素</li>
<li>查找要被替换的元素</li>
<li>用 replaceChild 替换元素</li>
</ul>
<p><div class="codecolorer-container javascript mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
<span style="color: #003366; font-weight: bold;">function</span> createjscssfile<span style="color: #009900;">&#40;</span>filename<span style="color: #339933;">,</span> filetype<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp;<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>filetype<span style="color: #339933;">==</span><span style="color: #3366CC;">&quot;js&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> <span style="color: #006600; font-style: italic;">//if filename is a external JavaScript file&lt;br /&gt;</span><br />
&nbsp; <span style="color: #003366; font-weight: bold;">var</span> fileref<span style="color: #339933;">=</span>document.<span style="color: #660066;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'script'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp; fileref.<span style="color: #660066;">setAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;type&quot;</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp; fileref.<span style="color: #660066;">setAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;src&quot;</span><span style="color: #339933;">,</span> filename<span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp;<span style="color: #009900;">&#125;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp;<span style="color: #000066; font-weight: bold;">else</span> <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>filetype<span style="color: #339933;">==</span><span style="color: #3366CC;">&quot;css&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> <span style="color: #006600; font-style: italic;">//if filename is an external CSS file&lt;br /&gt;</span><br />
&nbsp; <span style="color: #003366; font-weight: bold;">var</span> fileref<span style="color: #339933;">=</span>document.<span style="color: #660066;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;link&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp; fileref.<span style="color: #660066;">setAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;rel&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;stylesheet&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp; fileref.<span style="color: #660066;">setAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;type&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;text/css&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp; fileref.<span style="color: #660066;">setAttribute</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;href&quot;</span><span style="color: #339933;">,</span> filename<span style="color: #009900;">&#41;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp;<span style="color: #009900;">&#125;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp;<span style="color: #000066; font-weight: bold;">return</span> fileref<span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #339933;">&lt;/</span>p<span style="color: #339933;">&gt;</span><br />
<span style="color: #339933;">&lt;</span>p<span style="color: #339933;">&gt;</span>function replacejscssfile<span style="color: #009900;">&#40;</span>oldfilename<span style="color: #339933;">,</span> newfilename<span style="color: #339933;">,</span> filetype<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp;<span style="color: #003366; font-weight: bold;">var</span> targetelement<span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span>filetype<span style="color: #339933;">==</span><span style="color: #3366CC;">&quot;js&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">?</span> <span style="color: #3366CC;">&quot;script&quot;</span> <span style="color: #339933;">:</span> <span style="color: #009900;">&#40;</span>filetype<span style="color: #339933;">==</span><span style="color: #3366CC;">&quot;css&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">?</span> <span style="color: #3366CC;">&quot;link&quot;</span> <span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;none&quot;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp;<span style="color: #003366; font-weight: bold;">var</span> targetattr<span style="color: #339933;">=</span><span style="color: #009900;">&#40;</span>filetype<span style="color: #339933;">==</span><span style="color: #3366CC;">&quot;js&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">?</span> <span style="color: #3366CC;">&quot;src&quot;</span> <span style="color: #339933;">:</span> <span style="color: #009900;">&#40;</span>filetype<span style="color: #339933;">==</span><span style="color: #3366CC;">&quot;css&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">?</span> <span style="color: #3366CC;">&quot;href&quot;</span> <span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;none&quot;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp;<span style="color: #003366; font-weight: bold;">var</span> allsuspects<span style="color: #339933;">=</span>document.<span style="color: #660066;">getElementsByTagName</span><span style="color: #009900;">&#40;</span>targetelement<span style="color: #009900;">&#41;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp;<span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> i<span style="color: #339933;">=</span>allsuspects.<span style="color: #660066;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">&gt;=</span><span style="color: #CC0000;">0</span><span style="color: #339933;">;</span> i<span style="color: #339933;">--</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp; <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>allsuspects<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">&amp;&amp;</span> allsuspects<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">getAttribute</span><span style="color: #009900;">&#40;</span>targetattr<span style="color: #009900;">&#41;</span><span style="color: #339933;">!=</span><span style="color: #003366; font-weight: bold;">null</span> <span style="color: #339933;">&amp;&amp;</span> allsuspects<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">getAttribute</span><span style="color: #009900;">&#40;</span>targetattr<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">indexOf</span><span style="color: #009900;">&#40;</span>oldfilename<span style="color: #009900;">&#41;</span><span style="color: #339933;">!=-</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp; &nbsp;<span style="color: #003366; font-weight: bold;">var</span> newelement<span style="color: #339933;">=</span>createjscssfile<span style="color: #009900;">&#40;</span>newfilename<span style="color: #339933;">,</span> filetype<span style="color: #009900;">&#41;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp; &nbsp;allsuspects<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span>.<span style="color: #660066;">parentNode</span>.<span style="color: #660066;">replaceChild</span><span style="color: #009900;">&#40;</span>newelement<span style="color: #339933;">,</span> allsuspects<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
&nbsp;<span style="color: #009900;">&#125;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
<span style="color: #006600; font-style: italic;">//用 &quot;newscript.js&quot; 替换 &quot;oldscript.js&quot;&lt;br /&gt;</span><br />
replacejscssfile<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;oldscript.js&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;newscript.js&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;js&quot;</span><span style="color: #009900;">&#41;</span>；<span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span><br />
<span style="color: #006600; font-style: italic;">//用 &quot;newscript.css&quot; 替换 &quot;oldscript.css&quot;&lt;br /&gt;</span><br />
replacejscssfile<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;oldstyle.css&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;newstyle&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;css&quot;</span><span style="color: #009900;">&#41;</span>；<span style="color: #339933;">&lt;</span>br <span style="color: #339933;">/&gt;</span></div></td></tr></tbody></table></div></p>
]]></content:encoded>
			<wfw:commentRss>http://www.islighting.com/archives/141/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Espresso 升级拉！</title>
		<link>http://www.islighting.com/archives/106</link>
		<comments>http://www.islighting.com/archives/106#comments</comments>
		<pubDate>Tue, 15 Dec 2009 15:46:32 +0000</pubDate>
		<dc:creator>Bentz</dc:creator>
				<category><![CDATA[activities]]></category>

		<guid isPermaLink="false">http://www.islighting.com/?p=106</guid>
		<description><![CDATA[Espresso，mac下强大的web开发IDE，最近升级到1.1，增加了不少新功能。]]></description>
			<content:encoded><![CDATA[<p><a href="http://macrabbit.com/espresso/" target="_blank">Espresso</a>，mac下强大的web开发IDE，最近升级到1.1，增加了不少新功能。</p>
<p>试过不少编辑器，最终还是选择了espresso来写页面，因为他最像神器textmate。类似textmate一般干净的界面和主题，不断增加中的sugar(扩展)，完美支持中文，更能导入textmate的bundle为我所用！这些优点和轻量的感觉，使得写页面这种枯燥的事情也变得鲜活乐趣起来。</p>
<p><a href="http://macrabbit.com/espresso/images/screenshots-1.1/MainFind.jpg" target="_blank"><img class="alignnone" title="MainFind" src="http://macrabbit.com/espresso/images/screenshots-1.1/MainFind-thumb.jpg" alt="" width="136" height="104" /></a><a href="http://macrabbit.com/espresso/images/screenshots-1.1/MainProjects.jpg" target="_blank"><img class="alignnone" title="MainProjects" src="http://macrabbit.com/espresso/images/screenshots-1.1/MainProjects-thumb.jpg" alt="" width="136" height="104" /></a><a href="http://macrabbit.com/espresso/images/screenshots-1.1/MainEditPreview.jpg" target="_blank"><img class="alignnone" title="MainEditPreview" src="http://macrabbit.com/espresso/images/screenshots-1.1/MainEditPreview-thumb.jpg" alt="" width="136" height="104" /></a><a href="http://macrabbit.com/espresso/images/screenshots-1.1/MainPublishSync.jpg" target="_blank"><img class="alignnone" title="MainPublishSync" src="http://macrabbit.com/espresso/images/screenshots-1.1/MainPublishSync-thumb.jpg" alt="" width="136" height="104" /></a></p>
<p>这次增加的功能不少是重要更新，类似&#8221;Find in Project&#8221;，&#8221;Image Preview&#8221;，&#8221;Open with&#8221;，都使得工作流更加集成。</p>
<p>在一个界面端完成所有要紧事，这恐怕是你我这样的懒人最期望的事情。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.islighting.com/archives/106/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zen Coding，透过css生成html</title>
		<link>http://www.islighting.com/archives/112</link>
		<comments>http://www.islighting.com/archives/112#comments</comments>
		<pubDate>Tue, 15 Dec 2009 09:28:29 +0000</pubDate>
		<dc:creator>Bentz</dc:creator>
				<category><![CDATA[devs]]></category>

		<guid isPermaLink="false">http://www.islighting.com/?p=112</guid>
		<description><![CDATA[是不是觉得每天都敲同样的html代码有点麻木？ok，那就让css代我们生成优雅的代码和排版吧。让我们专心做其他更重要的事。 这就是Zen Coding所能做的。Zen Coding是一套快速编写html/css的工具，语法简单至极，实现的效果却有点惊人。利用css的书写规则来创建html，想像一下这有多便利吧，尤其是列表、小模块，这简直太棒了！ 演示视频 简单的例子 1div#content&#62;h1+p 上面这一行的输出结果 1234&#60;div id=&#34;content&#34;&#62; &#160; &#160; &#60;h1&#62;&#60;/h1&#62; &#160; &#160; &#60;p&#62;&#60;/p&#62; &#60;/div&#62; 更多语法 1234567891011121314* E Element name (div, p); * E#id Element with identifier (div#content, p#intro, span#error); * E.class Element with classes (div.header, p.error.critial). You can combine classes and IDs, too: div#content.column.width; * E&#38;gt;N Child element (div&#38;gt;p, div#footer&#38;gt;p&#38;gt;span); * E+N [...]]]></description>
			<content:encoded><![CDATA[<p>是不是觉得每天都敲同样的html代码有点麻木？ok，那就让css代我们生成优雅的代码和排版吧。让我们专心做其他更重要的事。</p>
<p>这就是<a href="http://code.google.com/p/zen-coding/" target="_blank">Zen Coding</a>所能做的。Zen Coding是一套快速编写html/css的工具，语法简单至极，实现的效果却有点惊人。利用css的书写规则来创建html，想像一下这有多便利吧，尤其是列表、小模块，这简直太棒了！</p>
<p>演示视频<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="400" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="high" /><param name="src" value="http://player.youku.com/player.php/sid/XMTM4NDQwNzgw/v.swf" /><embed type="application/x-shockwave-flash" width="480" height="400" src="http://player.youku.com/player.php/sid/XMTM4NDQwNzgw/v.swf" quality="high"></embed></object></p>
<p>简单的例子</p>
<div class="codecolorer-container css mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">div<span style="color: #cc00cc;">#content</span><span style="color: #00AA00;">&gt;</span>h1<span style="color: #00AA00;">+</span>p</div></td></tr></tbody></table></div>
<p>上面这一行的输出结果</p>
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;div id=&quot;content&quot;&gt;<br />
&nbsp; &nbsp; &lt;h1&gt;&lt;/h1&gt;<br />
&nbsp; &nbsp; &lt;p&gt;&lt;/p&gt;<br />
&lt;/div&gt;</div></td></tr></tbody></table></div>
<p>更多语法</p>
<div class="codecolorer-container text mac-classic" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">* E<br />
Element name (div, p);<br />
* E#id<br />
Element with identifier (div#content, p#intro, span#error);<br />
* E.class<br />
Element with classes (div.header, p.error.critial). You can combine classes and IDs, too: div#content.column.width;<br />
* E&amp;gt;N<br />
Child element (div&amp;gt;p, div#footer&amp;gt;p&amp;gt;span);<br />
* E+N<br />
Sibling element (h1+p, div#header+div#content+div#footer);<br />
* E*N<br />
Element multiplication (ul#nav&amp;gt;li*5&amp;gt;a);<br />
* E$*N<br />
Item numbering (ul#nav&amp;gt;li.item-$*5);</div></td></tr></tbody></table></div>
<p>上手很简单，多看几个例子就ok，或者在demo尝试一下，<a href="http://zen-coding.ru/demo/">online demo</a>。<br />
Zen Coding支持的IDE众多，包括textmate和espresso，可以作为插件安装到我们最熟悉的IDE上。Ok, let&#8217;s speed up!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.islighting.com/archives/112/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
