205个日夜-纪念我的爷爷

2006年06月23日 10:27 上午  |  分类:笔记本子

运行代码

return 205

一晃
今天是2006年6月23日
从您离开我的那一天起到今天止
已是205天了
205个日夜
我无时无刻在想念着您

昨天我去看您了
想起以前和您在一起的每一分每一秒
我现在都倍感亲切
觉得您一直在我的身边

如果时光可以倒流
我一定会好好陪着您
并加倍珍惜我们在一起的日子
您知道吗
在我心里留下了多少遗憾……

想着想着
我哭了
奶奶说:别哭了,人都是会走那一步的
想起您生前的好
想起您对我的关爱
我好想挽留住您
但这一切终究无法实现
所以
我只能将您永远的挽留在我的心里!

205天了
您在天堂过得好吗?
您生前最爱养花
我捎给您的花您收到了吗?
您在天堂过得好吗?
一定没有承受生前所受的痛苦
我会经常回去看您…

遭遇流氓插件”天下搜索”

2006年06月19日 9:35 下午  |  分类:笔记本子

晚上回家用ie开了一个站
不知道点到哪了
突然弹出一个什么天下搜索
当时没注意
结果
再打开IE时巨慢
打开后一看被装了一个”天下搜索”toolbar

平生最痛恨诸如3721之类的流氓软件
打开控制面板进行卸载
可是点了半天的删除却没有任何反应

也是
如果能轻易卸载还能是流氓软件么

google了一下
发现有朋友同我一样碰到同样的问题
按照他提供的方法

经过1小时的激烈交火,总算把它kill了。而且我还提升了经验:C:\WINDOWS\Downloaded Program Files下的文件必须在命令行才看得到。诶,不要问我为什么不去他们网站看看怎么卸载,哈哈,你自己装上试试就明白了^_^


删掉所有文件

再打开IE
流氓被赶走

最后这个流氓站的主页是
http://www.t2t2.com
我是没那能耐,不然真想黑掉他们的主机
简直一流氓啊!

谢谢这位朋友:
http://www.0×54.org/blog/article.asp?id=33

收藏的FireFox扩展

2006年06月19日 2:48 下午  |  分类:笔记本子

现在越来越喜欢用FireFox了
虽然占用了大量的内存
但丝毫不影响我对它的钟爱
现在在试着学习web 2.0/ajax等
ff下的一些扩展对这些是很有帮助的
如:
JSView
在右键关联菜单中集成选项,查看网页中 javascripts 的扩展。

http://addons.mozine.org/firefox/316/

Web Developer
这是一个很强的工具哟,在菜单和工具栏加上多种网页开发工具。
http://addons.mozine.org/firefox/32/

Fasterfox
Firefox 性能和网络优化。
http://addons.mozine.org/firefox/88/

Search Status
显示网站alexa/pr值的扩展
http://www.quirk.biz/searchstatus/

大家有好的扩展也可以与我们一起分享,该日志将不断更新!

Blog Calendar解决方案

2006年06月19日 10:49 上午  |  分类:Develop

在blog上发过几篇关于Calendar的文章
一直没有找到比较好的解决的方法
最近一次是将一个月以来的数据存入Cache中,然后对DataView进行RowFilter,查询出每一天的日志数
根据日志数给出日历上的链接
虽然这样可以在某程度上提高数据的可用性
但这样的数据调用还是同步的
只有异步才能真正提高其性能
于是最终还是想到用XmlHttpRequest来解决
谁让它现在这么火呢?

于是写了一个Calendar.html文件
该文件用的还是.net 内置的calendar控件,也曾想过自己写一个,但感觉有点麻烦,所以放弃了.
这个页面的完成是很简单的,数据的调用也在前面讲过.

现在的问题就是要在其它的页面中用XmlHttpRequest来获取这个日历了
代码很简单:

var objRequest;

function getCalendar()
{
try
{
objRequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
objRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(oc)
{
objRequest=null;
}
}

if(!objRequest&&typeof XMLHttpRequest!="undefined")
{objRequest=new XMLHttpRequest();}
var url="calendar.aspx";
if(objRequest!=null)
{
objRequest.onreadystatechange = Process;
objRequest.open("GET",url,true);
objRequest.send(null);
}
}

function Process()
{
var objWeather = document.getElementById("CalendarMain");
//收到完整的服务器响应
if(objRequest.readyState == 1){
objWeather.innerHTML = "正在加载...."
}
else if(objRequest.readyState == 2){
objWeather.innerHTML = "已加载...."
}
else if(objRequest.readyState == 3){
objWeather.innerHTML = "交互中...."

}
else if(objRequest.readyState == 4){
//HTTP服务器响应值成功
if(objRequest.status == 200){
//将服务器返回的字符串写到页面中ID为showdiv的区域
var response = objRequest.responseText;

if(matchValue = response.match(/<table.*?>[\s\S]*<\/table>/i))
response = matchValue;

objWeather.innerHTML = response;
}
else{
objWeather.innerHTML = "Error:"+objRequest.statusText;
}
}
}

//
//getCalendar();

这里要注意这一行:
if(matchValue = response.match(/<table.*?>[\s\S]*<\/table>/i))
为什么要这样做呢?
Calendar.html的源代码是

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head><title>
无标题页
</title></head>
<body>
<form name="form1" method="post" action="calendar.aspx" id="form1">
<div>
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTE3NTY0MTAxNzJkZHrMIH1SM8CifbXXutpI8WwLDfBf" />
</div>

<script type="text/javascript">
<!--
var theForm = document.forms['form1'];
if (!theForm) {
theForm = document.form1;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
// -->

</script>

<div>
<table id="Calendar1" cellspacing="0" cellpadding="2" rules="all" title="Calendar" border="1" style="width:220px;height:200px;font-size:8pt;font-family:Verdana;color:#663399;
border-width:1px;border-style:solid;border-color:Transparent;background-color:Transparent;
border-collapse:collapse;">
.............
</table>
</div>

<div>

<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWKwLEy+j+DgLJ0+9KAqTp8dMDAqTp7Y4LAq
Tp2akMAqTptcUFAqTpoeAOAqTpnZsGAqTpibYPAqTp5VECpOmRu
gUCpOmN1Q4Cn4af/gkCn4aLmQECn4bntAoCn4bT7wMCn4bPigsCn
4a7pgwCn4aXwQUCn4aD/A4Cn4a/xQMCn4ar4AQC+p+9iQYC+p+ppA
8C+p+FXwL6n/H6CQL6n+2VAQL6n9mwCgL6n7XsAwL6n6GHCwL6n93vC
QL6n8mKAQLVtNuTDALVtLfPBQLVtKPqDgLVtJ+FBgLVtIugDwLVtOdbA
tW00/YJAtW0z5EBAtW0+/oHAtW015UPAuDem9IF3AUmKv0tB+jLb53MqAgivmduZSE=" />
</div></form>
</body>
</html>

因为Calendar.html中的日历用的是.net控件,而这个控件是要放在<form runat=Server>中的,而在一个.aspx文件中,只能含有一个
<form Runat="server">,如果不进行处理直接取出response的话,那调用这段代码的.aspx文件必然会出错,于是这里必须处理一下,只取
出源代码中的<table></table>部分为我所用.
到此,blog的日历得到进一步解决