<?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>HeXiang&#039;Blog</title>
	<atom:link href="http://hexiang.me/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://hexiang.me/blog</link>
	<description>Shawn-He,Go Go Go.</description>
	<lastBuildDate>Sat, 01 Oct 2011 02:56:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>DIV+CSS 水平垂直居中显示</title>
		<link>http://hexiang.me/blog/?p=491</link>
		<comments>http://hexiang.me/blog/?p=491#comments</comments>
		<pubDate>Wed, 30 Mar 2011 09:18:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Study ┊ 学习]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[垂直居中]]></category>
		<category><![CDATA[居中]]></category>

		<guid isPermaLink="false">http://hexiang.me/blog/?p=491</guid>
		<description><![CDATA[DIV水平居中显示： 定义div宽度后，设置{margin-left: auto; margin-right: auto;} 即可实现div水平居中，代码示例： CSS： &#60;style&#62; .cdiv { width:200px; margin-left:auto; margin-right:auto; } &#60;/style&#62; HTML： &#60;div class="cdiv"&#62;hexiang.me&#60;/div&#62; －－－DIV水平垂直居中显示： 将left和top设置为50%来定位div到浏览器中央，再将margin-left和margin-top值设置为宽和高的一半，使div居中显示。示例如下： CSS： &#60;style&#62; .ccdiv { position:absolute; width:600px; height:200px; left:50%; top:50%; margin-left:-300px; margin-top:-100px; border: solid 5px red; } &#60;/style&#62; HTML： &#60;div class="ccdiv"&#62;hexiang.me&#60;/div&#62; －－－ 两个DIV水平垂直居中显示： CSS： &#60;style&#62; .div1 { position:absolute; background:#FF6600; width:500px; height:100px; left:50%; top:50%; margin:-50px 0 0 -400px; } .div2 { position:absolute; background:#006699; width:300px; height:100px; left:50%; top:50%; margin:-50px 0 0 100px; } [...]]]></description>
			<content:encoded><![CDATA[<p><strong>DIV水平居中显示</strong>：</p>
<p>定义div宽度后，设置{margin-left: auto; margin-right: auto;} 即可实现div水平居中，代码示例：</p>
<p>CSS：</p>
<pre>
<li>&lt;style&gt;</li>
<li>.cdiv {</li>
<li>width:200px;</li>
<li>margin-left:auto;</li>
<li>margin-right:auto;</li>
<li>}</li>
<li>&lt;/style&gt;</li>
</pre>
<p>HTML：</p>
<pre>
<li>&lt;div class="cdiv"&gt;hexiang.me&lt;/div&gt;</li>
</pre>
<p>－－－<span id="more-491"></span><strong>DIV水平垂直居中显示：</strong></p>
<p>将left和top设置为50%来定位div到浏览器中央，再将margin-left和margin-top值设置为宽和高的一半，使div居中显示。示例如下：</p>
<p>CSS：</p>
<pre>
<li>&lt;style&gt;</li>
<li>.ccdiv {</li>
<li>position:absolute;</li>
<li>width:600px;</li>
<li>height:200px;</li>
<li>left:50%;</li>
<li>top:50%;</li>
<li>margin-left:-300px;</li>
<li>margin-top:-100px;</li>
<li>border: solid 5px red;</li>
<li>}</li>
<li>&lt;/style&gt;</li>
</pre>
<p>HTML：</p>
<pre>
<li>&lt;div class="ccdiv"&gt;hexiang.me&lt;/div&gt;</li>
</pre>
<p>－－－</p>
<p><strong>两个DIV水平垂直居中显示：</strong></p>
<p>CSS：</p>
<pre>
<li>&lt;style&gt;</li>
<li>.div1 {</li>
<li>position:absolute;</li>
<li>background:#FF6600;</li>
<li>width:500px;</li>
<li>height:100px;</li>
<li>left:50%;</li>
<li>top:50%;</li>
<li>margin:-50px 0 0 -400px;</li>
<li>}</li>
<li>.div2 {</li>
<li>position:absolute;</li>
<li>background:#006699;</li>
<li>width:300px;</li>
<li>height:100px;</li>
<li>left:50%;</li>
<li>top:50%;</li>
<li>margin:-50px 0 0 100px;</li>
<li>}</li>
<li>&lt;/style&gt;</li>
</pre>
<p>HTML：</p>
<pre>
<li>&lt;div class="div1"&gt;-800/2&lt;/div&gt;</li>
<li>&lt;div class="div2"&gt;500-400&lt;/div&gt;</li>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://hexiang.me/blog/?feed=rss2&#038;p=491</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>HTML5 CSS3工具资源汇总</title>
		<link>http://hexiang.me/blog/?p=485</link>
		<comments>http://hexiang.me/blog/?p=485#comments</comments>
		<pubDate>Mon, 04 Oct 2010 03:56:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Study ┊ 学习]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[div css Hack]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[W3C]]></category>

		<guid isPermaLink="false">http://hexiang.me/blog/?p=485</guid>
		<description><![CDATA[　　HTML5和CSS3已经开始彻底变革全世界的Web前端开发和Web设计发展格局，因为他们给这个领域带来了太多太多令人惊奇的新特性！我用大量时间学习了HTML5和CSS3技术，它们的动画、圆角等特效会令你震惊…在后面的内容中彬Go将向大家推荐一些能帮助你更好的掌握甚至精通HTML5和CSS3的终极工具资源集合。虽然还有很多特性不被浏览器所支持，但我们作为前端开发从业者，有必要掌握它们。彬Go希望这些HTML5和CSS3工具资源能对大家的学习和工作有所帮助。 HTML5 &#38; CSS3 准备就绪 　　该网站通过扇形图表的形式展现了从08年到10年以来各大浏览器对HTML5和CSS3的支持情况。发展势头还是很可观的。 HTML5安全手册 CSS3按钮生成器 　　所见即所得的为你生成CSS3按钮，你仅需通过基本的鼠标点击便可生成令人满意的CSS3按钮，点击生成好的按钮即可查看相应的CSS3代码。 When can I use…（HTML5 &#38; CSS3 浏览器兼容性） 　　很详细的关于HTML5, CSS3, SVG等技术的浏览器兼容性列表。 CSS3颜色值/名称速查手册 　　CSS3颜色值查询手册，包括颜色英文名、16进制值、rgb百分比、rgb整数值、颜色缩写和颜色效果等… CSS3生成器 　　在线测试CSS3新特性，即时生成效果。 Modernizr 当前浏览器对HTML5支持情况测试 　　该工具可以帮助你测试当前你使用的浏览器对HTML5的兼容情况，很详细，很有用！ CSS 边框半径(代码生成器) 　　通过输入数值即可生成CSS3代码的CSS 边框代码生成器。使用很简便。 FindMeByIP（HTML5 &#38; CSS3 浏览器兼容性手册） 　　很详细的HTML5和CSS3浏览器兼容性手册。 CSS3渐变生成器 CSS3 Watch 前端开发工具&#38;资源小集合 CSS3, please!(实时体验CSS3代码) font dragr CSS3生成器 CSS桌面 　　CSS桌面可以让你在线练习CSS3代码，并实时将渲染效果呈现在右侧，很棒的CSS3在线练习工具。 HTML5修订版本跟踪器 font-face 生成器 CSS3 选择器测试工具 IE 打印保险器 详细CSS 浏览器支持情况列表 [...]]]></description>
			<content:encoded><![CDATA[<p>　　HTML5和CSS3已经开始彻底变革全世界的Web前端开发和Web设计发展格局，因为他们给这个领域带来了太多太多令人惊奇的新特性！我用大量时间学习了HTML5和CSS3技术，它们的动画、圆角等特效会令你震惊…在后面的内容中彬Go将向大家推荐一些能帮助你更好的掌握甚至精通HTML5和CSS3的终极工具资源集合。虽然还有很多特性不被浏览器所支持，但我们作为前端开发从业者，有必要掌握它们。彬Go希望这些HTML5和CSS3工具资源能对大家的学习和工作有所帮助。</p>
<h3><a href="http://html5readiness.com/" target="_blank">HTML5 &amp; CSS3 准备就绪</a></h3>
<p><img src="http://blog.bingo929.com/wp-content/uploads/2010/06/html5-css3-tools/html5-css3-01.jpg" alt="CSS3" width="485" height="139" /><span id="more-485"></span><br />
　　该网站通过扇形图表的形式展现了从08年到10年以来各大浏览器对HTML5和CSS3的支持情况。发展势头还是很可观的。</p>
<h3><a href="http://heideri.ch/jso/" target="_blank">HTML5安全手册</a></h3>
<p><img src="http://blog.bingo929.com/wp-content/uploads/2010/06/html5-css3-tools/html5-css3-02.jpg" alt="HTML5" width="485" height="139" /></p>
<h3><a href="http://css-tricks.com/examples/ButtonMaker/" target="_blank">CSS3按钮生成器</a></h3>
<p><img src="http://blog.bingo929.com/wp-content/uploads/2010/06/html5-css3-tools/html5-css3-03.jpg" alt="HTML5资源" width="485" height="139" /><br />
　　所见即所得的为你生成CSS3按钮，你仅需通过基本的鼠标点击便可生成令人满意的CSS3按钮，点击生成好的按钮即可查看相应的CSS3代码。</p>
<h3><a href="http://caniuse.com/" target="_blank">When can I use…（HTML5 &amp; CSS3 浏览器兼容性）</a></h3>
<p><img src="http://blog.bingo929.com/wp-content/uploads/2010/06/html5-css3-tools/html5-css3-04.jpg" alt="HTML5工具" width="485" height="139" /><br />
　　很详细的关于HTML5, CSS3, SVG等技术的浏览器兼容性列表。</p>
<h3><a href="http://www.codenique.com/web_color/css3_color_names.php" target="_blank">CSS3颜色值/名称速查手册</a></h3>
<p><img src="http://blog.bingo929.com/wp-content/uploads/2010/06/html5-css3-tools/html5-css3-05.jpg" alt="HTML5+CSS3" width="485" height="139" /><br />
　　CSS3颜色值查询手册，包括颜色英文名、16进制值、rgb百分比、rgb整数值、颜色缩写和颜色效果等…</p>
<h3><a href="http://css3generator.com/" target="_blank">CSS3生成器</a></h3>
<p><img src="http://blog.bingo929.com/wp-content/uploads/2010/06/html5-css3-tools/html5-css3-06.jpg" alt="HTML5" width="485" height="139" /><br />
　　在线测试CSS3新特性，即时生成效果。</p>
<h3><a href="http://www.modernizr.com/" target="_blank">Modernizr</a></h3>
<p><img src="http://blog.bingo929.com/wp-content/uploads/2010/06/html5-css3-tools/html5-css3-07.jpg" alt="CSS3" width="485" height="139" /></p>
<h3><a href="http://www.html5test.com/" target="_blank">当前浏览器对HTML5支持情况测试</a></h3>
<p><img src="http://blog.bingo929.com/wp-content/uploads/2010/06/html5-css3-tools/html5-css3-08.jpg" alt="HTML5资源" width="485" height="139" /><br />
　　该工具可以帮助你测试当前你使用的浏览器对HTML5的兼容情况，很详细，很有用！</p>
<h3><a href="http://border-radius.com/" target="_blank">CSS 边框半径(代码生成器)</a></h3>
<p><img src="http://blog.bingo929.com/wp-content/uploads/2010/06/html5-css3-tools/html5-css3-09.jpg" alt="HTML5工具" width="485" height="139" /><br />
　　通过输入数值即可生成CSS3代码的CSS 边框代码生成器。使用很简便。</p>
<h3><a href="http://www.findmebyip.com/litmus/#target-selector" target="_blank">FindMeByIP（HTML5 &amp; CSS3 浏览器兼容性手册）</a></h3>
<p><img src="http://blog.bingo929.com/wp-content/uploads/2010/06/html5-css3-tools/html5-css3-10.jpg" alt="HTML5+CSS3" width="485" height="139" /><br />
　　很详细的HTML5和CSS3浏览器兼容性手册。</p>
<h3><a href="http://gradients.glrzad.com/" target="_blank">CSS3渐变生成器</a></h3>
<p><img src="http://blog.bingo929.com/wp-content/uploads/2010/06/html5-css3-tools/html5-css3-11.jpg" alt="HTML5" width="485" height="139" /></p>
<h3><a href="http://css3watch.com/" target="_blank">CSS3 Watch</a></h3>
<p><img src="http://blog.bingo929.com/wp-content/uploads/2010/06/html5-css3-tools/html5-css3-12.jpg" alt="CSS3" width="485" height="139" /></p>
<h3><a href="http://westciv.com/tools/" target="_blank">前端开发工具&amp;资源小集合</a></h3>
<p><img src="http://blog.bingo929.com/wp-content/uploads/2010/06/html5-css3-tools/html5-css3-13.jpg" alt="HTML5资源" width="485" height="139" /></p>
<h3><a href="http://css3please.com/" target="_blank">CSS3, please!(实时体验CSS3代码)</a></h3>
<p><img src="http://blog.bingo929.com/wp-content/uploads/2010/06/html5-css3-tools/html5-css3-14.jpg" alt="HTML5工具" width="485" height="139" /></p>
<h3><a href="http://labs.thecssninja.com/font_dragr/" target="_blank">font dragr</a></h3>
<p><img src="http://blog.bingo929.com/wp-content/uploads/2010/06/html5-css3-tools/html5-css3-15.jpg" alt="HTML5+CSS3" width="485" height="139" /></p>
<h3><a href="http://www.widgetpad.com/694/" target="_blank">CSS3生成器</a></h3>
<p><img src="http://blog.bingo929.com/wp-content/uploads/2010/06/html5-css3-tools/html5-css3-16.jpg" alt="HTML5" width="485" height="139" /></p>
<h3><a href="http://cssdesk.com/" target="_blank">CSS桌面</a></h3>
<p><img src="http://blog.bingo929.com/wp-content/uploads/2010/06/html5-css3-tools/html5-css3-17.jpg" alt="CSS3" width="485" height="139" /><br />
　　CSS桌面可以让你在线练习CSS3代码，并实时将渲染效果呈现在右侧，很棒的CSS3在线练习工具。</p>
<h3><a href="http://html5.org/tools/web-apps-tracker" target="_blank">HTML5修订版本跟踪器</a></h3>
<p><img src="http://blog.bingo929.com/wp-content/uploads/2010/06/html5-css3-tools/html5-css3-18.jpg" alt="HTML5资源" width="485" height="139" /></p>
<h3><a href="http://www.fontsquirrel.com/fontface/generator" target="_blank">font-face 生成器</a></h3>
<p><a href="http://blog.bingo929.com/"><img src="http://blog.bingo929.com/wp-content/uploads/2010/06/html5-css3-tools/html5-css3-19.jpg" alt="HTML5工具" width="485" height="139" /></a></p>
<h3><a href="http://tools.css3.info/selectors-test/test.html" target="_blank">CSS3 选择器测试工具</a></h3>
<p><img src="http://blog.bingo929.com/wp-content/uploads/2010/06/html5-css3-tools/html5-css3-20.jpg" alt="HTML5+CSS3" width="485" height="139" /></p>
<h3><a href="http://www.iecss.com/print-protector/" target="_blank">IE 打印保险器</a></h3>
<p><img src="http://blog.bingo929.com/wp-content/uploads/2010/06/html5-css3-tools/html5-css3-21.jpg" alt="HTML5" width="485" height="139" /></p>
<h3><a href="http://www.webdevout.net/browser-support-css" target="_blank">详细CSS 浏览器支持情况列表</a></h3>
<p>原载:<a href="http://blog.bingo929.com/">彬Go</a>——集前端开发/网页设计/网站可用性/用户体验于一体的趣味互联网生活<br />
本文链接:<a title="HTML5和CSS3工具资源汇总" href="http://blog.bingo929.com/html5-and-css3-tools-list.html">http://blog.bingo929.com/html5-and-css3-tools-list.html</a>原载:<a href="http://blog.bingo929.com/">彬Go</a>——集前端开发/网页设计/网站可用性/用户体验于一体的趣味互联网生活<br />
本文链接:<a title="HTML5和CSS3工具资源汇总" href="http://blog.bingo929.com/html5-and-css3-tools-list.html">http://blog.bingo929.com/html5-and-css3-tools-list.html</a>原载:<a href="http://blog.bingo929.com/">彬Go</a>——集前端开发/网页设计/网站可用性/用户体验于一体的趣味互联网生活<br />
本文链接:<a title="HTML5和CSS3工具资源汇总" href="http://blog.bingo929.com/html5-and-css3-tools-list.html">http://blog.bingo929.com/html5-and-css3-tools-list.html</a><img src="http://blog.bingo929.com/wp-content/uploads/2010/06/html5-css3-tools/html5-css3-22.jpg" alt="CSS3" width="485" height="139" /></p>
<p>原载:<a href="http://blog.bingo929.com/">彬Go</a>——集前端开发/网页设计/网站可用性/用户体验于一体的趣味互联网生活<br />
本文链接:<a title="HTML5和CSS3工具资源汇总" href="http://blog.bingo929.com/html5-and-css3-tools-list.html">http://blog.bingo929.com/html5-and-css3-tools-list.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://hexiang.me/blog/?feed=rss2&#038;p=485</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>网站flash 3.0版本上线</title>
		<link>http://hexiang.me/blog/?p=474</link>
		<comments>http://hexiang.me/blog/?p=474#comments</comments>
		<pubDate>Thu, 23 Sep 2010 08:05:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Works ┊ 作品]]></category>
		<category><![CDATA[AS]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[photoshop]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://hexiang.me/blog/?p=474</guid>
		<description><![CDATA[经过几天的折腾、新版的flash3.0个人站上线使用了。。比起之前的2.0版本好多了。。 终于折腾OK上线了。。 传送门：http://hexiang.me]]></description>
			<content:encoded><![CDATA[<p><a href="http://hexiang.me/" target="_blank"><img class=" " style="margin: 0px;" title="个人网站3.0上线" src="http://hexiang.me/images/shangxian.jpg" alt="个人网站3.0上线" width="580" height="211" /></a></p>
<p>经过几天的折腾、新版的flash3.0个人站上线使用了。。比起之前的2.0版本好多了。。</p>
<p>终于折腾OK上线了。。</p>
<p>传送门：<a href="http://hexiang.me">http://hexiang.me</a></p>
]]></content:encoded>
			<wfw:commentRss>http://hexiang.me/blog/?feed=rss2&#038;p=474</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>flash 实现loading加载外部图片（多张）</title>
		<link>http://hexiang.me/blog/?p=472</link>
		<comments>http://hexiang.me/blog/?p=472#comments</comments>
		<pubDate>Wed, 22 Sep 2010 11:58:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Study ┊ 学习]]></category>

		<guid isPermaLink="false">http://hexiang.me/blog/?p=472</guid>
		<description><![CDATA[pic = 3;  //图片总数 now = 1;  //最开始出现的是第几张 time = 2700;   //图片切换间隔时间 pos_x = -20;   //图片初始x坐标 for (var i = 1; i&#60;=pic; i++) {  createEmptyMovieClip(“BMC0&#8243;+i, i);  _root["BMC0"+i]._alpha = 0;  _root["BMC0"+i].loadMovie(“ebs0&#8243;+i+”-1.jpg”); } _root.createTextField(“myload_txt”, 4, 0, 0, 0, 0); with (_root.myload_txt) {  background = true;  backgroundColor = 0xFFFFFF;  textColor = 0&#215;999999;  type = “dynamic”;  selectable = false; [...]]]></description>
			<content:encoded><![CDATA[<p>pic = 3;  //图片总数<br />
now = 1;  //最开始出现的是第几张<br />
time = 2700;   //图片切换间隔时间<br />
pos_x = -20;   //图片初始x坐标<br />
for (var i = 1; i&lt;=pic; i++) {<br />
 createEmptyMovieClip(“BMC0&#8243;+i, i);<br />
 _root["BMC0"+i]._alpha = 0;<br />
 _root["BMC0"+i].loadMovie(“ebs0&#8243;+i+”-1.jpg”);<br />
}<br />
_root.createTextField(“myload_txt”, 4, 0, 0, 0, 0);<span id="more-472"></span><br />
with (_root.myload_txt) {<br />
 background = true;<br />
 backgroundColor = 0xFFFFFF;<br />
 textColor = 0&#215;999999;<br />
 type = “dynamic”;<br />
 selectable = false;<br />
 autoSize = “center”;<br />
 _x = Stage.width/2;<br />
 _y = Stage.height/2;<br />
}<br />
onEnterFrame = function () {<br />
 var loaded = 0;<br />
 var total = 0;<br />
 for (var i = 1; i&lt;=pic; i++) {<br />
  loaded += _root["BMC0"+i].getBytesLoaded();<br />
  total += _root["BMC0"+i].getBytesTotal();<br />
 }<br />
 var per = int(loaded/total*100);<br />
 _root.myload_txt.text = per+”%”;<br />
 if (per == 100) {<br />
  removeMovieClip(_root.myload_txt);<br />
  delete onEnterFrame;<br />
  changeImg();<br />
 }<br />
};<br />
function changeImg() {<br />
 if (my != undefined) {<br />
  trace(my);<br />
  clearInterval(my);<br />
 }<br />
 for (var i = 1; i&lt;=pic; i++) {<br />
  _root["BMC0"+i]._alpha = 0;<br />
  _root["BMC0"+i]._x = pos_x;<br />
 }<br />
 onEnterFrame = function () {<br />
  var mc = _root["BMC0"+now];<br />
  mc._alpha = mc._alpha&lt;100 ? mc._alpha+20 : 100;<br />
  mc._x = mc._x&lt;0 ? mc._x+1 : 0;<br />
  if (mc._alpha&gt;=100 &amp; mc._alpha&gt;=0) {<br />
   now = now == pic ? 1 : now += 1;<br />
   delete onEnterFrame;<br />
   my = setInterval(changeImg, time);<br />
  }<br />
 };<br />
}</p>
]]></content:encoded>
			<wfw:commentRss>http://hexiang.me/blog/?feed=rss2&#038;p=472</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Flash加载外部文件的各种方法与技巧[最全AS2加载代码]</title>
		<link>http://hexiang.me/blog/?p=467</link>
		<comments>http://hexiang.me/blog/?p=467#comments</comments>
		<pubDate>Mon, 20 Sep 2010 12:52:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Study ┊ 学习]]></category>
		<category><![CDATA[AS]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[loading]]></category>

		<guid isPermaLink="false">http://hexiang.me/blog/?p=467</guid>
		<description><![CDATA[一、用loadVariables调用外部文本文件 　　 文本文件开头要以flash中的动态文本框的变量名开头，如msg=”……….”这样的形式，要和编辑的Flash文件放在同一目录下。 　　 具体调用方式如下： 　　1.用工具箱中的文本工具，选择动态文本，给动态文本一个变量名，如:msg,在编辑区拖出一个文本框 　　2.制作两个按扭（一个调用，一个清除）拖放到场景中。 　　3.在调用按扭上添加AS代码： on(release){//松开鼠标后执行下面的代码； 　loadVariables(“msg.txt”,msg);//调用和你编辑的Flash处于同一目录下的msg.txt文本文件到动态文本msg中； 　System.useCodepage=true;//使外部文件的中文字符能够正确显示； } 　　4.清除按扭上的AS代码： on(release){//松开鼠标后清楚动态文本框中的内容； 　　msg=”"; } 　　Ctrl+Enter测试. 　　当然代码也可以写在帧上调用按扭的实例名是bt1,清除按扭的实例名是bt2) 　　第一帧上加如下代码： stop(); _root.bt1.onRelease=function(){ loadVariables(“msg.txt”,msg); System.useCodepage=true; } _root.bt2.onRelease=function(){ _root.msg=”"; } 　　Ctrl+Enter测试. 　　进阶：让调用的外部文本文件能够滚动 　　1.用工具箱中的文本工具，选择动态文本，给动态文本一个变量名，如:msg,在编辑区拖出一个文本框 　　2.新建一层,制作两个按扭（一个调用，一个清除）拖放到此层中 　　3.新建一层,在动态文本框的右侧用矩形工具画一个竖条,高度和动态文本一样;再制作一个向上的方向”箭头”按F8转为按扭元件;复制一个”箭头”按扭,垂直镜象,使这两个按扭和竖条的两端对齐. 　   4.调用按扭上的AS代码： on(release){//松开鼠标后执行下面的代码； 　loadVariables(“msg1.txt”,msg);//调用msg1.txt文本文件到动态文本框msg中； 　System.useCodepage=true;//使外部文件的中文字符能够正确显示； } 　　清除按扭上的AS代码： on(release){ 　_root.msg=”";//清除动态文本框中的内容; } 　　向上按扭上的AS代码： on(press){//在按扭的感应区上每按一次鼠标执行下面的代码; 　_root.msg.scroll=_root.msg.scroll-1;//文本向下滚动一行; } 　　向下按扭上的AS代码： on(press){//在按扭的感应区上每按一次鼠标执行下面的代码; 　_root.msg.scroll=_root.msg.scroll+1;//文本向上滚动一行; } 　　 Ctrl+Enter测试. 　　当然代码也可以写在帧上调用按扭的实例名是bt1,清除按扭的实例名是bt2,向上按扭的实例名是:up,向下按扭上的实例名是down) 在第一帧上加如下代码： _root.bt1.onRelease=function(){//松开鼠标后执行下面的代码； [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>一、用loadVariables调用外部文本文件</p>
<p>　　 文本文件开头要以flash中的动态文本框的变量名开头，如msg=”……….”这样的形式，要和编辑的Flash文件放在同一目录下。<br />
　　 具体调用方式如下：</p>
<p>　　1.用工具箱中的文本工具，选择动态文本，给动态文本一个变量名，如:msg,在编辑区拖出一个文本框<br />
　　2.制作两个按扭（一个调用，一个清除）拖放到场景中。<br />
　　3.在调用按扭上添加AS代码：<br />
on(release){//松开鼠标后执行下面的代码；<br />
　loadVariables(“msg.txt”,msg);//调用和你编辑的Flash处于同一目录下的msg.txt文本文件到动态文本msg中；<br />
　System.useCodepage=true;//使外部文件的中文字符能够正确显示；<br />
}</p>
<p>　　4.清除按扭上的AS代码：</p>
<p>on(release){//松开鼠标后清楚动态文本框中的内容；<br />
　　msg=”";<br />
}</p>
<p>　　Ctrl+Enter测试.<span id="more-467"></span></p>
<p>　　当然代码也可以写在帧上<img src="http://bbs.9ria.com/images/smilies/default/sad.gif" border="0" alt="" />调用按扭的实例名是bt1,清除按扭的实例名是bt2)<br />
　　第一帧上加如下代码：</p>
<p>stop();<br />
_root.bt1.onRelease=function(){<br />
loadVariables(“msg.txt”,msg);<br />
System.useCodepage=true;<br />
}<br />
_root.bt2.onRelease=function(){<br />
_root.msg=”";<br />
}</p>
<p>　　Ctrl+Enter测试.</p>
<p>　　进阶：让调用的外部文本文件能够滚动<br />
　　1.用工具箱中的文本工具，选择动态文本，给动态文本一个变量名，如:msg,在编辑区拖出一个文本框<br />
　　2.新建一层,制作两个按扭（一个调用，一个清除）拖放到此层中<br />
　　3.新建一层,在动态文本框的右侧用矩形工具画一个竖条,高度和动态文本一样;再制作一个向上的方向”箭头”按F8转为按扭元件;复制一个”箭头”按扭,垂直镜象,使这两个按扭和竖条的两端对齐.<br />
　   4.调用按扭上的AS代码：</p>
<p>on(release){//松开鼠标后执行下面的代码；<br />
　loadVariables(“msg1.txt”,msg);//调用msg1.txt文本文件到动态文本框msg中；<br />
　System.useCodepage=true;//使外部文件的中文字符能够正确显示；<br />
}</p>
<p>　　清除按扭上的AS代码：</p>
<p>on(release){<br />
　_root.msg=”";//清除动态文本框中的内容;<br />
}</p>
<p>　　向上按扭上的AS代码：</p>
<p>on(press){//在按扭的感应区上每按一次鼠标执行下面的代码;<br />
　_root.msg.scroll=_root.msg.scroll-1;//文本向下滚动一行;<br />
}</p>
<p>　　向下按扭上的AS代码：</p>
<p>on(press){//在按扭的感应区上每按一次鼠标执行下面的代码;<br />
　_root.msg.scroll=_root.msg.scroll+1;//文本向上滚动一行;<br />
}</p>
<p>　　 Ctrl+Enter测试.</p>
<p>　　当然代码也可以写在帧上<img src="http://bbs.9ria.com/images/smilies/default/sad.gif" border="0" alt="" />调用按扭的实例名是bt1,清除按扭的实例名是bt2,向上按扭的实例名是:up,向下按扭上的实例名是down)<br />
在第一帧上加如下代码：</p>
<p>_root.bt1.onRelease=function(){//松开鼠标后执行下面的代码；<br />
　loadVariables(“msg1.txt”,msg);//调用msg1.txt文本文件到动态文本框msg中；<br />
　System.useCodepage=true;//使外部文件的中文字符能够正确显示；<br />
}<br />
_root.bt2.onRelease=function(){//松开鼠标后执行<br />
　_root.msg=”";//清除动态文本框中的内容;<br />
}<br />
_root.up.onPress=function(){//在向上按扭上每按一次鼠标执行下面的代码;<br />
　_root.msg.scroll=_root.msg.scroll-1;//文本向下滚动一行;<br />
}<br />
_root.down.onPress=function(){//在向下按扭上每按一次鼠标执行下面的代码;<br />
_　root.msg.scroll=_root.msg.scroll+1;//文本向上滚动一行;<br />
}</p>
<p>　　Ctrl+Enter测试。</p>
<p>　　二、用loadMovie调用外部*.swf文件</p>
<p>　　（一）调用外部*.swf文件加载到影片剪辑中</p>
<p>　 　外部*.swf文件要和编辑的Flash文件放在同一目录下<br />
　 　1.新建立一个空的影片剪辑mymc,把它放在场景中，实例名是：mymc.<br />
　 　2.新建一层,制作两个按扭（一个调用，一个清除）拖放到此层中<br />
　 　3.调用按扭上的AS代码：</p>
<p>on(release){//鼠标离开按扭后执行下面的代码；<br />
　loadMovie(“flash8.swf”,”mymc”);//加载外部的”flash8.swf”文件到”mymc”空影片剪辑中；<br />
　mymc._x=70;//加载影片的X轴坐标；<br />
　mymc._y=20;//加载影片的Y轴坐标；<br />
　mymc._xscale=70;//加载影片的宽度；<br />
　mymc._yscale=70;//加载影片的高度；<br />
}</p>
<p>　　清除按扭上的AS代码：</p>
<p>on(release){//鼠标离开按扭后执行下面的代码<br />
　unloadMovie(mymc);//删除用loadMovie加载的*.swf文件；<br />
}</p>
<p>　 Ctrl+Enter测试</p>
<p>　　（二）调用外部*.swf文件并加载到时间轴上</p>
<p>　 　外部*.swf文件要和编辑的Flash文件放在同一目录下<br />
　 　1.制作两个按扭（一个调用，一个清除）拖放到场景中<br />
　 　2.调用按扭上的AS代码：</p>
<p>on(release){//鼠标离开按扭后执行下面的代码<br />
　loadMovie(“flash8.swf”,1);//加载外部的”flash8.swf”文件到场景中，层深为1;<br />
}</p>
<p>　　清除按扭上的AS代码：</p>
<p>on(release){//鼠标离开按扭后执行下面的代码<br />
　unloadMovie(1);//删除层深为1的用loadMovie所加载的”flash8.swf”文件<br />
}<br />
　　Ctrl+Enter测试 。<br />
　　当然二和三的代码都可以写在帧上。</p>
<p>　三、用loadMovie调用外部图片，加载到影片剪辑中</p>
<p>　 将外部图片必须和正在编辑的Flash文件放在同一目录下<br />
　 1.制作两个按扭（一个调用，一个清除）拖放到场景中<br />
　 2.制作一个空的影片剪辑，拖到场景中，实例名是：mymc;<br />
　 3.时间轴上第一帧上的AS如下： i=0;//定义一个变量i，并且赋初值为0；</p>
<p>　　调用按扭上的AS代码：</p>
<p>on(release){//鼠标离开按扭后执行下面的代码；<br />
　i++;<br />
　if(i&gt;9){//因为外面这有9张图，当变量大于9的时候，让变量为1，这样能够使加载的图片是连续的，即，每点一次按扭，就换一张图，等到换到第9张图，再点按扭，则循环到第一张图（j1.jpg到j9.jpg,因为没有j0.jpg,如果i=0，则会提示没有找到j0.jpg);<br />
　　i=1;<br />
　}<br />
　loadMovie((“j”+i)+”.jgp”,mymc);//从j1.jpg开始加载图片到影片剪辑mymc中；<br />
　mymc._x=110;//以下设置加载图片的属性<br />
　mymc._y=35;<br />
　mymc._xscale=130;<br />
　mymc._yscale=130;<br />
}</p>
<p>　　清除按扭上的AS代码：</p>
<p>on(release){<br />
　unloadMovie(mymc);//删除掉用loadMovie加载到影片剪辑的图片；<br />
}</p>
<p>　　Ctrl+Enter测试。当然AS代码也可以写在帧上。</p>
<p>　　四、用mySound.loadSound调用外部声音文件，加载到场景中</p>
<p>　　外部声音文件必须和正在编辑的Flash文件放在同一目录下<br />
　 　1.制作两个按扭（一个调用，一个清除）拖放到场景中<br />
　 　2.调用按扭上的AS代码：</p>
<p>on(release){//鼠标离开按扭后执行下面的代码；<br />
　mySound=new Sound();//建立一个新的声音对象mySound;<br />
　mySound.loadSound(“zaihuni.mp3″,true);//加载外部的*.mp3声音文件到mySound对象中，并且按流的方式播放（参数为false时，是以装载完后播放)；<br />
}</p>
<p>　　清除按扭上的AS代码：</p>
<p>on(release){<br />
　mySound.stop();//当按下清除按扭后，停止声音的播放<br />
}</p>
<p>　　Ctrl+Enter测试。</p>
<p>　五、用loadMovieNum()函数调用所有外部文件</p>
<p>　　 （一）loadMovieNum()函数详解</p>
<p>　　用法：loadMovieNum(“url”,level [, variables])<br />
　　功能：在播放原来加载的 SWF 文件的同时将 SWF 文件或 JPEG 文件加载到 Flash Player 中的某个级别。<br />
　　参数：该函数有3个参数：url、target、variables。variables 是可选参数。</p>
<p>　　 1.参数url：要加载的 SWF 文件或 JPEG 文件的绝对或相对 URL（路径）。该函数的此参数和上面loadMovie中的此参数用法完全一致，这里不再作解释。<br />
　　 2.参数level：一个整数，指定 SWF 文件将加载到Flash Player中的哪个级别。加载的时候，可以这样来写：</p>
<p>　　loadMovieNum(“01.swf”, 1);<br />
　　 loadMovieNum(“02.swf”, 2);<br />
　　 loadMovieNum(“03.swf”, 3);</p>
<p>　　loadMovieNum加载后的控制可以这样使用： 　　_level1._x=10 ;<br />
　　 _level2.aa._alpha=50 ;<br />
　　 _level3.aa.bb._width=110;<br />
　　 _level4.mysound.stop();// 加载到级别为4的对象MC:mysound停止（播放音乐）</p>
<p>　　需要注意的的是，每一个级别只能同时存在一个 SWF 或 JPEG 文件。如果两个 SWF 或 JPEG 文件的级别相同，那么后者将替换掉前者。级别不同的_level，级别大的将覆盖掉级别小的，即：数字大的将处于数字小的之上(如上例：03.swf处在02.swf和01.swf上方，02.swf处在01.swf上方) 。</p>
<p>　　注意：如果将 SWF 文件加载到级别 0，则 Flash Player 中的每个级别均被卸载，并且级别 0 将替换为该新文件。处于级别 0 的 SWF 文件为所有其它加载的 SWF 文件设置帧频、背景色和帧大小。如：</p>
<p>loadMovieNum(“00.swf”, 0); //以下均不显示，这样只有一个00.swf<br />
loadMovieNum(“01.swf”, 1);<br />
loadMovieNum(“02.swf”, 2);<br />
loadMovieNum(“03.swf”, 3);  </p>
<p>　　3.参数variables：可选参数，指定发送变量所使用的 HTTP 方法。该参数必须是字符串 GET 或 POST。如果没有要发送的变量，则省略此参数。GET 方法将变量追加到 URL 的末尾，它用于发送少量的变量。POST 方法在单独的 HTTP 标头中发送变量，它用于发送大量的变量。</p>
<p>　　（二）loadMovieNum()的卸载外部文件调用<br />
　　 使用 unloadMovieNum() 可删除用 loadMovieNum() 加载的 SWF 文件或图像。<br />
　　 用法: unloadMovieNum(level)<br />
　　 参数: level 所加载影片的级别 (_levelN)。<br />
　　 如： on(release){<br />
　　　 unloadMovieNum (1200);//如下:unloadMovieNum (_level1200);不能卸载<br />
　　　 loadMovieNum (“sje.swf”,1200)<br />
　　　 }</p>
<p>　　（（三）lloadMovieNum()的定位<br />
　　 从前面我们已经知道了，函数loadMovieNum是将 SWF 或 JPEG 文件加载到_level（级别）的。并且是用_level1._x、_level2._x、_level1.aa._x之类的来定位的。比如我们要将02.swf加载到主场景坐标系的(50,100)中，代码如下：</p>
<p>　　loadMovieNum ( “02.swf” , 1 ); //极有可能不能如愿定位<br />
_level1. _x = 50 ;<br />
_level1. _y = 100 ;</p>
<p>　　但是在测试的时候大家会发现加载进来的02.swf并没有如我们预期的那样出现在主场景坐标系的(50,100)位置，这是为什么呢？</p>
<p>　　原来，在没有使用loadMovieNum以前，所有的图形、MC等等都是处于_level0里的，我们通常使用的_root其实就是_level0。你可以作个测试：trace(_root==_level0)，你会发现返回值是“true”。</p>
<p>　　那么，我们用loadMovieNum加载 SWF 或 JPEG 文件的时候，程序就要对你指定的_level进行创建，随后再紧接着载入 SWF 或 JPEG 文件。如果像刚才代码中写的那样，不判断_level是否存在而调用其属性，势必无功而反。</p>
<p>　　解决的方法也很简单，就是用一个循环来判断指定的_level是否存在。一旦_level产生，那么它的种种属性自然可以调用了。代码如下：</p>
<p>loadMovieNum ( “02.swf” , 1 ); //如愿定位<br />
onEnterFrame = function () {<br />
　 if ( _level1 ) {<br />
　　　with ( _level1 ) {<br />
　　　　_x = 50 ;<br />
　　　　_y = 100 ;<br />
　　　}<br />
　 delete onEnterFrame ;<br />
　}<br />
};</p>
<p>　　或者：(上面的代码较好些) loadMovieNum ( “02.swf” , 1 );<br />
　function go () {<br />
　　if ( _level1 ) {<br />
　　　with ( _level1 ) {<br />
　　　　_x = 50 ;<br />
　　　　_y = 100 ;<br />
　　　}<br />
　　clearInterval ( fps ); //清除对 setInterval() 的调用<br />
　}<br />
}<br />
fps = setInterval ( go,100 );//每隔一定的时间，就调用函数、方法或对象</p>
<p>　　再或者大家可以使用Macromedia Flash MX 2004中的MovieClipLoader类来判断加载状态。</p>
<p>　　注意：深度depth值越大，其加载的内容越往后，即越在下层，处于下方，被遮盖；这与级别标识符_levelN 相反，在_levelN 中 N 值越大，其加载的内容越往前，即越在上层，处于上方。</p>
<p>　　（四）小技巧：用lloadMovieNum()保护你的作品——使用虚假的文件后缀</p>
<p>　　 其实加载外部文件的扩展名不一定非得以 .swf 命名，虽然加载的影片也在IE的临时文件夹中，但已是自定义的文件格式了，这样可以起到保护作用。</p>
<p>　 　例如： loadMovieNum(“feng.exe”,0);//加载feng.swf 将扩展名改为—&gt; feng.exe加载<br />
/*<br />
loadMovieNum(“feng.txt”,0); //加载feng.swf 将扩展名改为—&gt; feng.txt 加载<br />
loadMovieNum(“feng.doc”,0); //加载feng.swf 将扩展名改为—&gt; feng.doc 加载<br />
loadMovieNum(“feng.abcde”,0); //加载feng.swf将扩展名改为 —&gt; feng.abcde 加载<br />
loadMovieNum(“feng”,0); //加载feng.swf 将扩展名删除—&gt; feng 加载<br />
*/</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://hexiang.me/blog/?feed=rss2&#038;p=467</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FLASH动作脚本代码集锦</title>
		<link>http://hexiang.me/blog/?p=463</link>
		<comments>http://hexiang.me/blog/?p=463#comments</comments>
		<pubDate>Mon, 20 Sep 2010 12:08:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Study ┊ 学习]]></category>
		<category><![CDATA[AS]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[代码]]></category>

		<guid isPermaLink="false">http://hexiang.me/blog/?p=463</guid>
		<description><![CDATA[1 、简单 loading 代码： 方法 1 、使用载入字节数判断 b=getBytesTotal();// 获取总的字节数 a=getBytesLoaded();// 已经下载的字节数 onEnterFrame=function(){// 进入帧时 , 进行判断 if (a == b) {// 如果载入的字节数等于总的字节数 delete this.onEnterFrame// 删除进入帧 gotoAndPlay(“frame”);// 转入到你要播放的帧 ] else {// 否则 a=getBytesLoaded();// 已经下载的字节数 percent=int(a/b*100)+”%”;// 计算已经下载的百分比 ] } 把上面方法放入第一帧就可以了 方法 2 、使用载入的帧数判断_ 用 Action 语法地 if frame is loaded 来实现 , 新建一层，这层专门放 Action, 第一帧， ifFrameLoaded (” 场景 [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>1 、简单 loading 代码：<br />
方法 1 、使用载入字节数判断<br />
b=getBytesTotal();// 获取总的字节数<br />
a=getBytesLoaded();// 已经下载的字节数<br />
onEnterFrame=function(){// 进入帧时 , 进行判断<br />
if (a == b) {// 如果载入的字节数等于总的字节数<br />
delete this.onEnterFrame// 删除进入帧<br />
gotoAndPlay(“frame”);// 转入到你要播放的帧<br />
] else {// 否则<br />
a=getBytesLoaded();// 已经下载的字节数<br />
percent=int(a/b*100)+”%”;// 计算已经下载的百分比<br />
]<br />
}<br />
把上面方法放入第一帧就可以了<br />
<span id="more-463"></span><br />
方法 2 、使用载入的帧数判断_<br />
用 Action 语法地 if frame is loaded 来实现 , 新建一层，这层专门放 Action,<br />
第一帧，<br />
ifFrameLoaded (” 场景 “, frame) {// 假如场景中地祯数已经载入<br />
goto and play() // 跳至并播放某某祯 ( 自己设定 )<br />
}<br />
第二帧， O*Np@Q<br />
goto and play(” 场景 1&#8243;, 1)// 跳至并播放第一祯循环<br />
再加上一个 load 地 MC 循环播放在这两帧的中间，就 OK 了。<br />
2 、用 flash 做那种弹出的小窗口<br />
分两步：<br />
给 flash 中的按钮加入如下 action:<br />
on (release) { idd{<br />
getURL (“javascript:MM_openBrWindow(&#8216;newweb.htm&#8217;,”,&#8217;width=600,height=100&#8242;)”);<br />
在 HTML 页面的 &lt;head&gt;&#8230;&lt;/head&gt; 之间加入下面的 javascript 代码 .<br />
&lt;script language=”javascript”&gt;<br />
&lt;!&#8211; ~Y<br />
function MM_openBrWindow(theURL,winName,features) { //v2.0<br />
window.open(theURL,winName,features); ;<br />
}<br />
//&#8211;&gt;<br />
&lt;/script&gt;</p>
<p>3 、载入 swf 文件的控制<br />
在 flash 中可以使用 loadmovie （）和 loadmovienum （）两个函数控制，具体代码如下：<br />
loadmovie 载入的控制<br />
_root.createEmptyMovieClip ( “aa” , 1 );<br />
with ( aa ) {<br />
_x = 50 ;<br />
_y = 100 ;<br />
_width=200<br />
_height=300<br />
_alpha=50<br />
loadMovie ( “02.swf” );<br />
}<br />
loadMovieNum 的载入控制：<br />
loadMovieNum ( “02.swf” , 1 );<br />
onEnterFrame = function () {<br />
if ( _level1 ) {<br />
   with ( _level1 ) {<br />
       _x = 50 ;<br />
       _y = 100 ;<br />
   }<br />
   delete onEnterFrame ;<br />
}<br />
};<br />
在 flash 2004 中，增加了 MovieClipLoader 类，使用它可以控制播放，下面是一个测试代码：<br />
var mcl= new MovieClipLoader(); // 定义新的 MovieClipLoader 对象～<br />
var listener = new Object(); // 定义一个新的对象，用来监听 load 进程<br />
listener.onLoadProgress=function(target,loadedBytes,totalBytes ){ //onloadprogress 加载过程中每当将加载的内容写入磁盘时调用<br />
// 其中 loadedBytes 是已经下载的字节， totalBytes 是正在加在的文件的总字节数<br />
x=loadedBytes<br />
y=totalBytes<br />
//trace(x+ ” bytes 已经 load 了 “);<br />
//trace(totalBytes + ” bytes 需要 load”);<br />
d=x*100/y // 计算已经载入的百分比<br />
)<br />
listener.onLoadInit = function(target) // 当执行加载的剪辑的第一帧上的动作时调用<br />
{<br />
if(d&lt;100){ // 如果没有加载完成，不要播放<br />
target.stop();<br />
} else { // 加载完成，可以设置加载的 swf 文件开始播放的帧数<br />
target.gotoAndPlay(2);<br />
}<br />
target._width=400 // 设置加载的影片的大小及其位置等相关属性<br />
target._height=350<br />
target._x=25<br />
target._y=50<br />
}<br />
mcl.addListener(listener); // 注册一个新的监听对象<br />
mcl.loadClip(“***.swf”,1)// 使用自定义的对象，加载 swf 文件</p>
<p>4 、设为首页<br />
on (release) {<br />
getURL(“javascript:void(document.links.style.&amp;#98;ehavior=&#8217;url(#default#homepage)&#8217;);voiddocument.links.setHomePage(&#8216; http://www.flash8.net/&#8217;)”,”_self”, “POST”);<br />
}<br />
注意要将网页中的 flash 的 ID 号命名为 “links”</p>
<p>加入收藏夹<br />
on (release) {<br />
getURL(“javascript:void window.external.AddFavorite(&#8216; http://www.163.com&#8217;,&#8217; 网页 &#8216;);”,”_self”, “POST”);<br />
}</p>
<p>5 、如何随机设置 MC 颜色？<br />
方法 1 、 MC 实例名为 “mc”<br />
mycolor=new Color(“mc”)<br />
mycolor.setRGB(random(0xffffff))<br />
方法 2 、 MC 实例名为 “mc”<br />
mycolor=new Color(“mc”) [<br />
mycolor.setRGB(random(16777215))<br />
方法 3 、 myColor = new Color(mc);<br />
   myColorTransform = new Object();// 用 new Object() 为<br />
    //setTrandform() 创建参数并随机取值<br />
   myra = random(100);<br />
   myrb = random(255);<br />
   myga = random(100);<br />
   mygb = random(255);<br />
   myba = random(100);<br />
   mybb = random(255);<br />
   myaa = random(100);<br />
   myab = random(255);<br />
   myColorTransform = {ra:myra, rb:myrb, ga:myga, gb:mygb, ba:myba, bb:mybb, aa:myaa, ab:myab};<br />
    myColor.setTransform(myColorTransform);<br />
方法 4 、 mycolor = new Color(mc);<br />
      mycolor.setRGB(random(255)&lt;&lt;16|random(255)&lt;&lt;8|random(255));</p>
<p>6 、关于随机数的技巧<br />
用来产生 6--20 之间的 5 个不重复的随机数<br />
1): 首先产生一个随机数 , 放在数组对象中的第一个位置<br />
2): 产生一个新的随机数<br />
3): 检查新产生的随机数和所有目前已产生的随机数是否相同 , 若是相同则返回 (2), 否则返回 (4)<br />
4): 将新的随机数加入数组对象中下一个数组元素内<br />
5): 检查数组对象个数是否已达到 5 个 , 若是跳到 (6), 否则返回 (2)<br />
6): 结束<br />
AS 如下 :<br />
data1=newArray(5);<br />
tot=1;<br />
data1=[tot-1]=random(20-6+1)+6;<br />
do{<br />
gen_data=random(20-6+1)+6;<br />
reapeat_data=0;<br />
for(i=0,i&lt;=tot-1;i++){<br />
if(gen_data==data<br />
reapeat_data=1;<br />
break;<br />
}<br />
}<br />
if(reapeat_data==0){<br />
tot++<br />
data[tot-1]=reapeat_data;<br />
}<br />
}while(tot&lt;5);<br />
trace(data1);</p>
<p>7 、如何禁止右键菜单、缩放、全屏<br />
在第一桢中输入下面命令：<br />
全屏－＞ FS Command (“fullscreen”, true)<br />
禁止缩放－＞ FS Command (“allowscale”, False)<br />
禁止菜单－＞ FS Command (“showmenu”, False)<br />
fscommand 的方法还是只能适用于 fp ，在网页中使用还是必须添加额外的参数<br />
&lt;PARAM Name=”menu” value=”false”&gt;<br />
或者用最简单的一句 as ，在 fp 和网页中均适用：<br />
Stage.showMenu=false;</p>
<p>8 、如何实现双击效果？<br />
把下面的代码放到按钮上：<br />
on (press) {<br />
time = getTimer()-down_time;<br />
if (time&lt;300) {<br />
    trace(“ok”);<br />
}<br />
down_time = getTimer();<br />
}<br />
这样的话，如果都用比较麻烦，写了一个类来判断<br />
MovieClip.prototype.doubleClick = function() {<br />
this.timer2 = getTimer()/1000;<br />
if ((this.timer2-this.timer)&lt;0.25) {<br />
return true;<br />
} else {<br />
this.timer = getTimer()/1000;<br />
return false;<br />
}<br />
};<br />
继承了 mc 的类，可以重复使用，当然也可以封装为 2 。 0 的类</p>
<p>9 、如果要在浏览器中实现全屏效果，只需在 html 文件中加入以下代码即可：<br />
&lt;script&gt;<br />
javascript :window.open(“*.swf”,”",”fullscreen=1,menubar=no,width=800,height=600&#8243;)<br />
&lt;/script&gt;<br />
其中 *.swf 为要调用的 FLASH 文件，记住要将该文件放在 html 文件的同一路径下面。要退出全屏状态需按 ALT ＋ F4 或退出。<br />
如果在 swf 文件中，添加关闭按钮，使用下面的代码：<br />
on(release) {<br />
getURL(“javascript <img src='http://hexiang.me/blog/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> pener=null;window.close();”);<br />
}</p>
<p>10 、用 AS 怎么把影片倒放<br />
function prev(target) {<br />
   target.gotoAndStop(target._totalframes);<br />
   target.onEnterFrame = function() { [<br />
       if (this._currentframe&gt;1) {<br />
           this.gotoAndStop(this._currentframe-1);<br />
       } else {<br />
           delete this.onEnterFrame;<br />
       }<br />
   };<br />
}<br />
prev(_root.mc); // 指定要倒退播放的 MC instance name 就可以了</p>
<p>11 、声音相关<br />
之前为 MYSOUND 链接一个属性<br />
1 ： mysound=new Sound();// （注释） mysound 是一个变量名， new Sound 是一个构造函数，表示 mysound 是一个 Sound 对象。<br />
以后可以通过 mysound 来调用 Sound 方法 }*HK[<br />
2： mysound.attachSound(“name”); 这里的 NAME 就是你之前在标识符里写的东西了，对应好了就 OK ！<br />
3： mysound.setVolume(50); 这个是控制声音播放时的声音大小，取值在 0 到 100 ，意义大家都知道吧，不会有人认为 0 是最大声吧 ~<br />
4：mysound.start(0.01); 这个语句是表示开始播放声音，（）里的参数表示声音开始的位置，单位为秒，再来就是循环几次 ~ 比如 mysound.start(30 ， 2);// 声音从 30 秒处开始循环 2 次。</p>
<p>12 、倒计时<br />
首先新建文件以后，在主场景中分别用文字工具建立三个动态文本框，变量名字分别是： leftmin,leftsec,leftmilli, 也就是分别来显示计时的分钟、秒数和毫秒数。<br />
然后新建一层，在第一桢写上如下代码即可：（已经做了详细解释，相信大部分朋友能够理解这些代码的意思）<br />
onLoad = function(){// 当场景加载以后执行<br />
totalmin = 40;<br />
totalsec = 60;<br />
totalmilli = 100;<br />
// 初始化一些变量，在后面的计算中要用到这些变量<br />
}<br />
   onEnterFrame = function(){// 逐桢执行动作”<br />
currentsec = Math.round(getTimer()/1000);<br />
// 求出当前影片已经播放的秒数（取整）<br />
currentmilli = Math.round(getTimer()/10);<br />
// 求出当前影片已经播放的毫秒数（取整）<br />
leftsec = totalsec- currentsec;~<br />
// 剩余的秒数等于总的秒数减去已经播放的秒数<br />
leftmin = totalmin; ^<br />
// 开始分钟数等于总的分钟数，开始是不变的<br />
leftmilli = totalmilli &#8211; currentmilli;<br />
// 剩余的毫秒数等于总的毫秒数减去已经播放的毫秒数<br />
if(leftsec&lt;10){leftsec = “0&#8243;+leftsec}<br />
if(leftmin&lt;10){leftmin = “0&#8243;+leftmin}<br />
if(leftmilli&lt;10){leftmilli = “0&#8243;+leftmilli}<br />
// 以上三句是当分钟数、秒数、毫秒数小于 10 的时候，前面加上一个 “0” 。<br />
if(leftmilli&lt;=1){totalmilli+=100;} );<br />
// 当计时剩下的毫秒小于 1 的时候，总秒数再加 100 ，以便下一次重新计时（这里注意得到的影片播放的毫秒数是一直增加的）<br />
if(leftsec == 0){// 当剩余的秒数等于 0 的时候<br />
totalsec+=60;// 类似上面的解释，总秒数加 60<br />
totalmin-=1;// 这时候相当于过了 60 秒，所以分钟数要减 1<br />
if(leftmin ==0){// 当分钟数等于 0 的时候，计时结束<br />
leftsec = “00&#8243;; ,<br />
leftmin = “00&#8243;;<br />
leftmilli = “00&#8243;;<br />
// 将三个计时框都附值为 0<br />
delete onEnterFrame;// 删除这个逐桢动作，以节省资源<br />
};<br />
}<br />
}</p>
<p>13 、键盘控制上下左右<br />
怎样用键盘中的上下左右控制动画！<br />
onClipEvent (load) {<br />
speed = 5;// 当 MC 载入时，设置速度为 5 ，也就是说每按一下方向键，就移动 5 象素<br />
}<br />
onClipEvent (enterFrame) {<br />
if (Key.isDown(Key.LEFT)) {<br />
this._x -= speed;// 当 ← 被按下时，自身的 X 位置不断减 speed ， X 轴坐标不断减小，也就是不断向左移动<br />
}<br />
if (Key.isDown(Key.RIGHT)) {<br />
this._x += speed;// 当 → 被按下时，自身 X 位置不断加 speed ， X 轴坐标不断增加，也就是不断向右移动<br />
}<br />
if (Key.isDown(Key.UP)) {<br />
this._y -= speed;// 当 ↑ 被按下时，自身的 Y 位置不断减 speed ， Y 轴坐标不断减小，也就是不断向上移动<br />
}<br />
if (Key.isDown(Key.DOWN)) {<br />
this._y += speed;// 当 ↓ 被按下时，自身的 Y 位置不断加 speed ， Y 轴坐标不断增加，也就是不断向下移动<br />
}<br />
}<br />
onEnterFrame = function () {<br />
if (Key.isDown(Key.LEFT)) {<br />
mc._x -= 20;<br />
}<br />
if (Key.isDown(Key.RIGHT)) {<br />
mc._x += 20;<br />
}<br />
if (Key.isDown(Key.UP)) {<br />
mc._y -= 20;<br />
}<br />
if (Key.isDown(Key.DOWN)) {<br />
mc._y += 20;<br />
}<br />
if (mc._x&lt;0) {<br />
mc._x = 0;<br />
}<br />
if (mc._x&gt;550-mc._width) {<br />
mc._x = 550-mc._width;<br />
}<br />
if (mc._y&lt;0) {<br />
mc._y = 0;<br />
}<br />
if (mc._y&gt;400-mc._height) {<br />
mc._y = 400-mc._height;<br />
}<br />
}</p>
<p>14 、随机调用外部图片<br />
用 9 个图片为例子，这个也可以使用 loadmovie 调用<br />
num=Math.round(9*Math.random()+1)<br />
// 设置随即数字（ 1-9 ）<br />
_root.createEmptyMovieClip(“pic”, 1);<br />
// 创建一个空的 PIC MC 用来装载外面载入的图片<br />
_root.pic._x = 200;<br />
_root.pic._y = 200;<br />
// 简单设置一下 MC 的位置<br />
_root.pic.loadMovie(num+”.jpg”,1);<br />
// 随即载入外面的图片</p>
<p>15 、暂停<br />
可以把要暂停的地方 , 帧数放长啊<br />
或者在当前帧写<br />
stop();<br />
function pause(){<br />
   clearInterval(pauseInterval);<br />
   play();</p>
<p>pauseInerval=setInterval(pause,1000); //1000 是 1 秒</p>
<p>16 、怎样改变某一影片剪辑的播放速度<br />
function go(obj) {<br />
   with (obj) {<br />
       nextFrame();<br />
       if (_currentframe == _totalframes) {<br />
           gotoAndStop(1);<br />
       }<br />
   }<br />
)<br />
go(mc);<br />
setInterval(go, 100, mc);</p>
<p>17 、怎样调用 .chm 文件<br />
getURL(mk:@MSITStore:F:\&#8230;\xxx.chm::/index.htm)</p>
<p>18 、随机生成一个有 30 个数字的数组，这 30 个数字随机在 1~500 之间取，且不能重复，而且要乱序的。<br />
tmp = new Array();<br />
k = new Array();<br />
for (i=0; i&lt;=499; i++) {<br />
tmp = i+1;<br />
}<br />
for (i=0; i&lt;=29; i++) {<br />
k = tmp.splice(random(tmp.length-1), 1);<br />
}<br />
trace(k);</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://hexiang.me/blog/?feed=rss2&#038;p=463</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>域名换为 http://hexiang.me</title>
		<link>http://hexiang.me/blog/?p=382</link>
		<comments>http://hexiang.me/blog/?p=382#comments</comments>
		<pubDate>Tue, 07 Sep 2010 06:47:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MyLife ┊ 生活]]></category>
		<category><![CDATA[.Me]]></category>
		<category><![CDATA[域名]]></category>

		<guid isPermaLink="false">http://hexiang.me/blog/?p=382</guid>
		<description><![CDATA[域名换为 http://hexiang.me，抛弃了hexiang.name这个域名，感觉.name后缀看着是在不舒服、正好.me的没有被注册，就是用.me了。。。 永久域名：http://hexiang.me]]></description>
			<content:encoded><![CDATA[<p>域名换为 <a href="http://hexiang.me">http://hexiang.me</a>，抛弃了hexiang.name这个域名，感觉.name后缀看着是在不舒服、正好.me的没有被注册，就是用.me了。。。</p>
<p>永久域名：<a href="http://hexiang.me">http://hexiang.me</a></p>
]]></content:encoded>
			<wfw:commentRss>http://hexiang.me/blog/?feed=rss2&#038;p=382</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>UI 设计师的盛宴：Web UI 设计资源大系</title>
		<link>http://hexiang.me/blog/?p=379</link>
		<comments>http://hexiang.me/blog/?p=379#comments</comments>
		<pubDate>Sun, 25 Jul 2010 00:59:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Study ┊ 学习]]></category>
		<category><![CDATA[PSD]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[资源]]></category>

		<guid isPermaLink="false">http://hexiang.me/blog/?p=379</guid>
		<description><![CDATA[每个 Web 设计师都在 UI 设计上费尽了心血，即使这样，资源的匮乏，视野的狭窄，也常常让他们的呕心沥血之作并不为人看好，事实上，UI 设计并不需要闭门造车，很多 UI 元素是通用的。本文收集了 20 套非常前端的 UI 元素库，它们多数是可以后期修改的 PSD 或 SVG 版。 Modern Web UI Set (.psd) 这套 UI 库包括了从按钮，到渐变，到文字各种 UI 元素，非常整齐地存放在不同目录下，由于是 PSD 矢量分格式，里面的任何元素都是可以修改的。 Massive Web UI &#38; Button Set (.psd) 这套 UI 元素库包含3种风格，水晶，渐变色，单色，渐变色还包含7种颜色组合。 Web UI Element Pack (.psd) 包含 19 个 UI 元素，从加载进度条，到按钮，到页码，到滑动条。 Web UI Wireframe Kit (.psd) 这套 UI [...]]]></description>
			<content:encoded><![CDATA[<p>每个 Web 设计师都在 UI 设计上费尽了心血，即使这样，资源的匮乏，视野的狭窄，也常常让他们的呕心沥血之作并不为人看好，事实上，UI 设计并不需要闭门造车，很多 UI 元素是通用的。本文收集了 20 套非常前端的 UI 元素库，它们多数是可以后期修改的 PSD 或 SVG 版。</p>
<p>Modern Web UI Set (.psd)<br />
<a href="http://feedgrids.com/originals/post/freebie_modern_web_ui_set/"><img src="http://speckyboy.specky.netdna-cdn.com/wp-content/uploads/2010/07/web_ui_01.jpg" alt="" /></a><span id="more-379"></span></p>
<p>这套 UI 库包括了从按钮，到渐变，到文字各种 UI 元素，非常整齐地存放在不同目录下，由于是 PSD 矢量分格式，里面的任何元素都是可以修改的。<br />
Massive Web UI &amp; Button Set (.psd)<br />
<a href="http://medialoot.com/blog/freebie-massive-web-ui-button-set/"><img src="http://speckyboy.specky.netdna-cdn.com/wp-content/uploads/2010/07/web_ui_02.jpg" alt="" /></a></p>
<p>这套 UI 元素库包含3种风格，水晶，渐变色，单色，渐变色还包含7种颜色组合。<br />
Web UI Element Pack (.psd)<br />
<a href="http://www.webstuffshare.com/2010/04/free-web-ui-element-pack/"><img src="http://speckyboy.specky.netdna-cdn.com/wp-content/uploads/2010/07/web_ui_03.jpg" alt="" /></a></p>
<p>包含 19 个 UI 元素，从加载进度条，到按钮，到页码，到滑动条。<br />
Web UI Wireframe Kit (.psd)<br />
<a href="http://www.fuelyourinterface.com/free-web-ui-wireframe-kit/"><img src="http://speckyboy.specky.netdna-cdn.com/wp-content/uploads/2010/07/web_ui_04.jpg" alt="" /></a></p>
<p>这套 UI 库中的元素全部基于 Photoshop 矢量图案。<br />
Browser Form Elements (.psd)<br />
<a href="http://www.teehanlax.com/blog/2008/12/16/browser-form-elements-psd/"><img src="http://speckyboy.specky.netdna-cdn.com/wp-content/uploads/2010/07/web_ui_05.jpg" alt="" /></a></p>
<p>如果你想设计浏览器，会发现这套 UI 很有用（设计浏览器在国内很时髦，是不是）。<br />
Web Page Elements (for Omnigraffle)<br />
<a href="http://re-run.com/article/omnigraffle-stencil"><img src="http://speckyboy.specky.netdna-cdn.com/wp-content/uploads/2010/07/web_ui_06.jpg" alt="" /></a></p>
<p>这套 UI 库几乎包含了全部常用 Web 元素，Header，表单元素，图标等等。<br />
Wireframe Kit (Google Drawings)<br />
<a href="http://mortenjust.com/2010/04/19/a-wireframe-kit-for-google-drawings/"><img src="http://speckyboy.specky.netdna-cdn.com/wp-content/uploads/2010/07/web_ui_07.jpg" alt="" /></a></p>
<p>这是一套用于 Google Drawing 的 UI 库。<br />
Sketching &amp; Wireframing Kit (.ai, .eps, .pdf &amp; .svg)<br />
<a href="http://www.jankoatwarpspeed.com/post/2009/12/24/sketching-wireframing-kit.aspx"><img src="http://speckyboy.specky.netdna-cdn.com/wp-content/uploads/2010/07/web_ui_08.jpg" alt="" /></a></p>
<p>这是一套用于原型草图设计的 UI 库，包含的元素有表单，图标，指示器，反馈消息，工具提示，导航元素，图片框，内嵌视频，滑动条以及广告 Banner，包括 Illustrator 和 SVG 两种矢量格式。<br />
Wireframe Symbols (.ai)<br />
<a href="http://www.johnnynines.com/2009/03/wireframe-symbols/"><img src="http://speckyboy.specky.netdna-cdn.com/wp-content/uploads/2010/07/web_ui_09.jpg" alt="" /></a></p>
<p>这套 UI 包含一个 Illustrator 符号库和一个 Illustrator 文件，可以用来创建设计原型。<br />
Yahoo Design Stencils (.xml, .pdf, .svg, .png and Omnigraffle)<br />
<a href="http://developer.yahoo.com/ypatterns/about/stencils/"><img src="http://speckyboy.specky.netdna-cdn.com/wp-content/uploads/2010/07/web_ui_10.jpg" alt="" /></a></p>
<p>Yahoo! 为 Web 设计师们贡献过很多好东西，包括著名的 YUI 框架，还有这套 UI 元素库，包括广告单元，日历，图表，表单，网格，菜单，按钮，导航等等，提供多种矢量和非矢量格式。<br />
Ext JS v3.0 Stencil (for Omnigraffle)<br />
<a href="http://cloverleafllc.com/content/omnigraffle-stencil-ext-js-v30"><img src="http://speckyboy.specky.netdna-cdn.com/wp-content/uploads/2010/07/web_ui_11.jpg" alt="" /></a></p>
<p>这是一套用于可以著名 JavaScript 框架 Ext JS 的 UI 库。<br />
165 Vector Icons in 5 Colours (.ai, .jpg and .svg)<br />
<a href="http://www.gosquared.com/liquidicity/archives/122"><img src="http://speckyboy.specky.netdna-cdn.com/wp-content/uploads/2010/07/web_ui_12.jpg" alt="" /></a></p>
<p>这套来自 Liquidicity 海量图标库包括 5 种不同配色。<br />
Flex 3 Stencil (for Omnigraffle)<br />
<a href="http://www.graffletopia.com/stencils/431"><img src="http://speckyboy.specky.netdna-cdn.com/wp-content/uploads/2010/07/web_ui_13.jpg" alt="" /></a></p>
<p>这套流程图 UI 包含 Flex 3 风格的面板，表格，按钮，链接，菜单，滚动条，手风琴式菜单，选项卡等等。<br />
Twitter Widget Stencil (for Omnigraffle)<br />
<a href="http://www.patsheridan.com/content/omnigraffle-twitter-widget-stencil"><img src="http://speckyboy.specky.netdna-cdn.com/wp-content/uploads/2010/07/web_ui_14.jpg" alt="" /></a></p>
<p>Twitter 相关的 UI 图库。<br />
Web Designer Toolkit (.psd)<br />
<a href="http://templay.de/Downloads/39/Webdesigner-Toolkit.html"><img src="http://speckyboy.specky.netdna-cdn.com/wp-content/uploads/2010/07/web_ui_15.jpg" alt="" /></a></p>
<p>这个 PSD 格式的 UI 库包含非常整洁的 Web 元素库。<br />
Facebook GUI (.psd)<br />
<a href="http://surgeworks.com/blog/design/facebook-gui-free-psd-resource"><img src="http://speckyboy.specky.netdna-cdn.com/wp-content/uploads/2010/07/web_ui_16.jpg" alt="" /></a></p>
<p>大名鼎鼎的 Facebook UI<br />
Facebook Applications (Omnigraffle)<br />
<a href="http://www.graffletopia.com/stencils/410"><img src="http://speckyboy.specky.netdna-cdn.com/wp-content/uploads/2010/07/web_ui_17a.jpg" alt="" /></a></p>
<p>如果你要创建 Facebook 应用，这套 UI 库非常有用。<br />
Web Elements Kit (.psd)<br />
<a href="http://bestblogbox.com/freebies/all-in-one-web-elements-kit/"><img src="http://speckyboy.specky.netdna-cdn.com/wp-content/uploads/2010/07/web_ui_17.jpg" alt="" /></a></p>
<p>这套 Web 元素库包括 17 个模块，每个模块包含四种配色。<br />
Flex Darkskin UI (.psd)<br />
<a href="http://psdthemes.com/theme-406-marvelous-flex-darkskin-psd-ui.html"><img src="http://speckyboy.specky.netdna-cdn.com/wp-content/uploads/2010/07/web_ui_18.jpg" alt="" /></a></p>
<p>漂亮的 Flex UI 皮肤。<br />
WEB UI Treasure Chest<br />
<a href="http://lazycrazy.deviantart.com/art/WEB-UI-Treasure-Chest-v-1-0-139165343"><img src="http://speckyboy.specky.netdna-cdn.com/wp-content/uploads/2010/07/web_ui_19.jpg" alt="" /></a></p>
<p>非常值得收藏的 Web 元素库，卷边效果很漂亮。</p>
<p>本文国际来源：<a href="http://speckyboy.com/">speckyboy.com</a> <a href="http://speckyboy.com/2010/07/21/20-free-web-ui-element-kits-and-stencils/">20 Free Web UI Element Kits and Stencils</a><br />
中文翻译来源：<a href="http://www.comsharp.com/"><strong>锐商企业CMS</strong> 网站内容管理系统</a> 官方网站</p>
]]></content:encoded>
			<wfw:commentRss>http://hexiang.me/blog/?feed=rss2&#038;p=379</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress的.htaccess文件301重定向</title>
		<link>http://hexiang.me/blog/?p=376</link>
		<comments>http://hexiang.me/blog/?p=376#comments</comments>
		<pubDate>Tue, 29 Jun 2010 10:12:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MyLife ┊ 生活]]></category>
		<category><![CDATA[301]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://hexiang.me/blog/?p=376</guid>
		<description><![CDATA[当你有多个域名指向同一个网站时，比如空间注册商赠送的二级域名和你自己的顶级域名，或者你申请了新域名，为了不损失SEO，使流量权重统一，我们需要对多个域名进行301重定向，这里我们进行一些简单的介绍。 什么是.htaccess? .htaccess文是Apache服务器的分布式配置文件，使用.htaccess文件可以方便的实现许多强大的功能。 参考站长百科http://www.zzbaike.com/wiki/Htaccess 参考维基百科http://zh.wikipedia.org/wiki/.htaccess 如何使用.htaccess文件? 首先你要确定你所使用的空间支持.htaccess（绝大多数Linux服务器支持），然后在网站根目录建立.htaccess文件即可，其内容为文本，就是我们下面要写进去的。 什么是301重定向? “301”是HTTP状态码中的一个，HTTP状态码还有我们熟知的404错误等。301重定向意为“页面永久移走”，搜索引擎会收录301重定向后的网页，这对搜索引擎优化（SEO）是很有帮助的。 Google官方对301重定向的解释是: 如果您需要按搜索引擎结果中所显示的样式更改网页网址，建议您使用服务器端 301 重定向。这是确保用户及搜索引擎定向至正确网页的最佳方法。301 状态代码表示某网页已被永久迁移至新位置。 301 重定向功能在以下情况下尤为有用： * 您已将网站移至新域，希望尽可能顺畅地完成这一转换。 * 人们通过不同网址访问您的网站。 * 您正在合并两个网站，希望确保指向过期网址的链接重定向至正确网页。 例1：将带www的域名转向到不带www的域名上。 RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^www.xxx.com [NC] RewriteRule ^(.*)$ http://xxx.com/$1 [L,R=301] 例2：例1反过来。 RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^xxx.com [NC] RewriteRule ^(.*)$ http://www.xxx.com/$1 [L,R=301] 例3：在例1的基础上，把老域名也转过来。 RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} [...]]]></description>
			<content:encoded><![CDATA[<p>当你有多个域名指向同一个网站时，比如空间注册商赠送的二级域名和你自己的顶级域名，或者你申请了新域名，为了不损失SEO，使流量权重统一，我们需要对多个域名进行301重定向，这里我们进行一些简单的介绍。</p>
<p><strong>什么是.htaccess?</strong></p>
<p>.htaccess文是Apache服务器的分布式配置文件，使用.htaccess文件可以方便的实现许多强大的功能。</p>
<p>参考站长百科<a href="http://www.zzbaike.com/wiki/Htaccess" target="_blank">http://www.zzbaike.com/wiki/Htaccess</a></p>
<p>参考维基百科<a href="http://zh.wikipedia.org/wiki/.htaccess" target="_blank">http://zh.wikipedia.org/wiki/.htaccess</a></p>
<p><strong>如何使用.htaccess文件?</strong></p>
<p>首先你要确定你所使用的空间支持.htaccess（绝大多数Linux服务器支持），然后在网站根目录建立.htaccess文件即可，其内容为文本，就是我们下面要写进去的。</p>
<p><span id="more-376"></span><br />
<strong>什么是301重定向?</strong></p>
<p>“301”是HTTP状态码中的一个，HTTP状态码还有我们熟知的404错误等。301重定向意为“页面永久移走”，搜索引擎会收录301重定向后的网页，这对搜索引擎优化（SEO）是很有帮助的。</p>
<p>Google官方对301重定向的解释是:</p>
<blockquote><p>如果您需要按搜索引擎结果中所显示的样式更改网页网址，建议您使用服务器端 301 重定向。这是确保用户及搜索引擎定向至正确网页的最佳方法。301 状态代码表示某网页已被永久迁移至新位置。</p>
<p>301 重定向功能在以下情况下尤为有用：</p>
<p>* 您已将网站移至新域，希望尽可能顺畅地完成这一转换。<br />
* 人们通过不同网址访问您的网站。<br />
* 您正在合并两个网站，希望确保指向过期网址的链接重定向至正确网页。</p></blockquote>
<p><strong>例1：将带www的域名转向到不带www的域名上。</strong></p>
<p>RewriteEngine On<br />
RewriteBase /<br />
RewriteCond %{HTTP_HOST} ^www.xxx.com [NC]<br />
RewriteRule ^(.*)$ http://xxx.com/$1 [L,R=301]</p>
<p><strong>例2：例1反过来。</strong></p>
<p>RewriteEngine On<br />
RewriteBase /<br />
RewriteCond %{HTTP_HOST} ^xxx.com [NC]<br />
RewriteRule ^(.*)$ http://www.xxx.com/$1 [L,R=301]</p>
<p><strong>例3：在例1的基础上，把老域名也转过来。</strong></p>
<p>RewriteEngine On<br />
RewriteBase /<br />
RewriteCond %{HTTP_HOST} ^old.com [NC,OR]<br />
RewriteCond %{HTTP_HOST} ^www.old.com [NC,OR]<br />
RewriteCond %{HTTP_HOST} ^www.xxx.com [NC]<br />
RewriteRule ^(.*)$ http://xxx.com/$1 [L,R=301]</p>
<p>#注意：最后一个域名后标记为[NC]，之前的都为[NC,OR]。<br />
#如果要转向某个目录(假设目录名为dir)，可把最后一行改为:<br />
#RewriteRule ^(.*)$ http://xxx.com/dir/$1 [L,R=301]</p>
<p><strong>例4：Wordpress中的重定向。</strong></p>
<p>WordPress会自动在其目录生成.htaccess文件，如果你只是把以上代码粘贴到了Wordpess那段代码的后面，那么你会发现所有的URL(比如www.xxx.com/hello.html)都转向了根域名xxx.com，这是个严重的错误。我们需要做的是把我们的代码加在Wordpress那块代码的中间，加入后的内容如下：</p>
<p># BEGIN WordPress<br />
RewriteEngine On<br />
RewriteBase /<br />
#插在这里Start<br />
RewriteCond %{HTTP_HOST} ^old.com [NC,OR]<br />
RewriteCond %{HTTP_HOST} ^www.old.com [NC,OR]<br />
RewriteCond %{HTTP_HOST} ^www.xxx.com [NC]<br />
RewriteRule ^(.*)$ http://xxx.com/$1 [L,R=301]<br />
#插在这里End<br />
RewriteCond %{REQUEST_FILENAME} !-f<br />
RewriteCond %{REQUEST_FILENAME} !-d<br />
RewriteRule . /index.php [L]<br />
# END WordPress</p>
<p><strong>测试重定向效果</strong></p>
<p>你可以在自己的浏览器里输入不同的网址进行测试，也可以使用<a href="http://www.internetofficer.com/seo-tool/redirect-check/" target="_blank">这个网站</a>进行测试。如果出现这样的结果，表示你的301重定向设置成功（以例1为例）。</p>
<blockquote><p>Checked link: http://www.xxx.com/hello.html</p>
<p>Type of redirect: 301 Moved Permanently</p>
<p>Redirected to: http://xxx.com/hello.html</p></blockquote>
<p><strong>后记</strong></p>
<p>通过.htaccess文件进行域名重定向的方法是灵活变通的，本文只介绍了当多个域名绑定在同网站同目录下，并且.htaccess文件放置于该目录中的情况。.htaccess文件也是相互关联的，如果你的多级目录里都含有.htaccess文件，Apache服务器在解析.htaccess文件的时候会逐个解析，并且存在优先级的关系。本人也是这方面的新手，多Google，少百毒，你总能知道的更多～</p>
]]></content:encoded>
			<wfw:commentRss>http://hexiang.me/blog/?feed=rss2&#038;p=376</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>多种经典Css Reset整理</title>
		<link>http://hexiang.me/blog/?p=370</link>
		<comments>http://hexiang.me/blog/?p=370#comments</comments>
		<pubDate>Thu, 11 Mar 2010 06:30:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Study ┊ 学习]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[div]]></category>

		<guid isPermaLink="false">http://hexiang.name/blog/?p=370</guid>
		<description><![CDATA[Css Reset是什么? 有些同行叫 “css复位”,有些可能叫 “默认css”&#8230;.. 相信看完全文您会对Css Reset有个重新的认识 原文地址: http://perishablepress.com/press/2007/10/23/a-killer-collection-of-global-css-reset-styles/ 原文前部分说了很多关于Css,以及各浏览器的css规则的不同,而制定”Css Reset”也是为了兼容与统一, 正确有效的使用”Css Reset”可以在某种程度上节约时间与金钱. 非常感谢Perishable的整理与归纳 下面是关于几类Css Reset的简单介绍,本人能力有限.只能理解大概意思,还请各位看官见谅 Minimalistic Reset [ Version 1 ] 相信这一段你经常看到.而且也是我们经常用到的 * {  padding: 0;  margin: 0;  } Minimalistic Reset [ Version 2 ] border:0的设计有些不靠谱了 * {  padding: 0;  margin: 0;  border: 0;  } Minimalistic Reset [ Version 3 ] 当然这个也是不推荐的.会跟某些默认样式有冲突 * { [...]]]></description>
			<content:encoded><![CDATA[<p>Css Reset是什么? 有些同行叫 “css复位”,有些可能叫 “默认css”&#8230;..<br />
相信看完全文您会对Css Reset有个重新的认识</p>
<p>原文地址: <a href="http://perishablepress.com/press/2007/10/23/a-killer-collection-of-global-css-reset-styles/" target="_blank">http://perishablepress.com/press/2007/10/23/a-killer-collection-of-global-css-reset-styles/</a></p>
<p>原文前部分说了很多关于Css,以及各浏览器的css规则的不同,而制定”Css Reset”也是为了兼容与统一,<br />
正确有效的使用”Css Reset”可以在某种程度上节约时间与金钱.</p>
<p>非常感谢<a href="http://perishablepress.com/" target="_blank">Perishable</a>的整理与归纳</p>
<p>下面是关于几类Css Reset的简单介绍,本人能力有限.只能理解大概意思,还请各位看官见谅</p>
<p><span id="more-370"></span></p>
<p><strong>Minimalistic Reset [ Version 1 ]</strong><br />
相信这一段你经常看到.而且也是我们经常用到的</p>
<div>
<div>* {<br />
 padding: 0;<br />
 margin: 0;<br />
 }</div>
</div>
<p><strong>Minimalistic Reset [ Version 2 ]</strong><br />
border:0的设计有些不靠谱了</p>
<div>
<div>* {<br />
 padding: 0;<br />
 margin: 0;<br />
 border: 0;<br />
 }</div>
</div>
<p><strong>Minimalistic Reset [ Version 3 ]</strong><br />
当然这个也是不推荐的.会跟某些默认样式有冲突</p>
<div>
<div>* {<br />
 outline: 0;<br />
 padding: 0;<br />
 margin: 0;<br />
 border: 0;<br />
 }</div>
</div>
<p><strong>Condensed Universal Reset</strong><br />
这是作者当前比较钟意的一种写法.保证了相对普遍浏览器样式的统一性.</p>
<div>
<div>* {<br />
 vertical-align: baseline;<br />
 font-weight: inherit;<br />
 font-family: inherit;<br />
 font-style: inherit;<br />
 font-size: 100%;<br />
 border: 0 none;<br />
 outline: 0;<br />
 padding: 0;<br />
 margin: 0;<br />
 }</div>
</div>
<p> </p>
<p><strong>Poor Man’s Reset</strong><br />
其实这也是我们常用的一类Css Reset.对字体的大小复位,以及图片链接的边框处理.<br />
也经常在某些站点看到</p>
<div>
<div>html, body {<br />
 padding: 0;<br />
 margin: 0;<br />
 }<br />
html {<br />
 font-size: 1em;<br />
 }<br />
body {<br />
 font-size: 100%;<br />
 }<br />
a img, :link img, :visited img {<br />
 border: 0;<br />
 }</div>
</div>
<p><strong>Shaun Inman’s Global Reset</strong><br />
作者认为Shaun写这类的Css Reset是有某种目的性.<br />
而且这类规则是针对的是某些重要的常用浏览器.<br />
比如ie,firefox等</p>
<div>
<div>body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre,<br />
form, fieldset, input, p, blockquote, table, th, td, embed, object {<br />
 padding: 0;<br />
 margin: 0;<br />
 }<br />
table {<br />
 border-collapse: collapse;<br />
 border-spacing: 0;<br />
 }<br />
fieldset, img, abbr {<br />
 border: 0;<br />
 }<br />
address, caption, cite, code, dfn, em,<br />
h1, h2, h3, h4, h5, h6, strong, th, var {<br />
 font-weight: normal;<br />
 font-style: normal;<br />
 }<br />
ul {<br />
 list-style: none;<br />
 }<br />
caption, th {<br />
 text-align: left;<br />
 }<br />
h1, h2, h3, h4, h5, h6 {<br />
 font-size: 1.0em;<br />
 }<br />
q:before, q:after {<br />
 content: ”;<br />
 }<br />
a, ins {<br />
 text-decoration: none;<br />
 }</div>
</div>
<p><strong>Yahoo CSS Reset</strong><br />
<span style="text-decoration: underline;">yahoo这帮家伙写的Reset个人觉得可以推荐</span></p>
<div>
<div>body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {<br />
 padding: 0;<br />
 margin: 0;<br />
 }<br />
table {<br />
 border-collapse: collapse;<br />
 border-spacing: 0;<br />
 }<br />
fieldset,img {<br />
 border: 0;<br />
 }<br />
address,caption,cite,code,dfn,em,strong,th,var {<br />
 font-weight: normal;<br />
 font-style: normal;<br />
 }<br />
ol,ul {<br />
 list-style: none;<br />
 }<br />
caption,th {<br />
 text-align: left;<br />
 }<br />
h1,h2,h3,h4,h5,h6 {<br />
 font-weight: normal;<br />
 font-size: 100%;<br />
 }<br />
q:before,q:after {<br />
 content:”;<br />
 }<br />
abbr,acronym { border: 0;<br />
 }</div>
</div>
<p><strong>Erik Meyer’s CSS Reset</strong><br />
作者将Erik Meyer的代码重新整理了.但功能上还是一样的<br />
<span style="text-decoration: underline;">这套Css Reset是业内是使用最多的</span></p>
<div>
<div>html, body, div, span, applet, object, iframe, table, caption, tbody, tfoot, thead, tr, th, td,<br />
del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var,<br />
h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code,<br />
dl, dt, dd, ol, ul, li, fieldset, form, label, legend {<br />
 vertical-align: baseline;<br />
 font-family: inherit;<br />
 font-weight: inherit;<br />
 font-style: inherit;<br />
 font-size: 100%;<br />
 outline: 0;<br />
 padding: 0;<br />
 margin: 0;<br />
 border: 0;<br />
 }<br />
/* remember to define focus styles! */<br />
:focus {<br />
 outline: 0;<br />
 }<br />
body {<br />
 background: white;<br />
 line-height: 1;<br />
 color: black;<br />
 }<br />
ol, ul {<br />
 list-style: none;<br />
 }<br />
/* tables still need cellspacing=”0&#8243; in the markup */<br />
table {<br />
 border-collapse: separate;<br />
 border-spacing: 0;<br />
 }<br />
caption, th, td {<br />
 font-weight: normal;<br />
 text-align: left;<br />
 }<br />
/* remove possible quote marks (“) from &lt;q&gt; &amp; &lt;blockquote&gt; */<br />
blockquote:before, blockquote:after, q:before, q:after {<br />
 content: “”;<br />
 }<br />
blockquote, q {<br />
 quotes: “” “”;<br />
 }</div>
</div>
<p><strong>Condensed Meyer Reset</strong><br />
总的来说这是对Erik Meyer的Css Reset的修改与提升.</p>
<div>
<div>body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6,<br />
pre, form, fieldset, input, textarea, p, blockquote, th, td {<br />
 padding: 0;<br />
 margin: 0;<br />
 }<br />
fieldset, img {<br />
 border: 0;<br />
 }<br />
table {<br />
 border-collapse: collapse;<br />
 border-spacing: 0;<br />
 }<br />
ol, ul {<br />
 list-style: none;<br />
 }<br />
address, caption, cite, code, dfn, em, strong, th, var {<br />
 font-weight: normal;<br />
 font-style: normal;<br />
 }<br />
caption, th {<br />
 text-align: left;<br />
 }<br />
h1, h2, h3, h4, h5, h6 {<br />
 font-weight: normal;<br />
 font-size: 100%;<br />
 }<br />
q:before, q:after {<br />
 content: ”;<br />
 }<br />
abbr, acronym {<br />
 border: 0;<br />
 }</div>
</div>
<p>最后有份关于Css Reset的使用者调查<br />
<a href="http://css-tricks.com/poll-results-what-css-reset-do-you-use/" target="_blank">http://css-tricks.com/poll-results-what-css-reset-do-you-use/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://hexiang.me/blog/?feed=rss2&#038;p=370</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

