<?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"
	>

<channel>
	<title>在线代理服务器</title>
	<atom:link href="http://www.vstime.com/log/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.vstime.com/log</link>
	<description>在线代理服务器 - 使用帮助手册</description>
	<pubDate>Fri, 17 Oct 2008 10:57:24 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<item>
		<title>UCH-SQL调用语句参考</title>
		<link>http://www.vstime.com/log/uch-sql%e8%b0%83%e7%94%a8%e8%af%ad%e5%8f%a5%e5%8f%82%e8%80%83/</link>
		<comments>http://www.vstime.com/log/uch-sql%e8%b0%83%e7%94%a8%e8%af%ad%e5%8f%a5%e5%8f%82%e8%80%83/#comments</comments>
		<pubDate>Fri, 17 Oct 2008 10:57:24 +0000</pubDate>
		<dc:creator>店小三</dc:creator>
		
		<category><![CDATA[网络散记]]></category>

		<guid isPermaLink="false">http://www.vstime.com/log/?p=63</guid>
		<description><![CDATA[最新美女
select * from uchome_space s ,uchome_spacefield f where  s.uid=f.uid and sex=2 order by dateline desc limit 0,10
最热美女
select * from uchome_space s ,uchome_spacefield f where  s.uid=f.uid and sex=2 order by viewnum  desc limit 0,10
最新型男
select * from uchome_space s ,uchome_spacefield f where  s.uid=f.uid and sex=1 order by dateline desc limit 0,10
最热型男
select * from uchome_space s ,uchome_spacefield f where  s.uid=f.uid and sex=1 order [...]]]></description>
			<content:encoded><![CDATA[<p>最新美女<br />
select * from uchome_space s ,uchome_spacefield f where  s.uid=f.uid and sex=2 order by dateline desc limit 0,10</p>
<p>最热美女</p>
<p>select * from uchome_space s ,uchome_spacefield f where  s.uid=f.uid and sex=2 order by viewnum  desc limit 0,10</p>
<p>最新型男</p>
<p>select * from uchome_space s ,uchome_spacefield f where  s.uid=f.uid and sex=1 order by dateline desc limit 0,10</p>
<p>最热型男</p>
<p>select * from uchome_space s ,uchome_spacefield f where  s.uid=f.uid and sex=1 order by viewnum  desc limit 0,10</p>
<p>最新日志</p>
<p>select * from uchome_blog order by dateline desc limit 0,10</p>
<p>最新相册</p>
<p>select * from uchome_album order by dateline desc limit 0,10</p>
<p>随机会员</p>
<p>select * from uchome_space s ,uchome_spacefield f where  s.uid=f.uid order by RAND() desc limit 0,10</p>
<p>人气之星</p>
<p>SELECT * FROM uchome_space ORDER BY viewnum DESC</p>
<p>最新日志</p>
<p>SELECT * FROM uchome_blog FORCE INDEX(dateline) ORDER BY dateline DESC</p>
<p>热点话题</p>
<p>SELECT * FROM uchome_thread ORDER BY dateline DESC</p>
<p>最近3天注册</p>
<p>SELECT * FROM uchome_space WHERE dateline&gt;UNIX_TIMESTAMP()-86400*3 ORDER BY dateline DESC</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vstime.com/log/uch-sql%e8%b0%83%e7%94%a8%e8%af%ad%e5%8f%a5%e5%8f%82%e8%80%83/feed/</wfw:commentRss>
		</item>
		<item>
		<title>UCH群组功能增加编辑器（html+js详解）</title>
		<link>http://www.vstime.com/log/uch%e7%be%a4%e7%bb%84%e5%8a%9f%e8%83%bd%e5%a2%9e%e5%8a%a0%e7%bc%96%e8%be%91%e5%99%a8%ef%bc%88htmljs%e8%af%a6%e8%a7%a3%ef%bc%89/</link>
		<comments>http://www.vstime.com/log/uch%e7%be%a4%e7%bb%84%e5%8a%9f%e8%83%bd%e5%a2%9e%e5%8a%a0%e7%bc%96%e8%be%91%e5%99%a8%ef%bc%88htmljs%e8%af%a6%e8%a7%a3%ef%bc%89/#comments</comments>
		<pubDate>Fri, 17 Oct 2008 10:54:46 +0000</pubDate>
		<dc:creator>店小三</dc:creator>
		
		<category><![CDATA[网络散记]]></category>

		<guid isPermaLink="false">http://www.vstime.com/log/?p=61</guid>
		<description><![CDATA[UCH群组功能增加编辑器。（html+js详解）
 
群组功能发帖时候增加编辑器，其实并不是很复杂，只不过我们要理解，为什么要这样修改代码。
*可能有些听不懂，不过不会影响修改，多学点东西总是好的吧？
 
首先，我们解析一下blog的编辑器。
看模板文件夹下cp_blog.htm里面的这段代码： 
复制内容到剪贴板 
代码:
                                &#60;textarea class=&#8221;userData&#8221; name=&#8221;message&#8221; id=&#8221;uchome-ttHtmlEditor&#8221; style=&#8221;height:100%;width:100%;display:none;border:0px&#8221;&#62;$blog[message]&#60;/textarea&#62;
                                &#60;iframe src=&#8221;editor.php?charset=$_SC[charset]&#38;allowhtml=$allowhtml&#8221; name=&#8221;uchome-ifrHtmlEditor&#8221; id=&#8221;uchome-ifrHtmlEditor&#8221; scrolling=&#8221;no&#8221; border=&#8221;0&#8243; frameborder=&#8221;0&#8243; style=&#8221;width:100%;border: 1px solid #C5C5C5;&#8221; height=&#8221;400&#8243;&#62;&#60;/iframe&#62;
第一步呢，我们先要读懂这两行代码：
这就是编辑器的比较核心的部分，用一个隐藏的textarea来提交信息，用js提取框架iframe里面的编辑内容，而iframe里面的部分是编辑器页面。
display:none 表示用css隐藏了textarea，看不到但是提交信息是可以发出去的。
我们会发现，textarea的iduchome-ttHtmlEditor和iframe里面的name和id都很像，对，这两个能合并在一起就是用这个挂钩的，当然，还要借助于js实现。
 
第二步，再看提交的时候，触发了什么，请看这两段代码，还是那个文件。 
复制内容到剪贴板 
代码:
&#60;input type=&#8221;button&#8221; id=&#8221;blogbutton&#8221; name=&#8221;blogbutton&#8221; value=&#8221;提交发布&#8221; onclick=&#8221;validate(this);&#8221; style=&#8221;display: none;&#8221; /&#62;
复制内容到剪贴板 
代码:
&#60;input [...]]]></description>
			<content:encoded><![CDATA[<p>UCH群组功能增加编辑器。（html+js详解）</p>
<p> </p>
<p>群组功能发帖时候增加编辑器，其实并不是很复杂，只不过我们要理解，为什么要这样修改代码。</p>
<p>*可能有些听不懂，不过不会影响修改，多学点东西总是好的吧？</p>
<p> </p>
<p>首先，我们解析一下blog的编辑器。</p>
<p>看模板文件夹下cp_blog.htm里面的这段代码： </p>
<p>复制内容到剪贴板 </p>
<p>代码:</p>
<p>                                &lt;textarea class=&#8221;userData&#8221; name=&#8221;message&#8221; id=&#8221;uchome-ttHtmlEditor&#8221; style=&#8221;height:100%;width:100%;display:none;border:0px&#8221;&gt;$blog[message]&lt;/textarea&gt;</p>
<p>                                &lt;iframe src=&#8221;editor.php?charset=$_SC[charset]&amp;allowhtml=$allowhtml&#8221; name=&#8221;uchome-ifrHtmlEditor&#8221; id=&#8221;uchome-ifrHtmlEditor&#8221; scrolling=&#8221;no&#8221; border=&#8221;0&#8243; frameborder=&#8221;0&#8243; style=&#8221;width:100%;border: 1px solid #C5C5C5;&#8221; height=&#8221;400&#8243;&gt;&lt;/iframe&gt;</p>
<p>第一步呢，我们先要读懂这两行代码：</p>
<p>这就是编辑器的比较核心的部分，用一个隐藏的textarea来提交信息，用js提取框架iframe里面的编辑内容，而iframe里面的部分是编辑器页面。</p>
<p>display:none 表示用css隐藏了textarea，看不到但是提交信息是可以发出去的。</p>
<p>我们会发现，textarea的iduchome-ttHtmlEditor和iframe里面的name和id都很像，对，这两个能合并在一起就是用这个挂钩的，当然，还要借助于js实现。</p>
<p> </p>
<p>第二步，再看提交的时候，触发了什么，请看这两段代码，还是那个文件。 </p>
<p>复制内容到剪贴板 </p>
<p>代码:</p>
<p>&lt;input type=&#8221;button&#8221; id=&#8221;blogbutton&#8221; name=&#8221;blogbutton&#8221; value=&#8221;提交发布&#8221; onclick=&#8221;validate(this);&#8221; style=&#8221;display: none;&#8221; /&gt;</p>
<p>复制内容到剪贴板 </p>
<p>代码:</p>
<p>&lt;input type=&#8221;button&#8221; id=&#8221;issuance&#8221; onclick=&#8221;document.getElementById(&#8217;blogbutton&#8217;).click();&#8221; value=&#8221;保存发布&#8221; class=&#8221;submit&#8221; /&gt;</p>
<p>如果刚才认真听课的同学都发现了，“display: none”又一次使用到了隐藏。</p>
<p>但是提交的时候更有趣：</p>
<p>下面的按钮触发的是上面按钮的动作，怎么做到的呢？ </p>
<p>复制内容到剪贴板 </p>
<p>代码:</p>
<p>onclick=&#8221;document.getElementById(&#8217;blogbutton&#8217;).click();&#8221; </p>
<p>这行代码表示在点击的时候，触发一个js事件：document.getElementById(&#8217;blogbutton&#8217;).click();</p>
<p>而这个事件的js实际上就是点击第一个按钮的动作，等同于触发了第一个按钮的： </p>
<p>复制内容到剪贴板 </p>
<p>代码:</p>
<p>onclick=&#8221;validate(this);&#8221; </p>
<p>这个部分，那么我们就找到了提交的时候，一定会包含处理编辑器的js函数：validate</p>
<p> </p>
<p>搜索刚才那个文件中的代码，我们很容易找到这段： </p>
<p>复制内容到剪贴板 </p>
<p>代码:</p>
<p>        function validate(obj) {</p>
<p>            var subject = $(&#8217;subject&#8217;);</p>
<p>            if (subject) {</p>
<p>                    var slen = strlen(subject.value);</p>
<p>                if (slen &lt; 1 || slen &gt; 80) {</p>
<p>                    alert(&#8221;标题长度(1~80字符)不符合要求&#8221;);</p>
<p>                    subject.focus();</p>
<p>                    return false;</p>
<p>                }</p>
<p>            }</p>
<p> </p>
<p>            if($(&#8217;seccode&#8217;)) {</p>
<p>                        var code = $(&#8217;seccode&#8217;).value;</p>
<p>                        var x = new Ajax();</p>
<p>                        x.get(&#8217;cp.php?ac=common&amp;op=seccode&amp;code=&#8217; + code, function(s){</p>
<p>                                s = trim(s);</p>
<p>                                if(s != &#8217;succeed&#8217;) {</p>
<p>                                        alert(s);</p>
<p>                                        $(&#8217;seccode&#8217;).focus();</p>
<p>                                   return false;</p>
<p>                                } else {</p>
<p>                                        uploadEdit(obj);</p>
<p>                                        return true;</p>
<p>                                }</p>
<p>                        });</p>
<p>            } else {</p>
<p>                    uploadEdit(obj);</p>
<p>                    return true;</p>
<p>            }</p>
<p>        }</p>
<p>这个东西什么意思呢？我们大概看看，我也作简要解释：</p>
<p>function是函数必须的部分，后面表示 validate(obj)函数名和所传递进来的参数。参数是一个对象，所以用obj来命名，不是语法必须，只是比较方便理解。</p>
<p>然后定义了另外一个对象，在函数内部： var subject = $(&#8217;subject&#8217;);</p>
<p>表示将id为&#8217;subject&#8217;的部分当作对象给前面的变量，听不懂这些术语没所谓，以后会明白，不会影响这次你学习哦。</p>
<p> </p>
<p>有这样的对象有啥用啊？</p>
<p>这样的对象可以直接指向某个DOM的节点，更简单的说法是方便操作部分指定的html，哈哈，这样理解了吧？</p>
<p> </p>
<p>再看这个js函数。我用注释来说明每一行做什么： </p>
<p>复制内容到剪贴板 </p>
<p>代码:</p>
<p>        function validate(obj) {//创建函数和函数名，声明需要传入什么参数</p>
<p>            var subject = $(&#8217;subject&#8217;);//设定一个函数内的变量，方便后面用，指向了id为subject的html部分。</p>
<p>            if (subject) {//如果有这个对象，可以理解成，如果有这个html的话</p>
<p>                    var slen = strlen(subject.value);//读取这个html部分的value值的长度</p>
<p>                if (slen &lt; 1 || slen &gt; 80) {//判断长度是否超过80或者小于1.</p>
<p>                    alert(&#8221;标题长度(1~80字符)不符合要求&#8221;);//提示不合法</p>
<p>                    subject.focus();//将光标焦点放到指定的对象上</p>
<p>                    return false;//返回这个函数的返回值为否（假），目的是告诉浏览器不要继续表单提交了，有问题啦。如果运行到这里，整个函数结束，不再继续运行。但是，刚才的判断部分如果没有进入这个大括号的话，程序继续运行。细节部分参考一下相关描述js函数的书籍或资料，不详细说了。</p>
<p>                }</p>
<p>            }</p>
<p> </p>
<p>            if($(&#8217;seccode&#8217;)) {//这个是判断&#8217;seccode&#8217;部分的，有ajax的部分，跳过大部分，我只简单说，我们直接谈中心部分。</p>
<p>                        var code = $(&#8217;seccode&#8217;).value;//读取&#8217;seccode&#8217;的值</p>
<p>                        var x = new Ajax();//创建一个ajax的实例，理解为要做ajax之前的热身，不然程序容易抽筋，那就不能继续了，呵呵</p>
<p>                        x.get(&#8217;cp.php?ac=common&amp;op=seccode&amp;code=&#8217; + code, function(s){//将&#8217;cp.php?ac=common&amp;op=seccode&amp;code=&#8217; + code作为ajax异步传输读取的地址，返回的是这个地址给的结果，也就是s</p>
<p>                                s = trim(s);//安全处理s</p>
<p>                                if(s != &#8217;succeed&#8217;) {//如果s不是&#8217;succeed&#8217;的话，则运行下面的部分。</p>
<p>                                        alert(s);//警告，内容就是s，估计如果s不是&#8217;succeed&#8217;的话，会直接返回错误提示。</p>
<p>                                        $(&#8217;seccode&#8217;).focus();//呵呵，上面见过，将鼠标光标放到&#8217;seccode&#8217;上。</p>
<p>                                   return false;//返回别继续的指令，刚才说过。</p>
<p>                                } else {//否则运行（也就是说s的内容就是&#8217;succeed&#8217;）</p>
<p>                                        uploadEdit(obj);//哈哈，bingo~~~就是要照这个，更新编辑器的函数</p>
<p>                                        return true;//告诉浏览器，哈哈，正确了，提交吧，我拿到了编辑器的数据啦~~~</p>
<p>                                }</p>
<p>                        });</p>
<p>            } else {//这两行自己理解一下，自己看看括号是哪里的if和else，如果不知道if-else是什么，参考我之前发过的教程。</p>
<p>                    uploadEdit(obj);</p>
<p>                    return true;</p>
<p>            }</p>
<p>        }</p>
<p>这样我们就找到要得部分了，估计现在有些朋友会晕了，“改一个编辑器这么麻烦啊？”</p>
<p>是啊，如果你熟练的话，其实也不会特别麻烦，所以提醒某些喜欢免费的朋友，无论大家分享什么东西，都要懂得感恩，很多细节的部分你是看不到的，但是很有可能人家用心坐了很久，扯远了，我们继续哦</p>
<p> </p>
<p>找到刚才那个地方，也就是uploadEdit(obj);</p>
<p>这还不够，你并不了解他具体是怎么运行的，确认一下，看看他在那里呢？</p>
<p> </p>
<p>找了这个文件没有发现声明这个函数的部分，也就是没有找到 function uploadEdit</p>
<p> </p>
<p>再看看代码，发现这个： </p>
<p>复制内容到剪贴板 </p>
<p>代码:</p>
<p>&lt;script language=&#8221;javascript&#8221; src=&#8221;image/editor/editor_function.js&#8221;&gt;&lt;/script&gt;</p>
<p>*html中包含js的一种方法，具体参考html相关书籍和资料</p>
<p> </p>
<p>好，开心吧，为什么呢？因为这个就是编辑器js的函数集文件了，马上打开看看吧，很快找到（第一个函数就是啊）： </p>
<p>复制内容到剪贴板 </p>
<p>代码:</p>
<p>function uploadEdit(obj) {</p>
<p>        mainForm = obj.form;</p>
<p>        forms = $(&#8217;attachbody&#8217;).getElementsByTagName(&#8221;FORM&#8221;);</p>
<p>        albumid = $(&#8217;uploadalbum&#8217;).value;</p>
<p>        edit_save();</p>
<p>        upload();</p>
<p>}</p>
<p>edit_save();？？？这个就是保存编辑器内容的东西吧，答对，加十分，哈哈</p>
<p> </p>
<p>我们拿出来这个函数直接用，因为刚才那个文件已经引用过这个文件了，也就是刚才那句代码： </p>
<p>复制内容到剪贴板 </p>
<p>代码:</p>
<p>&lt;script language=&#8221;javascript&#8221; src=&#8221;image/editor/editor_function.js&#8221;&gt;&lt;/script&gt;</p>
<p>怎么直接用，估计你也会了，复制，粘贴呗……</p>
<p> </p>
<p>返回cp_blog.htm文件，我们再次理顺这个流程，我考虑将具体代码修改部分留给各位朋友，多测试，一定会有人做出来的，并不是很难。</p>
<p> </p>
<p>编辑器运行的过程是这样的：</p>
<p>1、用户首先在这部分使用编辑器输入了想要的内容，编辑器直接呈现了效果，但是资料还是在iframe里面，没有传送到textarea部分： </p>
<p>复制内容到剪贴板 </p>
<p>代码:</p>
<p>                                &lt;textarea class=&#8221;userData&#8221; name=&#8221;message&#8221; id=&#8221;uchome-ttHtmlEditor&#8221; style=&#8221;height:100%;width:100%;display:none;border:0px&#8221;&gt;$blog[message]&lt;/textarea&gt;</p>
<p>                                &lt;iframe src=&#8221;editor.php?charset=$_SC[charset]&amp;allowhtml=$allowhtml&#8221; name=&#8221;uchome-ifrHtmlEditor&#8221; id=&#8221;uchome-ifrHtmlEditor&#8221; scrolling=&#8221;no&#8221; border=&#8221;0&#8243; frameborder=&#8221;0&#8243; style=&#8221;width:100%;border: 1px solid #C5C5C5;&#8221; height=&#8221;400&#8243;&gt;&lt;/iframe&gt;</p>
<p>2、用户继续编辑其他的部分，当要提交的时候，用一个隐藏按钮提交内容： </p>
<p>复制内容到剪贴板 </p>
<p>代码:</p>
<p>&lt;input type=&#8221;button&#8221; id=&#8221;blogbutton&#8221; name=&#8221;blogbutton&#8221; value=&#8221;提交发布&#8221; onclick=&#8221;validate(this);&#8221; style=&#8221;display: none;&#8221; /&gt;</p>
<p>复制内容到剪贴板 </p>
<p>代码:</p>
<p>&lt;input type=&#8221;button&#8221; id=&#8221;issuance&#8221; onclick=&#8221;document.getElementById(&#8217;blogbutton&#8217;).click();&#8221; value=&#8221;保存发布&#8221; class=&#8221;submit&#8221; /&gt;</p>
<p>3、触发了js函数validate，这个函数又一次触发了编辑器更新的函数uploadEdit。 </p>
<p>复制内容到剪贴板 </p>
<p>代码:</p>
<p>        function validate(obj) {//创建函数和函数名，声明需要传入什么参数</p>
<p>            var subject = $(&#8217;subject&#8217;);//设定一个函数内的变量，方便后面用，指向了id为subject的html部分。</p>
<p>            if (subject) {//如果有这个对象，可以理解成，如果有这个html的话</p>
<p>                    var slen = strlen(subject.value);//读取这个html部分的value值的长度</p>
<p>                if (slen &lt; 1 || slen &gt; 80) {//判断长度是否超过80或者小于1.</p>
<p>                    alert(&#8221;标题长度(1~80字符)不符合要求&#8221;);//提示不合法</p>
<p>                    subject.focus();//将光标焦点放到指定的对象上</p>
<p>                    return false;//返回这个函数的返回值为否（假），目的是告诉浏览器不要继续表单提交了，有问题啦。如果运行到这里，整个函数结束，不再继续运行。但是，刚才的判断部分如果没有进入这个大括号的话，程序继续运行。细节部分参考一下相关描述js函数的书籍或资料，不详细说了。</p>
<p>                }</p>
<p>            }</p>
<p> </p>
<p>            if($(&#8217;seccode&#8217;)) {//这个是判断&#8217;seccode&#8217;部分的，有ajax的部分，跳过大部分，我只简单说，我们直接谈中心部分。</p>
<p>                        var code = $(&#8217;seccode&#8217;).value;//读取&#8217;seccode&#8217;的值</p>
<p>                        var x = new Ajax();//创建一个ajax的实例，理解为要做ajax之前的热身，不然程序容易抽筋，那就不能继续了，呵呵</p>
<p>                        x.get(&#8217;cp.php?ac=common&amp;op=seccode&amp;code=&#8217; + code, function(s){//将&#8217;cp.php?ac=common&amp;op=seccode&amp;code=&#8217; + code作为ajax异步传输读取的地址，返回的是这个地址给的结果，也就是s</p>
<p>                                s = trim(s);//安全处理s</p>
<p>                                if(s != &#8217;succeed&#8217;) {//如果s不是&#8217;succeed&#8217;的话，则运行下面的部分。</p>
<p>                                        alert(s);//警告，内容就是s，估计如果s不是&#8217;succeed&#8217;的话，会直接返回错误提示。</p>
<p>                                        $(&#8217;seccode&#8217;).focus();//呵呵，上面见过，将鼠标光标放到&#8217;seccode&#8217;上。</p>
<p>                                   return false;//返回别继续的指令，刚才说过。</p>
<p>                                } else {//否则运行（也就是说s的内容就是&#8217;succeed&#8217;）</p>
<p>                                        uploadEdit(obj);//哈哈，bingo~~~就是要照这个，更新编辑器的函数</p>
<p>                                        return true;//告诉浏览器，哈哈，正确了，提交吧，我拿到了编辑器的数据啦~~~</p>
<p>                                }</p>
<p>                        });</p>
<p>            } else {//这两行自己理解一下，自己看看括号是哪里的if和else，如果不知道if-else是什么，参考我之前发过的教程。</p>
<p>                    uploadEdit(obj);</p>
<p>                    return true;</p>
<p>            }</p>
<p>        }</p>
<p>4、我们追寻找到那个函数，终于了解，最终更新编辑器的中心函数是edit_save(); </p>
<p>复制内容到剪贴板 </p>
<p>代码:</p>
<p>&lt;script language=&#8221;javascript&#8221; src=&#8221;image/editor/editor_function.js&#8221;&gt;&lt;/script&gt;</p>
<p>复制内容到剪贴板 </p>
<p>代码:</p>
<p>function uploadEdit(obj) {</p>
<p>        mainForm = obj.form;</p>
<p>        forms = $(&#8217;attachbody&#8217;).getElementsByTagName(&#8221;FORM&#8221;);</p>
<p>        albumid = $(&#8217;uploadalbum&#8217;).value;</p>
<p>        edit_save();</p>
<p>        upload();</p>
<p>}</p>
<p>我们知道了这些，就可以照猫画虎的制作出来任何地方的编辑器了。</p>
<p> </p>
<p>附加解释一下edit_save()的内部结构，有朋友可能会问到，还是用注释来解释(之前讲过的部分就不说了，仔细看着个帖子就好)： </p>
<p>复制内容到剪贴板 </p>
<p>代码:</p>
<p>//提交保存</p>
<p>function edit_save() {</p>
<p>        var p = window.frames['uchome-ifrHtmlEditor'];//见下一行</p>
<p>        var obj = p.window.frames['HtmlEditor'];//和上面那句代码一起创建一个对象，指向了&#8217;uchome-ifrHtmlEditor&#8217;部分</p>
<p>        var status = p.document.getElementById(&#8217;uchome-editstatus&#8217;).value;//读取了&#8217;uchome-ifrHtmlEditor&#8217;内&#8217;uchome-editstatus&#8217;部分的值，用返回值来继续下面的判断</p>
<p>        if(status == &#8216;code&#8217;) {//如果是code的话(英汉字典：code=代码)</p>
<p>                $(&#8217;uchome-ttHtmlEditor&#8217;).value = p.document.getElementById(&#8217;sourceEditor&#8217;).value;//将html（也就是编辑器内生成的html）写入那个id为&#8217;uchome-ttHtmlEditor&#8217;的textarea内部，这样的话，提交表单就不是空值了</p>
<p>        } else if(status == &#8216;text&#8217;) {//如果是text的话(英汉字典：text=文本)</p>
<p>                if(is_ie) {//如果在ie浏览器下，这个is_ie是这个js的全局变量，是有其他代码判断后生成的，不是js语言内置的，这里可能会有朋友乱用，说明一下</p>
<p>                        obj.document.body.innerText = p.document.getElementById(&#8217;dvtext&#8217;).value;</p>
<p>                        $(&#8217;uchome-ttHtmlEditor&#8217;).value = obj.document.body.innerHTML;//这两句都是将文本写入指定区域</p>
<p>                } else {//如果是其他浏览器</p>
<p>                        obj.document.body.textContent = p.document.getElementById(&#8217;dvtext&#8217;).value;</p>
<p>                        var sOutText = obj.document.body.innerHTML;</p>
<p>                        $(&#8217;uchome-ttHtmlEditor&#8217;).value = sOutText.replace(/\r\n|\n/g,&#8221;&lt;br&gt;&#8221;);//类似上面的，将文本写入指定区域</p>
<p>                }//这两个不同的部分很典型的体现了js需要写出来不同浏览器兼容的代码，并不是在ie下成功，就在任何地方运行成功，这个是做产品时候的细节部分，也是最基本的，其实很多时候程序是否好坏，这些细节地方体现的最多，但是不用到这里你看不出来开发者的功力，虽然只是一个非常基本和初级的地方，我也想这样拓展说一下，做出来一个功能其实并不是很难，麻烦的是后期测试和修改bug时候，有时候开发时间如果是10的话，测试和后期整理代码要到30，这样1比3的比例和一般人想象还是有出入的。</p>
<p>        } else {//如果是其他类新，则直接写入</p>
<p>                $(&#8217;uchome-ttHtmlEditor&#8217;).value = obj.document.body.innerHTML;//参考前面注释：写入值</p>
<p>        }</p>
<p>        backupContent($(&#8217;uchome-ttHtmlEditor&#8217;).value);//这个是方便下次恢复数据的代码。</p>
<p>}</p>
<p>好了，整理了半天，希望对各位有所帮助。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vstime.com/log/uch%e7%be%a4%e7%bb%84%e5%8a%9f%e8%83%bd%e5%a2%9e%e5%8a%a0%e7%bc%96%e8%be%91%e5%99%a8%ef%bc%88htmljs%e8%af%a6%e8%a7%a3%ef%bc%89/feed/</wfw:commentRss>
		</item>
		<item>
		<title>UCH随机头像插件 - 给无头像会员随机生成一个</title>
		<link>http://www.vstime.com/log/uch%e9%9a%8f%e6%9c%ba%e5%a4%b4%e5%83%8f%e6%8f%92%e4%bb%b6-%e7%bb%99%e6%97%a0%e5%a4%b4%e5%83%8f%e4%bc%9a%e5%91%98%e9%9a%8f%e6%9c%ba%e7%94%9f%e6%88%90%e4%b8%80%e4%b8%aa/</link>
		<comments>http://www.vstime.com/log/uch%e9%9a%8f%e6%9c%ba%e5%a4%b4%e5%83%8f%e6%8f%92%e4%bb%b6-%e7%bb%99%e6%97%a0%e5%a4%b4%e5%83%8f%e4%bc%9a%e5%91%98%e9%9a%8f%e6%9c%ba%e7%94%9f%e6%88%90%e4%b8%80%e4%b8%aa/#comments</comments>
		<pubDate>Fri, 17 Oct 2008 10:53:16 +0000</pubDate>
		<dc:creator>店小三</dc:creator>
		
		<category><![CDATA[网络散记]]></category>

		<guid isPermaLink="false">http://www.vstime.com/log/?p=59</guid>
		<description><![CDATA[UCH随机头像插件 - 给无头像会员随机生成一个
1.打开 你安装的uc目录下的 avatar.php
查找 
代码:
empty($_GET['check_file_exists'])?header(&#8221;Location: images/noavatar_$size.gif&#8221;):exit(&#8217;0&#8242;);
替换成 
代码:
$rand_no = rand(1,30);//修改30即可增加或减少随机头像总数
        empty($_GET['check_file_exists'])?header(&#8221;Location: images/noavatar/$size/$rand_no.gif&#8221;):exit(&#8217;0&#8242;);//这种改法只支持全部为GIF的头像。如果改成.jpg即全部必须都为.jpg的头像
2.上传头像目录 noavatar 到 UC的images目录下
里面的文件可以自己定,只要文件名一样就可以.
头像：http://www.discuz.net/attachment.php?aid=311590&#38;k=e3a668b64e0fa6edf60c0b4b7a4741fb&#38;t=1223090859
]]></description>
			<content:encoded><![CDATA[<p>UCH随机头像插件 - 给无头像会员随机生成一个</p>
<p>1.打开 你安装的uc目录下的 avatar.php</p>
<p>查找 </p>
<p>代码:</p>
<p>empty($_GET['check_file_exists'])?header(&#8221;Location: images/noavatar_$size.gif&#8221;):exit(&#8217;0&#8242;);</p>
<p>替换成 </p>
<p>代码:</p>
<p>$rand_no = rand(1,30);//修改30即可增加或减少随机头像总数</p>
<p>        empty($_GET['check_file_exists'])?header(&#8221;Location: images/noavatar/$size/$rand_no.gif&#8221;):exit(&#8217;0&#8242;);//这种改法只支持全部为GIF的头像。如果改成.jpg即全部必须都为.jpg的头像</p>
<p>2.上传头像目录 noavatar 到 UC的images目录下</p>
<p>里面的文件可以自己定,只要文件名一样就可以.</p>
<p>头像：http://www.discuz.net/attachment.php?aid=311590&amp;k=e3a668b64e0fa6edf60c0b4b7a4741fb&amp;t=1223090859</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vstime.com/log/uch%e9%9a%8f%e6%9c%ba%e5%a4%b4%e5%83%8f%e6%8f%92%e4%bb%b6-%e7%bb%99%e6%97%a0%e5%a4%b4%e5%83%8f%e4%bc%9a%e5%91%98%e9%9a%8f%e6%9c%ba%e7%94%9f%e6%88%90%e4%b8%80%e4%b8%aa/feed/</wfw:commentRss>
		</item>
		<item>
		<title>UCH新用户注册后的默认积分修改方式</title>
		<link>http://www.vstime.com/log/uch%e6%96%b0%e7%94%a8%e6%88%b7%e6%b3%a8%e5%86%8c%e5%90%8e%e7%9a%84%e9%bb%98%e8%ae%a4%e7%a7%af%e5%88%86%e4%bf%ae%e6%94%b9%e6%96%b9%e5%bc%8f/</link>
		<comments>http://www.vstime.com/log/uch%e6%96%b0%e7%94%a8%e6%88%b7%e6%b3%a8%e5%86%8c%e5%90%8e%e7%9a%84%e9%bb%98%e8%ae%a4%e7%a7%af%e5%88%86%e4%bf%ae%e6%94%b9%e6%96%b9%e5%bc%8f/#comments</comments>
		<pubDate>Fri, 17 Oct 2008 10:49:38 +0000</pubDate>
		<dc:creator>店小三</dc:creator>
		
		<category><![CDATA[网络散记]]></category>

		<guid isPermaLink="false">http://www.vstime.com/log/?p=57</guid>
		<description><![CDATA[UCH新用户注册后的默认积分修改方式
./source/function_space.php 文件22行：
$space = array(
        &#8217;uid&#8217; =&#62; $uid,
        &#8217;username&#8217; =&#62; $username,
        &#8217;dateline&#8217; =&#62; $_SGLOBAL['timestamp'],
        &#8217;groupid&#8217; =&#62; $gid
);
修改为：
$space = array(
        &#8217;uid&#8217; =&#62; $uid,
        &#8217;username&#8217; =&#62; $username,
        &#8217;dateline&#8217; =&#62; $_SGLOBAL['timestamp'],
        &#8217;groupid&#8217; =&#62; $gid,
        &#8217;credit&#8217; =&#62; 20
);
便在开通空间时默认给与 20 积分了。
]]></description>
			<content:encoded><![CDATA[<p>UCH新用户注册后的默认积分修改方式</p>
<p>./source/function_space.php 文件22行：</p>
<p>$space = array(</p>
<p>        &#8217;uid&#8217; =&gt; $uid,</p>
<p>        &#8217;username&#8217; =&gt; $username,</p>
<p>        &#8217;dateline&#8217; =&gt; $_SGLOBAL['timestamp'],</p>
<p>        &#8217;groupid&#8217; =&gt; $gid</p>
<p>);</p>
<p>修改为：</p>
<p>$space = array(</p>
<p>        &#8217;uid&#8217; =&gt; $uid,</p>
<p>        &#8217;username&#8217; =&gt; $username,</p>
<p>        &#8217;dateline&#8217; =&gt; $_SGLOBAL['timestamp'],</p>
<p>        &#8217;groupid&#8217; =&gt; $gid,</p>
<p>        &#8217;credit&#8217; =&gt; 20</p>
<p>);</p>
<p>便在开通空间时默认给与 20 积分了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vstime.com/log/uch%e6%96%b0%e7%94%a8%e6%88%b7%e6%b3%a8%e5%86%8c%e5%90%8e%e7%9a%84%e9%bb%98%e8%ae%a4%e7%a7%af%e5%88%86%e4%bf%ae%e6%94%b9%e6%96%b9%e5%bc%8f/feed/</wfw:commentRss>
		</item>
		<item>
		<title>UCH修复排行榜显示$_post[note]的问题</title>
		<link>http://www.vstime.com/log/uch%e4%bf%ae%e5%a4%8d%e6%8e%92%e8%a1%8c%e6%a6%9c%e6%98%be%e7%a4%ba_postnote%e7%9a%84%e9%97%ae%e9%a2%98/</link>
		<comments>http://www.vstime.com/log/uch%e4%bf%ae%e5%a4%8d%e6%8e%92%e8%a1%8c%e6%a6%9c%e6%98%be%e7%a4%ba_postnote%e7%9a%84%e9%97%ae%e9%a2%98/#comments</comments>
		<pubDate>Fri, 17 Oct 2008 10:47:23 +0000</pubDate>
		<dc:creator>店小三</dc:creator>
		
		<category><![CDATA[网络散记]]></category>

		<guid isPermaLink="false">http://www.vstime.com/log/?p=55</guid>
		<description><![CDATA[UCH修复排行榜显示$_post[note]的问题
找到\source\cp_credit.php
约第61行 
inserttable(&#8217;show&#8217;, array(&#8217;uid&#8217;=&#62;$_SGLOBAL['supe_uid'], &#8216;username&#8217;=&#62;$_SGLOBAL['supe_username'], &#8216;credit&#8217;=&#62;$showcredit, &#8216;note&#8217;=&#62;&#8217;$_POST[note]&#8216;), 0, true);
把最后的&#8217;note&#8217;=&#62;&#8217;$_POST[note]&#8216;)改为&#8217;note&#8217;=&#62;$_POST['note'])
也就是
inserttable(&#8217;show&#8217;, array(&#8217;uid&#8217;=&#62;$_SGLOBAL['supe_uid'], &#8216;username&#8217;=&#62;$_SGLOBAL['supe_username'], &#8216;credit&#8217;=&#62;$showcredit, &#8216;note&#8217;=&#62;$_POST['note']), 0, true);
]]></description>
			<content:encoded><![CDATA[<p>UCH修复排行榜显示$_post[note]的问题</p>
<p>找到\source\cp_credit.php</p>
<p>约第61行 </p>
<p>inserttable(&#8217;show&#8217;, array(&#8217;uid&#8217;=&gt;$_SGLOBAL['supe_uid'], &#8216;username&#8217;=&gt;$_SGLOBAL['supe_username'], &#8216;credit&#8217;=&gt;$showcredit, &#8216;note&#8217;=&gt;&#8217;$_POST[note]&#8216;), 0, true);</p>
<p>把最后的&#8217;note&#8217;=&gt;&#8217;$_POST[note]&#8216;)改为&#8217;note&#8217;=&gt;$_POST['note'])</p>
<p>也就是</p>
<p>inserttable(&#8217;show&#8217;, array(&#8217;uid&#8217;=&gt;$_SGLOBAL['supe_uid'], &#8216;username&#8217;=&gt;$_SGLOBAL['supe_username'], &#8216;credit&#8217;=&gt;$showcredit, &#8216;note&#8217;=&gt;$_POST['note']), 0, true);</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vstime.com/log/uch%e4%bf%ae%e5%a4%8d%e6%8e%92%e8%a1%8c%e6%a6%9c%e6%98%be%e7%a4%ba_postnote%e7%9a%84%e9%97%ae%e9%a2%98/feed/</wfw:commentRss>
		</item>
		<item>
		<title>UCH首页热门成员修改为带头像的成员推荐</title>
		<link>http://www.vstime.com/log/uch%e9%a6%96%e9%a1%b5%e7%83%ad%e9%97%a8%e6%88%90%e5%91%98%e4%bf%ae%e6%94%b9%e4%b8%ba%e5%b8%a6%e5%a4%b4%e5%83%8f%e7%9a%84%e6%88%90%e5%91%98%e6%8e%a8%e8%8d%90/</link>
		<comments>http://www.vstime.com/log/uch%e9%a6%96%e9%a1%b5%e7%83%ad%e9%97%a8%e6%88%90%e5%91%98%e4%bf%ae%e6%94%b9%e4%b8%ba%e5%b8%a6%e5%a4%b4%e5%83%8f%e7%9a%84%e6%88%90%e5%91%98%e6%8e%a8%e8%8d%90/#comments</comments>
		<pubDate>Fri, 17 Oct 2008 10:45:11 +0000</pubDate>
		<dc:creator>店小三</dc:creator>
		
		<category><![CDATA[网络散记]]></category>

		<guid isPermaLink="false">http://www.vstime.com/log/?p=53</guid>
		<description><![CDATA[修改index.php文件，找到 
$query = $_SGLOBAL['db']-&#62;query(&#8221;SELECT uid,username,name,namestatus FROM &#8220;.tname(&#8217;space&#8217;).&#8221;
WHERE updatetime &#62; &#8220;.($_SGLOBAL['timestamp']-3600*24*7).&#8221;
ORDER BY viewnum DESC LIMIT 0,18&#8243;);
修改为：
$query = $_SGLOBAL['db']-&#62;query(&#8221;SELECT uid,username,name,namestatus FROM &#8220;.tname(&#8217;space&#8217;).&#8221;
WHERE updatetime &#62; &#8220;.($_SGLOBAL['timestamp']-3600*24*7).&#8221;
and `avatar` =1 ORDER BY viewnum DESC LIMIT 0,18&#8243;);
]]></description>
			<content:encoded><![CDATA[<p>修改index.php文件，找到 </p>
<p>$query = $_SGLOBAL['db']-&gt;query(&#8221;SELECT uid,username,name,namestatus FROM &#8220;.tname(&#8217;space&#8217;).&#8221;</p>
<p>WHERE updatetime &gt; &#8220;.($_SGLOBAL['timestamp']-3600*24*7).&#8221;</p>
<p>ORDER BY viewnum DESC LIMIT 0,18&#8243;);</p>
<p>修改为：</p>
<p>$query = $_SGLOBAL['db']-&gt;query(&#8221;SELECT uid,username,name,namestatus FROM &#8220;.tname(&#8217;space&#8217;).&#8221;</p>
<p>WHERE updatetime &gt; &#8220;.($_SGLOBAL['timestamp']-3600*24*7).&#8221;</p>
<p>and `avatar` =1 ORDER BY viewnum DESC LIMIT 0,18&#8243;);</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vstime.com/log/uch%e9%a6%96%e9%a1%b5%e7%83%ad%e9%97%a8%e6%88%90%e5%91%98%e4%bf%ae%e6%94%b9%e4%b8%ba%e5%b8%a6%e5%a4%b4%e5%83%8f%e7%9a%84%e6%88%90%e5%91%98%e6%8e%a8%e8%8d%90/feed/</wfw:commentRss>
		</item>
		<item>
		<title>UCH注册后跳转到完善个人资料</title>
		<link>http://www.vstime.com/log/uch%e6%b3%a8%e5%86%8c%e5%90%8e%e8%b7%b3%e8%bd%ac%e5%88%b0%e5%ae%8c%e5%96%84%e4%b8%aa%e4%ba%ba%e8%b5%84%e6%96%99/</link>
		<comments>http://www.vstime.com/log/uch%e6%b3%a8%e5%86%8c%e5%90%8e%e8%b7%b3%e8%bd%ac%e5%88%b0%e5%ae%8c%e5%96%84%e4%b8%aa%e4%ba%ba%e8%b5%84%e6%96%99/#comments</comments>
		<pubDate>Fri, 17 Oct 2008 10:40:29 +0000</pubDate>
		<dc:creator>店小三</dc:creator>
		
		<category><![CDATA[网络散记]]></category>

		<guid isPermaLink="false">http://www.vstime.com/log/?p=50</guid>
		<description><![CDATA[模板文件 do_register.htm 里的：

&#60;script&#62;
        function register(show_id, result) {
                if(result) {
                        $(&#8217;registersubmit&#8217;).disabled = true;
                        window.location.href = &#8220;space.php&#8221;;

修改为：

&#60;script&#62;
        function register(show_id, result) {
               [...]]]></description>
			<content:encoded><![CDATA[<div>模板文件 do_register.htm 里的：</div>
<div></div>
<div>&lt;script&gt;</div>
<div>        function register(show_id, result) {</div>
<div>                if(result) {</div>
<div>                        $(&#8217;registersubmit&#8217;).disabled = true;</div>
<div>                        window.location.href = &#8220;space.php&#8221;;</div>
<div></div>
<div>修改为：</div>
<div></div>
<div>&lt;script&gt;</div>
<div>        function register(show_id, result) {</div>
<div>                if(result) {</div>
<div>                        $(&#8217;registersubmit&#8217;).disabled = true;</div>
<div>                        window.location.href = &#8220;cp.php?ac=profile&#8221;;</div>
]]></content:encoded>
			<wfw:commentRss>http://www.vstime.com/log/uch%e6%b3%a8%e5%86%8c%e5%90%8e%e8%b7%b3%e8%bd%ac%e5%88%b0%e5%ae%8c%e5%96%84%e4%b8%aa%e4%ba%ba%e8%b5%84%e6%96%99/feed/</wfw:commentRss>
		</item>
		<item>
		<title>十个代价高昂的假设</title>
		<link>http://www.vstime.com/log/%e5%8d%81%e4%b8%aa%e4%bb%a3%e4%bb%b7%e9%ab%98%e6%98%82%e7%9a%84%e5%81%87%e8%ae%be/</link>
		<comments>http://www.vstime.com/log/%e5%8d%81%e4%b8%aa%e4%bb%a3%e4%bb%b7%e9%ab%98%e6%98%82%e7%9a%84%e5%81%87%e8%ae%be/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 15:11:39 +0000</pubDate>
		<dc:creator>店小三</dc:creator>
		
		<category><![CDATA[网络散记]]></category>

		<guid isPermaLink="false">http://www.vstime.com/log/?p=48</guid>
		<description><![CDATA[原文palmerwebmarketing，转自marsopinion.com。
对电子商务来说十个代价高昂的假设：

人们知道你的网站，知道怎么来你网站
他们知道你是卖什么的
事情会按照计划发展
他们知道他们应该点击哪里
他们知道怎样回到首页
他们知道自己在哪
他们知道怎么买东西
他们原体提供大量私人信息
他们遇到困难会联系客服
他们会回来

]]></description>
			<content:encoded><![CDATA[<p>原文<a href="http://www.palmerwebmarketing.com/blog/10-costly-assumptions/">palmerwebmarketing</a>，转自<a href="http://marsopinion.com" target="_blank">marsopinion.com</a>。</p>
<p>对电子商务来说十个代价高昂的假设：</p>
<ul>
<li>人们知道你的网站，知道怎么来你网站</li>
<li>他们知道你是卖什么的</li>
<li>事情会按照计划发展</li>
<li>他们知道他们应该点击哪里</li>
<li>他们知道怎样回到首页</li>
<li>他们知道自己在哪</li>
<li>他们知道怎么买东西</li>
<li>他们原体提供大量私人信息</li>
<li>他们遇到困难会联系客服</li>
<li>他们会回来</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.vstime.com/log/%e5%8d%81%e4%b8%aa%e4%bb%a3%e4%bb%b7%e9%ab%98%e6%98%82%e7%9a%84%e5%81%87%e8%ae%be/feed/</wfw:commentRss>
		</item>
		<item>
		<title>美女在看哪里？用户体验-UE分析</title>
		<link>http://www.vstime.com/log/%e7%be%8e%e5%a5%b3%e5%9c%a8%e7%9c%8b%e5%93%aa%e9%87%8c%ef%bc%9f%e7%94%a8%e6%88%b7%e4%bd%93%e9%aa%8c-ue%e5%88%86%e6%9e%90/</link>
		<comments>http://www.vstime.com/log/%e7%be%8e%e5%a5%b3%e5%9c%a8%e7%9c%8b%e5%93%aa%e9%87%8c%ef%bc%9f%e7%94%a8%e6%88%b7%e4%bd%93%e9%aa%8c-ue%e5%88%86%e6%9e%90/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 14:17:11 +0000</pubDate>
		<dc:creator>店小三</dc:creator>
		
		<category><![CDATA[网络散记]]></category>

		<guid isPermaLink="false">http://www.vstime.com/log/?p=46</guid>
		<description><![CDATA[很久之前看过report说 
1、浏览网页时，人的注意力最容易被人脸吸引 
2、正面的美丽女性人脸最为吸引人 
（听上去很废话，呵呵） 
看到这篇How A Pretty Face Can Push Visitors Away，里面用过我之前提过的广告例子。说的意思是：用漂亮脸蛋吸引了观众之后，还要引导观众去看你想要传递的内容。 
 
好像这幅图，脸蛋没什么问题，看上去舒服，而且专业。 
可是，你的眼睛会怎么动呢？ 
1、看网页 
2、看到有PPMM，于是眼睛转移到PPMM脸上 
3、看到PPMM的眼睛正在看自己……于是转移开视线 
结果就是广告商花了钱让你看了MM，却没能把想传递的信息传递给你。 
下面有一个视线追踪对比测试（我之前写过这个测试的局限性），给定两个内容相近的广告： 
 
唯一的区别是model的视线，第一幅是直视观众，第二幅则看向产品。 
得到的热点图如下： 
 
结论很明显： 
1、观众会追踪广告中人物的视线。 
2、在Banner广告上放美女图片时——注意看看那个美女在看哪里，把你想要传达的主要内容放那里。
]]></description>
			<content:encoded><![CDATA[<p>很久之前看过report说 </p>
<p>1、浏览网页时，人的注意力最容易被人脸吸引 <br />
2、正面的美丽女性人脸最为吸引人 <br />
（听上去很废话，呵呵） </p>
<p>看到这篇How A Pretty Face Can Push Visitors Away，里面用过我之前提过的广告例子。说的意思是：用漂亮脸蛋吸引了观众之后，还要引导观众去看你想要传递的内容。 </p>
<p><img src="http://www.marsopinion.com/wp-content/uploads/2008/94156f86e716_10E3C/landingpagefaceawayfull_thumb.jpg" alt="" /> </p>
<p>好像这幅图，脸蛋没什么问题，看上去舒服，而且专业。 </p>
<p>可是，你的眼睛会怎么动呢？ </p>
<p>1、看网页 <br />
2、看到有PPMM，于是眼睛转移到PPMM脸上 <br />
3、看到PPMM的眼睛正在看自己……于是转移开视线 </p>
<p>结果就是广告商花了钱让你看了MM，却没能把想传递的信息传递给你。 </p>
<p>下面有一个视线追踪对比测试（我之前写过这个测试的局限性），给定两个内容相近的广告： <br />
<img src="http://www.marsopinion.com/wp-content/uploads/2008/94156f86e716_10E3C/sunsilkadbunnyfoot_thumb.png" alt="" /> </p>
<p>唯一的区别是model的视线，第一幅是直视观众，第二幅则看向产品。 </p>
<p>得到的热点图如下： <br />
<img src="http://www.marsopinion.com/wp-content/uploads/2008/94156f86e716_10E3C/heatmap_sunsilk_thumb.png" alt="" /> </p>
<p>结论很明显： </p>
<p>1、观众会追踪广告中人物的视线。 <br />
2、在Banner广告上放美女图片时——注意看看那个美女在看哪里，把你想要传达的主要内容放那里。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vstime.com/log/%e7%be%8e%e5%a5%b3%e5%9c%a8%e7%9c%8b%e5%93%aa%e9%87%8c%ef%bc%9f%e7%94%a8%e6%88%b7%e4%bd%93%e9%aa%8c-ue%e5%88%86%e6%9e%90/feed/</wfw:commentRss>
		</item>
		<item>
		<title>WP中调整留言顺序</title>
		<link>http://www.vstime.com/log/wp%e4%b8%ad%e8%b0%83%e6%95%b4%e7%95%99%e8%a8%80%e9%a1%ba%e5%ba%8f/</link>
		<comments>http://www.vstime.com/log/wp%e4%b8%ad%e8%b0%83%e6%95%b4%e7%95%99%e8%a8%80%e9%a1%ba%e5%ba%8f/#comments</comments>
		<pubDate>Mon, 01 Sep 2008 01:06:27 +0000</pubDate>
		<dc:creator>店小三</dc:creator>
		
		<category><![CDATA[网络散记]]></category>

		<guid isPermaLink="false">http://www.vstime.com/log/?p=40</guid>
		<description><![CDATA[调整WordPress中新留言到前面，默认为新留言在最后。
进入WP安装目录\wp-includes\
找到\comment-template.php
查找：
ORDER BY comment_date”
修改为：
ORDER BY comment_date DESC”
（注：包括三段）
上传覆盖，打完收工。
]]></description>
			<content:encoded><![CDATA[<p>调整WordPress中新留言到前面，默认为新留言在最后。</p>
<p>进入WP安装目录\wp-includes\<br />
找到\comment-template.php<br />
查找：<br />
ORDER BY comment_date”<br />
修改为：<br />
ORDER BY comment_date DESC”</p>
<p>（注：包括三段）</p>
<p>上传覆盖，打完收工。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vstime.com/log/wp%e4%b8%ad%e8%b0%83%e6%95%b4%e7%95%99%e8%a8%80%e9%a1%ba%e5%ba%8f/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
