<?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>Redhairboy's Blog</title>
	<atom:link href="http://www.vikee.net/feed" rel="self" type="application/rss+xml" />
	<link>http://www.vikee.net</link>
	<description>我本将心向明月,奈何明月照沟渠[本域名出售]佛曰:前世五百次的回眸,才换来今世的擦肩而过</description>
	<pubDate>Thu, 03 Jul 2008 02:53:20 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>经典韩剧《爱情是什么》在线播放地址</title>
		<link>http://www.vikee.net/archives/5</link>
		<comments>http://www.vikee.net/archives/5#comments</comments>
		<pubDate>Sat, 12 May 2007 01:45:52 +0000</pubDate>
		<dc:creator>redhairboy</dc:creator>
		
		<category><![CDATA[心情故事]]></category>

		<guid isPermaLink="false">http://vikee.net/?p=5</guid>
		<description><![CDATA[剧情简介：
一边是传统保守的旧式家庭，一边是现代民主的新式家庭，却同样拥有爱国爱子之心，演绎了温暖亲情，温柔爱情。
播放网址：
http://video.sina.com.cn/xztsy/aiqingshishenme/
]]></description>
			<content:encoded><![CDATA[<p><font></font><font id="zoom" class="f14 lh22 c02"></font><font id="zoom" class="f14 lh22 c02">剧情简介：<br />
一边是传统保守的旧式家庭，一边是现代民主的新式家庭，却同样拥有爱国爱子之心，演绎了温暖亲情，温柔爱情。</font><br />
播放网址：<br />
<a href="http://video.sina.com.cn/xztsy/aiqingshishenme/">http://video.sina.com.cn/xztsy/aiqingshishenme/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.vikee.net/archives/5/feed</wfw:commentRss>
		</item>
		<item>
		<title>aptana 破解 for V1.1</title>
		<link>http://www.vikee.net/archives/238</link>
		<comments>http://www.vikee.net/archives/238#comments</comments>
		<pubDate>Thu, 03 Jul 2008 02:53:20 +0000</pubDate>
		<dc:creator>redhairboy</dc:creator>
		
		<category><![CDATA[JAVA]]></category>

		<guid isPermaLink="false">http://www.vikee.net/?p=238</guid>
		<description><![CDATA[
Java代码 


package com.aptana.ide.core.licensing; 
 
import java.util.Calendar; 
import java.util.TimeZone; 
 
//crack by lizhou 
public final class ClientKey 
{ 
 private ClientKey() 
 { 
 this.type = 0; 
 this.email = &#8220;Cracker@aptana.com&#8221;; 
 this.expiration = 31536000000000L; 
 } 
 
 public static ClientKey decrypt(String encrypted, String email) 
 { 
 return new ClientKey(); 
 } 
 
 public boolean isCloseToExpiring() 
 { 
 return false; 
 } [...]]]></description>
			<content:encoded><![CDATA[<div class="bar">
<div class="tools">Java代码 <a title="复制代码" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;" href="http://www.javaeye.com/topic/170838#"><img src="http://www.javaeye.com/images/icon_copy.gif" alt="复制代码" /></a></div>
</div>
<ol class="dp-j">
<li><span><span class="keyword">package</span><span> com.aptana.ide.core.licensing; </span></span></li>
<li><span> </span></li>
<li><span><span class="keyword">import</span><span> java.util.Calendar; </span></span></li>
<li><span><span class="keyword">import</span><span> java.util.TimeZone; </span></span></li>
<li><span> </span></li>
<li><span><span class="comment">//crack by lizhou</span><span> </span></span></li>
<li><span><span class="keyword">public</span><span> </span><span class="keyword">final</span><span> </span><span class="keyword">class</span><span> ClientKey </span></span></li>
<li><span>{ </span></li>
<li><span> <span class="keyword">private</span><span> ClientKey() </span></span></li>
<li><span> { </span></li>
<li><span> <span class="keyword">this</span><span>.type = </span><span class="number">0</span><span>; </span></span></li>
<li><span> <span class="keyword">this</span><span>.email = </span><span class="string">&#8220;Cracker@aptana.com&#8221;</span><span>; </span></span></li>
<li><span> <span class="keyword">this</span><span>.expiration = 31536000000000L; </span></span></li>
<li><span> } </span></li>
<li><span> </span></li>
<li><span> <span class="keyword">public</span><span> </span><span class="keyword">static</span><span> ClientKey decrypt(String encrypted, String email) </span></span></li>
<li><span> { </span></li>
<li><span> <span class="keyword">return</span><span> </span><span class="keyword">new</span><span> ClientKey(); </span></span></li>
<li><span> } </span></li>
<li><span> </span></li>
<li><span> <span class="keyword">public</span><span> </span><span class="keyword">boolean</span><span> isCloseToExpiring() </span></span></li>
<li><span> { </span></li>
<li><span> <span class="keyword">return</span><span> </span><span class="keyword">false</span><span>; </span></span></li>
<li><span> } </span></li>
<li><span> </span></li>
<li><span> <span class="keyword">public</span><span> </span><span class="keyword">boolean</span><span> isValid() </span></span></li>
<li><span> { </span></li>
<li><span> <span class="keyword">return</span><span> </span><span class="keyword">true</span><span>; </span></span></li>
<li><span> } </span></li>
<li><span> </span></li>
<li><span> <span class="keyword">public</span><span> </span><span class="keyword">boolean</span><span> isCloseToMatching() </span></span></li>
<li><span> { </span></li>
<li><span> <span class="keyword">return</span><span> </span><span class="keyword">false</span><span>; </span></span></li>
<li><span> } </span></li>
<li><span> </span></li>
<li><span> <span class="keyword">public</span><span> </span><span class="keyword">boolean</span><span> isExpired() </span></span></li>
<li><span> { </span></li>
<li><span> <span class="keyword">return</span><span> </span><span class="keyword">false</span><span>; </span></span></li>
<li><span> } </span></li>
<li><span> </span></li>
<li><span> <span class="keyword">public</span><span> String getEmail() </span></span></li>
<li><span> { </span></li>
<li><span> <span class="keyword">return</span><span> email; </span></span></li>
<li><span> } </span></li>
<li><span> </span></li>
<li><span> <span class="keyword">public</span><span> Calendar getExpiration() </span></span></li>
<li><span> { </span></li>
<li><span> Calendar expirationCal = Calendar.getInstance(GMT); </span></li>
<li><span> expirationCal.setTimeInMillis(expiration); </span></li>
<li><span> <span class="keyword">return</span><span> expirationCal; </span></span></li>
<li><span> } </span></li>
<li><span> </span></li>
<li><span> <span class="keyword">public</span><span> </span><span class="keyword">boolean</span><span> isTrial() </span></span></li>
<li><span> { </span></li>
<li><span> <span class="keyword">return</span><span> </span><span class="keyword">false</span><span>; </span></span></li>
<li><span> } </span></li>
<li><span> </span></li>
<li><span> <span class="keyword">public</span><span> </span><span class="keyword">boolean</span><span> isPro() </span></span></li>
<li><span> { </span></li>
<li><span> <span class="keyword">return</span><span> </span><span class="keyword">true</span><span>; </span></span></li>
<li><span> } </span></li>
<li><span> </span></li>
<li><span> <span class="keyword">public</span><span> </span><span class="keyword">boolean</span><span> shouldProPluginsRun() </span></span></li>
<li><span> { </span></li>
<li><span> <span class="keyword">return</span><span> </span><span class="keyword">true</span><span>; </span></span></li>
<li><span> } </span></li>
<li><span> </span></li>
<li><span> <span class="keyword">public</span><span> </span><span class="keyword">static</span><span> String trimEncryptedLicense(String encrypted) </span></span></li>
<li><span> { </span></li>
<li><span> String newEncrypted = encrypted; </span></li>
<li><span> newEncrypted = newEncrypted.trim(); </span></li>
<li><span> newEncrypted = newEncrypted.replaceAll(<span class="string">&#8220;&#8211;begin-aptana-license&#8211;&#8221;</span><span>, </span><span class="string">&#8220;&#8221;</span><span>); </span></span></li>
<li><span> newEncrypted = newEncrypted.replaceAll(<span class="string">&#8220;&#8211;end-aptana-license&#8211;&#8221;</span><span>, </span><span class="string">&#8220;&#8221;</span><span>); </span></span></li>
<li><span> newEncrypted = newEncrypted.replaceAll(<span class="string">&#8220;\\s+&#8221;</span><span>, </span><span class="string">&#8220;&#8221;</span><span>); </span></span></li>
<li><span> <span class="keyword">return</span><span> newEncrypted; </span></span></li>
<li><span> } </span></li>
<li><span> </span></li>
<li><span> <span class="keyword">public</span><span> </span><span class="keyword">static</span><span> </span><span class="keyword">final</span><span> String BEGIN_LICENSE_MARKER = </span><span class="string">&#8220;&#8211;begin-aptana-license&#8211;&#8221;</span><span>; </span></span></li>
<li><span> <span class="keyword">public</span><span> </span><span class="keyword">static</span><span> </span><span class="keyword">final</span><span> String END_LICENSE_MARKER = </span><span class="string">&#8220;&#8211;end-aptana-license&#8211;&#8221;</span><span>; </span></span></li>
<li><span> <span class="keyword">private</span><span> </span><span class="keyword">static</span><span> </span><span class="keyword">final</span><span> TimeZone GMT = TimeZone.getTimeZone(</span><span class="string">&#8220;GMT&#8221;</span><span>); </span></span></li>
<li><span><span class="comment">/*    private static final String EMAILS_NON_MATCHING = &#8221;EMAILS_NON_MATCHING&#8221;;</span> </span></li>
<li><span><span class="comment"> private static final int PRO = 0;</span> </span></li>
<li><span><span class="comment"> private static final int TRIAL = 1;</span> </span></li>
<li><span><span class="comment">*/</span><span> </span></span></li>
<li><span> <span class="keyword">private</span><span> String email; </span></span></li>
<li><span> <span class="keyword">private</span><span> </span><span class="keyword">long</span><span> expiration; </span></span></li>
<li><span> <span class="keyword">private</span><span> </span><span class="keyword">int</span><span> type; </span></span></li>
<li><span>}<br />
</span></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.vikee.net/archives/238/feed</wfw:commentRss>
		</item>
		<item>
		<title>server 2003 怎样为本机添加域用户</title>
		<link>http://www.vikee.net/archives/237</link>
		<comments>http://www.vikee.net/archives/237#comments</comments>
		<pubDate>Thu, 03 Jul 2008 01:55:26 +0000</pubDate>
		<dc:creator>redhairboy</dc:creator>
		
		<category><![CDATA[资料搜集]]></category>

		<guid isPermaLink="false">http://www.vikee.net/?p=237</guid>
		<description><![CDATA[现有一台server 2003加到域后，怎样像XP一样添加为本机一个域用户？
在 本地用户和组 里，选择组，打开属性，会出来添加的界面，这是就可以添加基于域的用户了。
]]></description>
			<content:encoded><![CDATA[<p>现有一台server 2003加到域后，怎样像XP一样添加为本机一个域用户？</p>
<p>在 本地用户和组 里，选择组，打开属性，会出来添加的界面，这是就可以添加基于域的用户了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vikee.net/archives/237/feed</wfw:commentRss>
		</item>
		<item>
		<title>IE与FireFox的Javascript兼容性问题及解决</title>
		<link>http://www.vikee.net/archives/236</link>
		<comments>http://www.vikee.net/archives/236#comments</comments>
		<pubDate>Mon, 30 Jun 2008 02:38:26 +0000</pubDate>
		<dc:creator>redhairboy</dc:creator>
		
		<category><![CDATA[JavaScript&amp;AJAX]]></category>

		<guid isPermaLink="false">http://www.vikee.net/?p=236</guid>
		<description><![CDATA[
原地址：http://hi.baidu.com/thinsoft/blog/item/9d159a1bdb6939f9ae513319.html
应该采用：
document.getElementById(&#8221;apple&#8221;) 以ID来访问对象，且一个ID在页面中必须是唯一的
document.getElementsByTagName(&#8221;div&#8221;)[0] 以标签名来访问对象
1.setAttribute(string name, string value)：增加一个指定名称和值的新属性，或者把一个现有的属性设定为指定的值。
设置对象的属性则应该采用：
document.getElementById(&#8221;apple&#8221;).setAttribute(&#8221;width&#8221;,&#8221;100&#8243;)
document.getElementsByTagName(&#8221;div&#8221;)[0].setAttribute(&#8221;width&#8221;,&#8221;100&#8243;)
访问对象的属性则采用：
document.getElementById(&#8221;apple&#8221;).getAttribute(&#8221;width&#8221;)
document.getElementsByTagName(&#8221;div&#8221;)[0].getAttribute(&#8221;width&#8221;)
我们经常需要在JavaScript中给Element动态添加各种属性，这可以通过使用setAttribute()来实现，这就涉及到了浏览器的兼容性问题。
var bar = document.getElementById(&#8221;foo&#8221;);
bar.setAttribute(&#8221;onclick&#8221;, &#8220;javascript:alert(&#8217;This is a test!&#8217;);&#8221;);
这里利用setAttribute指定e的onclick属性，简单，很好理解。但是IE不支持，IE并不是不支持setAttribute这个函数，
而是不支持用setAttribute设置某些属性，例如对象属性、集合属性、事件属性，也就是说用setAttribute设置style和onclick这些属性
在IE中是行不通的。为达到兼容各种浏览器的效果，可以用点符号法来设置Element的对象属性、集合属性和事件属性。
document.getElementById(&#8221;foo&#8221;).className = &#8220;fruit&#8221;;
document.getElementById(&#8221;foo&#8221;).style.cssText = &#8220;color: #00f;&#8221;;
document.getElementById(&#8221;foo&#8221;).style.color = &#8220;#00f&#8221;;
document.getElementById(&#8221;foo&#8221;).onclick= function () { alert(&#8221;This is a test!&#8221;); }
2、关于class和className
class属性在W3C DOM中扮演着很重要的角色，但由于浏览器差异性仍然存在。使用setAttribute(&#8221;class&#8221;, vName)语句动态设置
Element的class属性在firefox中是行的通的，在IE中却不行。因为使用IE内核的浏览器不认识&#8221;class&#8221;，要改用&#8221;className&#8221;；
同样，firefox 也不认识&#8221;className&#8221;。所以常用的方法是二者兼备：
element.setAttribute(&#8221;class&#8221;, vName);
element.setAttribute(&#8221;className&#8221;, vName);    //for IE
关于IE下TABLE无法插入新行的问题
IE下TABLE无论是用innerHTML还是appendChild插入&#60;tr&#62;都没有效果，而其他浏览器却显示正常。解决他的方法是，将&#60;tr&#62;加到TABLE的&#60;tbody&#62;元素中，如下面所示：
var row = document.createElement(&#8221;tr&#8221;);
var cell = document.createElement(&#8221;td&#8221;);
var cell_text = document.createTextNode(&#8221;香蕉不吃苹果&#8221;);
cell.appendChild(cell_text);
row.appendChild(cell);
document.getElementsByTagName(&#8221;tbody&#8221;)[0].appendChild(row);
window.event
IE：有window.event对象
FF：没有window.event对象。可以通过给函数的参数传递event对象。如onmousemove=doMouseMove(event)
鼠标当前坐标
IE：event.x和event.y。
FF：event.pageX和event.pageY。
通用：两者都有event.clientX和event.clientY属性。
鼠标当前坐标(加上滚动条滚过的距离)
IE：event.offsetX和event.offsetY。
FF：event.layerX和event.layerY。
标签的x和y的坐标位置：style.posLeft 和 style.posTop
IE：有。
FF：没有。
通用：object.offsetLeft 和 object.offsetTop。
窗体的高度和宽度
IE：document.body.offsetWidth和document.body.offsetHeight。注意：此时页面一定要有body标签。
FF：window.innerWidth和window.innerHegiht，以及document.documentElement.clientWidth和document.documentElement.clientHeight。
通用：document.body.clientWidth和document.body.clientHeight。
添加事件
IE：element.attachEvent(&#8221;onclick&#8221;, func);。
FF：element.addEventListener(&#8221;click&#8221;, func, true)。
通 用：element.onclick=func。虽然都可以使用onclick事件，但是onclick和上面两种方法的效果是不一样的， onclick只有执行一个过程，而attachEvent和addEventListener执行的是一个过程列表，也就是多个过程。例如： element.attachEvent(&#8221;onclick&#8221;, func1);element.attachEvent(&#8221;onclick&#8221;, [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>原地址：<a href="http://hi.baidu.com/thinsoft/blog/item/9d159a1bdb6939f9ae513319.html" target="_blank">http://hi.baidu.com/thinsoft/blog/item/9d159a1bdb6939f9ae513319.html</a></p>
<p>应该采用：<br />
document.getElementById(&#8221;apple&#8221;) 以ID来访问对象，且一个ID在页面中必须是唯一的<br />
document.getElementsByTagName(&#8221;div&#8221;)[0] 以标签名来访问对象</p>
<p>1.setAttribute(string name, string value)：增加一个指定名称和值的新属性，或者把一个现有的属性设定为指定的值。</p>
<p>设置对象的属性则应该采用：<br />
document.getElementById(&#8221;apple&#8221;).setAttribute(&#8221;width&#8221;,&#8221;100&#8243;)<br />
document.getElementsByTagName(&#8221;div&#8221;)[0].setAttribute(&#8221;width&#8221;,&#8221;100&#8243;)<br />
访问对象的属性则采用：<br />
document.getElementById(&#8221;apple&#8221;).getAttribute(&#8221;width&#8221;)<br />
document.getElementsByTagName(&#8221;div&#8221;)[0].getAttribute(&#8221;width&#8221;)</p>
<p>我们经常需要在JavaScript中给Element动态添加各种属性，这可以通过使用setAttribute()来实现，这就涉及到了浏览器的兼容性问题。<br />
var bar = document.getElementById(&#8221;foo&#8221;);<br />
bar.setAttribute(&#8221;onclick&#8221;, &#8220;javascript:alert(&#8217;This is a test!&#8217;);&#8221;);<br />
这里利用setAttribute指定e的onclick属性，简单，很好理解。但是IE不支持，IE并不是不支持setAttribute这个函数，<br />
而是不支持用setAttribute设置某些属性，例如对象属性、集合属性、事件属性，也就是说用setAttribute设置style和onclick这些属性<br />
在IE中是行不通的。为达到兼容各种浏览器的效果，可以用点符号法来设置Element的对象属性、集合属性和事件属性。<br />
document.getElementById(&#8221;foo&#8221;).className = &#8220;fruit&#8221;;<br />
document.getElementById(&#8221;foo&#8221;).style.cssText = &#8220;color: #00f;&#8221;;<br />
document.getElementById(&#8221;foo&#8221;).style.color = &#8220;#00f&#8221;;<br />
document.getElementById(&#8221;foo&#8221;).onclick= function () { alert(&#8221;This is a test!&#8221;); }<br />
2、关于class和className<br />
class属性在W3C DOM中扮演着很重要的角色，但由于浏览器差异性仍然存在。使用setAttribute(&#8221;class&#8221;, vName)语句动态设置<br />
Element的class属性在firefox中是行的通的，在IE中却不行。因为使用IE内核的浏览器不认识&#8221;class&#8221;，要改用&#8221;className&#8221;；<br />
同样，firefox 也不认识&#8221;className&#8221;。所以常用的方法是二者兼备：<br />
element.setAttribute(&#8221;class&#8221;, vName);<br />
element.setAttribute(&#8221;className&#8221;, vName);    //for IE</p>
<p>关于IE下TABLE无法插入新行的问题<br />
IE下TABLE无论是用innerHTML还是appendChild插入&lt;tr&gt;都没有效果，而其他浏览器却显示正常。解决他的方法是，将&lt;tr&gt;加到TABLE的&lt;tbody&gt;元素中，如下面所示：</p>
<p>var row = document.createElement(&#8221;tr&#8221;);<br />
var cell = document.createElement(&#8221;td&#8221;);<br />
var cell_text = document.createTextNode(&#8221;香蕉不吃苹果&#8221;);<br />
cell.appendChild(cell_text);<br />
row.appendChild(cell);<br />
document.getElementsByTagName(&#8221;tbody&#8221;)[0].appendChild(row);<br />
window.event</p>
<p>IE：有window.event对象<br />
FF：没有window.event对象。可以通过给函数的参数传递event对象。如onmousemove=doMouseMove(event)</p>
<p>鼠标当前坐标<br />
IE：event.x和event.y。<br />
FF：event.pageX和event.pageY。<br />
通用：两者都有event.clientX和event.clientY属性。</p>
<p>鼠标当前坐标(加上滚动条滚过的距离)<br />
IE：event.offsetX和event.offsetY。<br />
FF：event.layerX和event.layerY。</p>
<p>标签的x和y的坐标位置：style.posLeft 和 style.posTop<br />
IE：有。<br />
FF：没有。<br />
通用：object.offsetLeft 和 object.offsetTop。</p>
<p>窗体的高度和宽度<br />
IE：document.body.offsetWidth和document.body.offsetHeight。注意：此时页面一定要有body标签。<br />
FF：window.innerWidth和window.innerHegiht，以及document.documentElement.clientWidth和document.documentElement.clientHeight。<br />
通用：document.body.clientWidth和document.body.clientHeight。</p>
<p>添加事件<br />
IE：element.attachEvent(&#8221;onclick&#8221;, func);。<br />
FF：element.addEventListener(&#8221;click&#8221;, func, true)。<br />
通 用：element.onclick=func。虽然都可以使用onclick事件，但是onclick和上面两种方法的效果是不一样的， onclick只有执行一个过程，而attachEvent和addEventListener执行的是一个过程列表，也就是多个过程。例如： element.attachEvent(&#8221;onclick&#8221;, func1);element.attachEvent(&#8221;onclick&#8221;, func2)这样func1和func2都会被执行。</p>
<p>标签的自定义属性<br />
IE：如果给标签div1定义了一个属性value，可以div1.value和div1["value"]取得该值。<br />
FF：不能用div1.value和div1["value"]取。<br />
通用：div1.getAttribute(&#8221;value&#8221;)。</p>
<p>父节点、子节点和删除节点<br />
IE：parentElement、parement.children，element.romoveNode(true)。<br />
FF：parentNode、parentNode.childNodes，node.parentNode.removeChild(node)。</p>
<p>CSS：透明<br />
IE：filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=60)。<br />
FF：opacity:0.6。</p>
<p>设置CSS 的STYLE<br />
document.getElementById(&#8217;look&#8217;).style.cssText=&#8221;display:none;&#8221;;//通用<br />
document.getElementById(&#8217;look&#8217;).setAttribute(&#8221;style&#8221;,&#8221;display:none;&#8221;);//firefox</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.vikee.net/archives/236/feed</wfw:commentRss>
		</item>
		<item>
		<title>如何在Web页面上直接打开、编辑、创建Office文档</title>
		<link>http://www.vikee.net/archives/235</link>
		<comments>http://www.vikee.net/archives/235#comments</comments>
		<pubDate>Tue, 13 May 2008 07:28:17 +0000</pubDate>
		<dc:creator>redhairboy</dc:creator>
		
		<category><![CDATA[资料搜集]]></category>

		<guid isPermaLink="false">http://www.vikee.net/archives/235</guid>
		<description><![CDATA[有朋友询问如何在Web页面上做到像SharePoint中的效果一样，能直接激活客户端的Word来打开.doc文件，而不是类似直接点击.doc文档链接时Word在IE中被打开那样。想想这个问题应该很多人都会感兴趣，所以干脆写一篇blog来大致描述一下方法。
在安装Office2003以后，有一个ActiveX控件被安装到了系统中，这个控件位于“Program Files\Microsoft Office\OFFICE11\owssupp.dll”。通过这个控件，客户端页面上的JavaScript就可以激活本地的Office软件，来实 现打开、编辑Office文档。（另，Office XP应该就已经包含这个ActiveX控件了。）
首先，用Script创建一个本地的对象：
openDocObj = new ActiveXObject(&#8221;SharePoint.OpenDocuments.2&#8243;); // 为了兼容Office XP，可以创建“SharePoint.OpenDocuments.1”
然后，调用openDocObj的相应的方法。比如打开服务器上的一个Office文档：
openDocObj.ViewDocument(&#8221;http://www.abc.com/documents/sample.doc&#8221;);
openDocObj对象会根据参数中不同的Office文档类型（.doc、.xls、.ppt）来打开不同的程序（Word、Excel、PowerPoint）。ViewDocument()方法还有一个重载签名，可以让我们手工指定激活哪个程序来打开文档：
openDocObj.ViewDocument(&#8221;http://www.abc.com/documents/sample.doc&#8220;, 要激活的程序的ProgID);
那么要打开Office程序在线编辑文件又如何？
openDocObj.EditDocument(&#8221;http://www.abc.com/documents/sample.doc&#8220;);
就可以直接激活Word，在Word里面编辑文档，然后直接点击Word里面的保存功能，就可以将文件保存会服务器上了。注意：为了让Word能将 编辑后的文档直接保存会服务器，访问Web站点的当前上下文的Windows Identity必须对服务器的相应目录（即“http://www.abc.com/documents”这个虚拟目录所对应的服务器上的物理路径）有 相应的写权限，否则保存动作会失败。编辑完成后，EditDocument()会返回一个bool值，来反映编辑操作是否成功。
我们还可以通过打开服务器上的一个文档模版，来创建一个新的文档：
openDocObj.CreateNewDocument(&#8221;http://www.abc.com/documents/sampleTemplate.dot&#8220;, &#8220;http://www.abc.com/documents/&#8220;);
就可以使用“http://www.abc.com/documents/sampleTemplate.dot”这个模版来创建一个新的文档，默 认新文档的保存地点是“http://www.abc.com/documents/”。创建新文档时使用的程序取决于模版文件的类型（比如.dot模版 会对应Word）。新文档的保存同样需要注意权限问题。CreateNewDocument()方法同样会返回一个bool值来反映操作是否成功。
CreateNewDocument()方法的第一个参数，除了可以使用一个模版的地址外，还可以直接指定为希望用来创建新文档的客户端程序的ProgID。
]]></description>
			<content:encoded><![CDATA[<p>有朋友询问如何在Web页面上做到像SharePoint中的效果一样，能直接激活客户端的Word来打开.doc文件，而不是类似直接点击.doc文档链接时Word在IE中被打开那样。想想这个问题应该很多人都会感兴趣，所以干脆写一篇blog来大致描述一下方法。</p>
<p>在安装Office2003以后，有一个ActiveX控件被安装到了系统中，这个控件位于“Program Files\Microsoft Office\OFFICE11\owssupp.dll”。通过这个控件，客户端页面上的JavaScript就可以激活本地的Office软件，来实 现打开、编辑Office文档。（另，Office XP应该就已经包含这个ActiveX控件了。）</p>
<p>首先，用Script创建一个本地的对象：</p>
<p><font color="#0000ff">openDocObj = new ActiveXObject(&#8221;SharePoint.OpenDocuments.2&#8243;); // 为了兼容Office XP，可以创建“SharePoint.OpenDocuments.1”</font></p>
<p>然后，调用openDocObj的相应的方法。比如打开服务器上的一个Office文档：</p>
<p><font color="#0000ff">openDocObj.ViewDocument(&#8221;<a href="http://www.abc.com/documents/sample.doc"><font color="#0000ff">http://www.abc.com/documents</font></a>/sample.doc&#8221;);</font></p>
<p>openDocObj对象会根据参数中不同的Office文档类型（.doc、.xls、.ppt）来打开不同的程序（Word、Excel、PowerPoint）。ViewDocument()方法还有一个重载签名，可以让我们手工指定激活哪个程序来打开文档：</p>
<p><font color="#0000ff">openDocObj.ViewDocument(&#8221;</font><a href="http://www.abc.com/documents/sample.doc"><font color="#0000ff">http://www.abc.com/documents/sample.doc</font></a><font color="#0000ff">&#8220;, 要激活的程序的ProgID);</font></p>
<p>那么要打开Office程序在线编辑文件又如何？</p>
<p><font color="#0000ff">openDocObj.EditDocument(&#8221;</font><a href="http://www.abc.com/documents/sample.doc"><font color="#0000ff">http://www.abc.com/documents/sample.doc</font></a><font color="#0000ff">&#8220;);</font></p>
<p>就可以直接激活Word，在Word里面编辑文档，然后直接点击Word里面的保存功能，就可以将文件保存会服务器上了。注意：为了让Word能将 编辑后的文档直接保存会服务器，访问Web站点的当前上下文的Windows Identity必须对服务器的相应目录（即“http://www.abc.com/documents”这个虚拟目录所对应的服务器上的物理路径）有 相应的写权限，否则保存动作会失败。编辑完成后，EditDocument()会返回一个bool值，来反映编辑操作是否成功。</p>
<p>我们还可以通过打开服务器上的一个文档模版，来创建一个新的文档：</p>
<p><font color="#0000ff">openDocObj.CreateNewDocument(&#8221;</font><a href="http://www.abc.com/documents/sampleTemplate.dot"><font color="#0000ff">http://www.abc.com/documents/sampleTemplate.dot</font></a><font color="#0000ff">&#8220;, &#8220;</font><a href="http://www.abc.com/documents/"><font color="#0000ff">http://www.abc.com/documents/</font></a><font color="#0000ff">&#8220;);</font></p>
<p>就可以使用“http://www.abc.com/documents/sampleTemplate.dot”这个模版来创建一个新的文档，默 认新文档的保存地点是“http://www.abc.com/documents/”。创建新文档时使用的程序取决于模版文件的类型（比如.dot模版 会对应Word）。新文档的保存同样需要注意权限问题。CreateNewDocument()方法同样会返回一个bool值来反映操作是否成功。</p>
<p>CreateNewDocument()方法的第一个参数，除了可以使用一个模版的地址外，还可以直接指定为希望用来创建新文档的客户端程序的ProgID。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vikee.net/archives/235/feed</wfw:commentRss>
		</item>
		<item>
		<title>经典老歌：玫瑰人生</title>
		<link>http://www.vikee.net/archives/234</link>
		<comments>http://www.vikee.net/archives/234#comments</comments>
		<pubDate>Wed, 07 May 2008 02:19:00 +0000</pubDate>
		<dc:creator>redhairboy</dc:creator>
		
		<category><![CDATA[心情故事]]></category>

		<guid isPermaLink="false">http://www.vikee.net/archives/234</guid>
		<description><![CDATA[法国电影《两小无猜》 的插曲
Des yeux qui font baiser les miens 他的双唇吻我的眼
Un rire qui se perd sur sa bouche  嘴边掠过他的笑影
Voila le portrait sans retouche    这就是他最初的形象
De l’homme auquel j’appartiens   这个男人，我属于他
Quand il me prend dans ses bras   当他拥我入怀
Je vois la vie en rose          [...]]]></description>
			<content:encoded><![CDATA[<p>法国电影《两小无猜》 的插曲</p>
<p>Des yeux qui font baiser les miens 他的双唇吻我的眼<br />
Un rire qui se perd sur sa bouche  嘴边掠过他的笑影<br />
Voila le portrait sans retouche    这就是他最初的形象<br />
De l’homme auquel j’appartiens   这个男人，我属于他</p>
<p>Quand il me prend dans ses bras   当他拥我入怀<br />
Je vois la vie en rose            我看见玫瑰色的人生<br />
ll me dit des mots d’amour       他对我说爱的言语<br />
Des mots de tous les jours        天天有说不完的情话<br />
Et ca me fait quelque chose       这对我来说可不一般<br />
ll est entre dans mon coeur       一股幸福的暖流<br />
Une part de bonheur               流进我心扉<br />
Dont je connais la cause          我清楚它来自何方</p>
<p>C’est lui pour moi              这就是你为了我<br />
Moi pour lui                     我为了你<br />
Dans la vie                      在生命长河里<br />
ll me l’a dit,l’a jure         他对我这样说，这样起誓<br />
Pour la vie                      以他的生命<br />
Des que je l’apercois           当我一想到这些<br />
Alors je me sens en moi          我便感觉到体内<br />
Mon coeur qui bat               心在跳跃</p>
<p>Des nuits d’amour plus finir       爱的夜永不终结<br />
Un grand bonheur qui prend sa place 幸福悠长代替黑夜<br />
Les ennuis,les chagrins trepassent  烦恼忧伤全部消失<br />
Heureux,heureux a en mourir         幸福，幸福一生直到死</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vikee.net/archives/234/feed</wfw:commentRss>
		</item>
		<item>
		<title>不要为明天忧虑</title>
		<link>http://www.vikee.net/archives/233</link>
		<comments>http://www.vikee.net/archives/233#comments</comments>
		<pubDate>Tue, 06 May 2008 06:00:06 +0000</pubDate>
		<dc:creator>redhairboy</dc:creator>
		
		<category><![CDATA[心情故事]]></category>

		<guid isPermaLink="false">http://www.vikee.net/archives/233</guid>
		<description><![CDATA[Therefore do not worry about tomorrow, for tomorrow will worry about itself. Each day has enough trouble of its own.
所以不要为明天忧虑。因为明天自有明天的忧虑。一天的难处一天当就够了。
&#60;马太福音&#62;
]]></description>
			<content:encoded><![CDATA[<p>Therefore do not worry about tomorrow, for tomorrow will worry about itself. Each day has enough trouble of its own.</p>
<p>所以不要为明天忧虑。因为明天自有明天的忧虑。一天的难处一天当就够了。</p>
<p>&lt;马太福音&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vikee.net/archives/233/feed</wfw:commentRss>
		</item>
		<item>
		<title>电影《颐和园》</title>
		<link>http://www.vikee.net/archives/232</link>
		<comments>http://www.vikee.net/archives/232#comments</comments>
		<pubDate>Sat, 23 Feb 2008 06:29:34 +0000</pubDate>
		<dc:creator>redhairboy</dc:creator>
		
		<category><![CDATA[资料搜集]]></category>

		<guid isPermaLink="false">http://www.vikee.net/archives/232</guid>
		<description><![CDATA[有一种东西，它会在某个夏天的夜晚像风一样突然袭来，让你措不及防，无法安宁，与你形影相随，挥之不去，我不知道那是什么，只能称它为爱情。
There is something , that comes suddenly like a wind on a warm summer&#8217;s evening. It takes you off guard , and leaves you without peace. It follews you like a shadow , and it&#8217;s impossible to shake. I don&#8217;t know what it is , so I can only call it love.
选自电影《颐和园》（Summer palace）
]]></description>
			<content:encoded><![CDATA[<p>有一种东西，它会在某个夏天的夜晚像风一样突然袭来，让你措不及防，无法安宁，与你形影相随，挥之不去，我不知道那是什么，只能称它为爱情。</p>
<p>There is something , that comes suddenly like a wind on a warm summer&#8217;s evening. It takes you off guard , and leaves you without peace. It follews you like a shadow , and it&#8217;s impossible to shake. I don&#8217;t know what it is , so I can only call it love.</p>
<p>选自电影《颐和园》（Summer palace）</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vikee.net/archives/232/feed</wfw:commentRss>
		</item>
		<item>
		<title>在线配色设计调色板工具</title>
		<link>http://www.vikee.net/archives/231</link>
		<comments>http://www.vikee.net/archives/231#comments</comments>
		<pubDate>Fri, 22 Feb 2008 08:30:21 +0000</pubDate>
		<dc:creator>redhairboy</dc:creator>
		
		<category><![CDATA[资料搜集]]></category>

		<guid isPermaLink="false">http://www.vikee.net/archives/231</guid>
		<description><![CDATA[http://www.wellstyled.com/
]]></description>
			<content:encoded><![CDATA[<p>http://www.wellstyled.com/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vikee.net/archives/231/feed</wfw:commentRss>
		</item>
		<item>
		<title>经典语录</title>
		<link>http://www.vikee.net/archives/230</link>
		<comments>http://www.vikee.net/archives/230#comments</comments>
		<pubDate>Tue, 19 Feb 2008 15:17:19 +0000</pubDate>
		<dc:creator>redhairboy</dc:creator>
		
		<category><![CDATA[资料搜集]]></category>

		<guid isPermaLink="false">http://www.vikee.net/archives/230</guid>
		<description><![CDATA[
第一回：1、好像有人说过，不要选择自己最喜欢的人作为结婚对象，而是要选择第二喜欢的人比较好。交往的人在自己的人生中是否排第二位，有人能明白这一点 吗？但是能肯定的是，当失去世界上最爱的那个人的那一瞬间，这个人就明白了这一点。2、人们总是在事情结束的时候才会察觉到事实的真相。
第二回：如果你不知道她生气的原因的话，就连像样的后悔都做不到。
第三回：人们一发生不顺的事情，就会归罪于“没想到”或是“偶然”这些词汇，这是很不好的习惯。
第四回：真正不可原谅的不是过去没有做好的我，而是现在知道错了却什么都改变不了的我。
第五回：1、所谓“人”，就是当事情进行的不顺利的时候，就找理由的生物。状况或是时机，天气或是运气，找各式各样的理由来安慰自己，想着“不应该是这样 的”或者“能重新来过就好了”之类的。重新来过的话就真的能做好吗？第一次如果做不好的话，又从哪里来的自信在第二次能做好呢。2、不要让自己后悔，老想 着还有明天，会吃到苦头的。总是说明天再做的人是愚蠢的。
第六回：1、连尝试都没有，就亲手把奇迹之门关上的人，是不可能等到幸福的降临的。2、所谓恋爱，只不过是自己一个人自以为是，即使这样想，无法凭着自己的真心采取行动，也是因为喜欢对方的关系吧。
第七回：你连试都没试过怎么知道不可以？！为什么眼睁睁看着机会溜走？！不要事到如今才害怕被三振出局，至少要抱着会打出全垒打的心情被三振阿！就算她不能体会你的帅气也没关系，像平常那样去做吧。
第八回：1、是要不怕失败再次站起来呢，或是汲取教训选择其他的路呢，还是继续哀叹自己的不幸呢？2、年龄大了，自然就会消失很多的东西，有很多不要太勉 强的事情啊，没有必要做的事情，会有很多；没有意义啊，麻烦阿，一句话就打发了的事情，今后会出现很多。但是，记忆阿，回忆阿，这样的东西，会很让人珍惜 的。
第九回：不觉得“本来就不行”是句好话吗？正因为本来就不行，获得偶然的成功的话，人生才有趣。就算失败也是理所当然，万一成功了就是男儿好汉。
第十回：1、起死回生的逆转全垒打，不是谁都能击出的。首先理所当然的，必须具备击出全垒打得实力。再者，更重要的是，能不能在逆转的紧要关头站上打席。 2、无论如何都想改变命运，唯有这样持续祈祷方能开启奇迹之门。打开那道门的钥匙就在你心中，只是你没注意到罢了。3、那么小的时候说的出口的话，年龄越 是增长越说不出口。爱的越深越重，就变得越是遥远。
第十一回：1、跟失败比起来，根本没有做的后悔会痛苦好几倍。2、比起感叹过去的现在，改变现在，面向未来的意志才是最重要的。
]]></description>
			<content:encoded><![CDATA[<p><span class="tpc_content"></span></p>
<p>第一回：1、好像有人说过，不要选择自己最喜欢的人作为结婚对象，而是要选择第二喜欢的人比较好。交往的人在自己的人生中是否排第二位，有人能明白这一点 吗？但是能肯定的是，当失去世界上最爱的那个人的那一瞬间，这个人就明白了这一点。2、人们总是在事情结束的时候才会察觉到事实的真相。<br />
第二回：如果你不知道她生气的原因的话，就连像样的后悔都做不到。<br />
第三回：人们一发生不顺的事情，就会归罪于“没想到”或是“偶然”这些词汇，这是很不好的习惯。<br />
第四回：真正不可原谅的不是过去没有做好的我，而是现在知道错了却什么都改变不了的我。<br />
第五回：1、所谓“人”，就是当事情进行的不顺利的时候，就找理由的生物。状况或是时机，天气或是运气，找各式各样的理由来安慰自己，想着“不应该是这样 的”或者“能重新来过就好了”之类的。重新来过的话就真的能做好吗？第一次如果做不好的话，又从哪里来的自信在第二次能做好呢。2、不要让自己后悔，老想 着还有明天，会吃到苦头的。总是说明天再做的人是愚蠢的。<br />
第六回：1、连尝试都没有，就亲手把奇迹之门关上的人，是不可能等到幸福的降临的。2、所谓恋爱，只不过是自己一个人自以为是，即使这样想，无法凭着自己的真心采取行动，也是因为喜欢对方的关系吧。<br />
第七回：你连试都没试过怎么知道不可以？！为什么眼睁睁看着机会溜走？！不要事到如今才害怕被三振出局，至少要抱着会打出全垒打的心情被三振阿！就算她不能体会你的帅气也没关系，像平常那样去做吧。<br />
第八回：1、是要不怕失败再次站起来呢，或是汲取教训选择其他的路呢，还是继续哀叹自己的不幸呢？2、年龄大了，自然就会消失很多的东西，有很多不要太勉 强的事情啊，没有必要做的事情，会有很多；没有意义啊，麻烦阿，一句话就打发了的事情，今后会出现很多。但是，记忆阿，回忆阿，这样的东西，会很让人珍惜 的。<br />
第九回：不觉得“本来就不行”是句好话吗？正因为本来就不行，获得偶然的成功的话，人生才有趣。就算失败也是理所当然，万一成功了就是男儿好汉。<br />
第十回：1、起死回生的逆转全垒打，不是谁都能击出的。首先理所当然的，必须具备击出全垒打得实力。再者，更重要的是，能不能在逆转的紧要关头站上打席。 2、无论如何都想改变命运，唯有这样持续祈祷方能开启奇迹之门。打开那道门的钥匙就在你心中，只是你没注意到罢了。3、那么小的时候说的出口的话，年龄越 是增长越说不出口。爱的越深越重，就变得越是遥远。<br />
第十一回：1、跟失败比起来，根本没有做的后悔会痛苦好几倍。2、比起感叹过去的现在，改变现在，面向未来的意志才是最重要的。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.vikee.net/archives/230/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
