Archive

Archive for June 4th, 2009

Recently, the reasons for the blocked website

June 4th, 2009 Leon Tsang No comments

看到我订阅的 华尔街中文日报 的新闻邮件, 里面新闻 美国要求中国公布天安门事件详情 的最后一段为:

政府采取严密的保安措施在人们的普遍预料之中。在中国的政治日历上,6月4日作为天安门广场示威活动的周年纪念日是最为敏感的日子。最近几天,政府已经阻 止了包括《亚洲华尔街日报》在内一些外国报纸的发行,这些报纸的发行此前也存在限制。政府似乎还屏蔽了包括Twitter Inc.在内的一些可能会有敏感内容的网站。

告诉了我们, 国内最近大规模屏蔽国外所有受欢迎网站的原因, 虽然想我这样长期上网的人, 早在8,9年前就通过真实录像了解了一些关于天安门事件的始末, 但显然许多不爱上网或只知道聊QQ的大部分群众还是不明真相的.

应该是为了避免这部分群众从相关网站了解到6.4纪念日这预想到来的抗议高潮中了解到不利于政府进行愚民统治的信息, 所以才会屏蔽掉以前看似很和谐的 flickr.com twitter.com 等利于信息快速传播的网站, 估计等过一个月后风平浪静就会重新允许大家自己访问这些网站了.

刚用 google.com 搜索 天安门 结果不出意外, 这个单词被屏蔽了, 显示出页面错误. 不过没关系, 咱用代理再次搜索直接搜索 天安门事件 , 得到以下图片并保持到我的 flickr 中, 部分图片有些血腥请慎入, 更血腥的没有上传(难辨真伪)…


Read more…

merge table cells using javascript

June 4th, 2009 Leon Tsang No comments

天啦, 我都快哭了, 为了完美生成一个报表, 最后需要合并表格中部分单元格, 最开始我是想用 php 的二维数组存储所有单元格内容后来比较相同项, 不过在折腾了2个多小时后, 我被多重循环递归给弄崩溃了, 生成的表格样式越来越混乱.

不得已, 只好出动百度搜索找到 javascript 多个实例, 结果我复制粘贴后根本就无法运行, 最后在 CSDN.net 上找回我以前的账户密码并登陆后下载了一个所谓的 javascript万能table合并单元格, 看在其牛X的名字上我就姑且一试, 其源代码如下:

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”
“http://www.w3.org/TR/html4/loose.dtd”>
<html>
<head>
<title></title>
</head>
<body>
<script type=”text/javascript”>
function uniteTdCells(tableId){
var table = document.getElementById(tableId);
for(i=0;i<table.rows.length;i++){
for(c=0;c<table.rows[i].cells.length;c++){
if(c==0||c==1||c==2||c==3)            //选择要合并的列序数,去掉默认全部合并
for(j=i+1;j<table.rows.length;j++){
var cell1=table.rows[i].cells[c].innerHTML;
var cell2=table.rows[j].cells[c].innerHTML;
if(cell1==cell2){
table.rows[j].cells[c].style.display=’none’;
table.rows[i].cells[c].rowSpan++;
} else break;                        }
}       }    }
function closeTD(id){
var table = document.getElementById(id);
for(i=0;i<table.rows.length;i++){
for(c=0;c<table.rows[i].cells.length;c++){
if(c==1||c==2)
if(table.rows[i].cells[c].style.display==’none’)
table.rows[i].cells[c].style.display=’block’;
else if(table.rows[i].cells[c].style.display==’block’||table.rows[i].cells[c].style.display==”)
table.rows[i].cells[c].style.display=’none’;
}
}            }
</script>
<table border=”1″ id=”dd”>
<tr><td>1</td><td>3</td><td>5</td><td>1</td></tr>
<tr><td>1</td><td>3</td><td>5</td><td>1</td></tr>
<tr><td>2</td><td>3</td><td>8</td><td>1</td></tr>
<tr><td>2</td><td>4</td><td>8</td><td>3</td></tr>
<tr><td>2</td><td>3</td><td>3</td><td>4</td></tr>
<tr><td>2</td><td>3</td><td>3</td><td>4</td></tr>
<tr><td>2</td><td>4</td><td>8</td><td>4</td></tr>
<tr><td>2</td><td>4</td><td>8</td><td>4</td></tr>
</table>
<input type=”button” value=”合并” onclick=”uniteTdCells(‘dd’)”>
<input type=”button” value=”隐藏/显示列” onclick=”closeTD(‘dd’)”>
<input type=”button” value=”刷新” onclick=”location.href=’uniteCells.html’”>
</body>
</html>

测试结果还不错, 实例可以正常运行, 没有错误, 不过在我嵌入到我的代码中后, 就出现了 “table.rows[j].cells[c] is not undefined” 的错误提示了, 看了其万能的称谓还是夸张了些, 不过好在主体功能完好, 经过我的一番努力调整后总算可以正常运行了, 我修改后的函数如下:
Read more…