2007年4月29日星期日

自杀

虽然很喜欢用BLOGGER,但是生活总是很幽默。实习中,另外还有一个博客,实在忙不过来,本博客无限期关闭。



请移步至http://www.jianrongchen.net

阅读全文↓

2007年4月17日星期二

裸聊

2005年9月15日,36岁的家庭主妇张立立(化名)在家中利用计算机使用263的E话通软件,用视频与多人共同进行裸聊时,被北京治安支队民警与分局科技信通处民警抓获。此案最后以聚众淫乱罪提起公诉。案件起诉到法院以后,法院认为很难定罪,并于2007年2月撤回起诉。
检察官认为“虽然裸聊的参与者来自各地,不具有地理概念上的空间同一性,但是由于聊天室的IP地址是固定的,即他们所聚集的网络虚拟空间的地点是固定的,因此他们在参与聚众淫乱活动时在虚拟空间中是具有空间上的同一性的,符合聚众淫乱罪的客观要件。”按照这种说法,如果我在网络游戏上与很多玩家进行PK,我们岂不都犯了聚众斗欧罪?好,你说网络游戏毕竟只是个游戏,玩家并没有实际的斗殴,那这个多人裸聊有实际的身体接触,有实际的淫乱行为吗?
聚众淫乱的客观条件并不仅仅是这一条而有:1、行为人在同一地点纠集男、女两性的多人;2、行为人藐视国家法律、社会公德进行淫乱活动;3、行为人采取了聚众奸宿或者为获取性刺激而进行多人乱交、滥交等聚众搞两性关系活动;4、造成恶劣的社会影响。就算该检查官的推断是正确的,明显在网络裸聊中就不符合客观条件中的第3、4点,我在家里脱脱衣服跟别人进行聊天,没有实际的两性关系活动,如果没有所谓的民警来捣乱,怎么造成恶劣的社会影响了。况且聚众淫乱罪是否有存在的必要还有争议,可以见李银河的《聚众淫乱法批判》()在这个公诉案中,至少法院还是做到“没法不依”,比所谓的检察官有素质,我怀疑该检察官有没有学过法律。甚至还有人提出要对网络裸聊进行单独入罪,难道我们的“有法可依”,法律完善就是这样炼成的?
在这个公诉案中,最值得我们注意的是E话通就是类似于QQ、MSN之类的IM软件——除了支持多人视频外,民警是如何获悉的呢?那我们平时用的QQ、MSN之类的聊天内容是否也是有第三只眼在看着?

阅读全文↓

2007年4月14日星期六

盗版问题

今天帮朋友去广州购书中心买几本书,就花了将近三百块钱,顺便就联想起盗版的问题。盗版的问题如果纯粹通过道德感化的方式是永远行不通的,人都是一种势利的动物,“免费”这个词在互联网上总是大行其道的。所以只能通过立法再依法执行。而中国在2005年才实施《互联网著作权行政保护办法》,注意这里还是“办法”,现在还没有看到一部像样的打击盗版法律出台。
并且现在的条例和办法实际上就是名存实亡,原因可以归结为两方面,一方面是因为民众的购买力,像vista在美国的售价跟在中国几乎差不多,美国的民众跟中国的民众购买能力差距有多大?所以微软也不用天天叫嚣要打击中国的盗版,自己没考虑市场定位怪不了别人,做了婊子就不要立牌坊。
二是中国并没有或者不愿意花财力在打击盗版上面,像美国的纽约警署有4000多人负责打击有组织犯罪,其中就有240多人是负责打击盗版。这些人都是全副武装,并拥有警车、直升机、巡逻艇、摩托车等交通工具,必要时有搜查住所、冻结银行账户等各种权力。并不是说美国人更具有反盗版的意识,而是在法律面前人人都畏惧被惩罚而已。看我们中国很多盗版软件音像店就开在公安局旁边,啥事都不会发生,估计我们敬爱的公安人员还乐滋乐滋的当那里的顾客。
上梁不正下梁歪,如果我们财力能及的,可以考虑支持正版软件和音像;如果财力不能及,不是我们的错,继续乐去吧。

阅读全文↓

2007年4月10日星期二

小众思想

经常浏览一下太蔟的博客,了解一些“小众”思想。因为我这里访问牛博需要代理,而且牛博网也不提供RSS全文订阅,上一次不容易,所以经常10来天才对牛博上关注的博客全部浏览一遍。
前几天在用google reader打开太蔟新浪博客的时候,Google reader会出现无法访问的错误,接着上GOOGLE也是无访问的,几分钟后才会恢复正常,情况就像在GOOGLE搜索非法关键词一样,我就意识到出问题了。但是心里还想着太蔟在牛博还有个博客,不用担心。今天才看到他这样的话:“本博客不再频繁更新。以后主要发表一些科普文章和关于文艺复兴后西方思想史方面的文章。”(致网友),而在这个帖子之前的一个星期,太蔟发了这样一篇帖子:[立此存照]网络红卫兵,内容转贴如下:
by sun_empire@yahoo.com
IP: 222.191.185.138
[匿名] null @ 2007-3-16 12:13:35
太蔟: 你牛逼,行,我把你的BLOG全部备份了,送给GREATFIREWALLCHINA.ORG
我看看到底网络上有多少你这样的 持不同政见者。
补充下: 我先前的回复是引用自前国家主席江泽民同志接受美国的华莱士的访问时候的原话。
我看还有谁跟帖支持太蔟。
虽然不能断定这是必然原因,有可能是太蔟“枯竭”了,写不了了。昨天看到“靠博客”木有了的消息,今天看到太蔟不写了。还有微软客服叫Live Spaces用户检查一下最近发布的网络日志是否包含有政治性或者比较敏感的词语,并予以删除,以避免“金盾系统”的屏蔽。
这几天上网心情都特沉重,就像老罗说的,半夜睡觉突然惊醒,浑身冷汗,脑子里只有一个问题:“中国未来的出路在哪里?”
转撤韬撕心砸念(八)里的一段,作为结尾:
反智主义是社会在一定阶段的必然结果,智力的进化必定包含着对现实的批判和对既有秩序的反抗,因而不受待见。大众的文化淹没精英的思想,这在所有类型的社会中都是一样的。
有着不甘心的梦想和纯粹理想的分子,无论生活在北韩还是美国,都会面临着身边所有人的反对和打压,来自于敌人的鄙夷和漠视、敌意和摧残其实大部分时候是在坚定斗志,最可怕的腐蚀来自于亲人和朋友,他们不接受你的生活方式和思想方式,你所面临的将是不解、背叛与疏离,是原本习惯的和希望维护的世界一寸一寸地分离和撕裂。
带领人类前行的思想者和探索者,背负着何等痛苦的镣铐,因此,对他们的成就,更应珍视,接过火炬,向前走下去。

阅读全文↓

2007年4月9日星期一

BLOG上的鸟事

今天增加了几个博客的RSS订阅,基本上现在增加RSS订阅都是浮躁地瞟一眼主页,从开始到未尾,基本上不超过一分钟,不管主页有多长。如果能让我停留一分钟以上,就毫不犹豫地增加,如果该博客不支持RSS全文订阅,再毫不犹豫地退订。所以现在你的博客能让读者停留一分钟以上,那就是一个成功的博客;如果能让读者停留30秒,证明你还有希望;如果基本上是在10秒内退出的,那博客就真的叫网络日志,就当做自己记事,留给自己看吧。
回头看了一下,订阅的博客基本上是男性作品;订阅的女性博客基本上也是女流氓写的,因为够剽悍。个人喜好,不喜欢天天诉说情事的博客,男性如果写得像女性,照样枪毙。
现在网络限制已经发展到开始盯上个人博客了,就像最近的ZOLA,还有我经常看的几个博客,发现最近都访问不了。我的口味跟“伟大的墙”咋就这么像呢。如果禁BLOGSPOT和WORDPRESS之类的国外大型BSP还算有点靠谱,如果开始跟个人博客杠上了,那就真的值得研究一下了。
Technorati组织称中文博客已经跃居世界第三位。并称,伊朗的Farsi语博客也呈上升趋势,这是因为受到政治压迫的人试图通过博客来发泄自己的政治情绪。那中文博客为什么会蓬勃发展呢?

阅读全文↓

2007年4月8日星期日

赞叹一下搜狗的智商

对于谷歌拼音的推出,我没有多大的热情,因为我本来就不是用拼音的,对于搜狗拼音的认识是跟着谷歌拼音的推出而同步认识,所以在这里要赞叹一下搜狗的智商——顺风而上,宣传做得很好!
这几天一打开GOOGLE READER每天都会看到十几条谷歌拼音抄袭搜狗拼音词库的新闻,烦得很。搜狗工作人员智商也确实高,在网友提出了若干证据之后,一工作人员在博客里拿搜狗词库是怎么来的,说是如何如何地艰辛,好好地拿这事炒作了一番,把顺着竿儿往上爬这一杂技发挥到了极致。一帮民族主义分子又跳出来说:“支持国货!”,看着实在闹心。
GOOGLE不管是不是抄袭了别人的词库,它放出来的东西是免费的,有个免费馒头你就凑和着吃,不好吃没人强迫你。偏偏有人乞讨还嫌人家饭臭,硬要说这饭来路不正,米是偷来的。不管是GOOGLE还是搜狗,两家都是要靠钱来喂的,捞钱的时候“不作恶”算什么?傻B们你说你们作用能有多大?帮人炒作还不亦乐乎,忙得不可开交。

阅读全文↓

2007年4月4日星期三

WordPress2.1.10和2.1.3版本释出

在geek ramblings的博客看到这一消息,这两个版本主要是修复了少数几个BUG,WORDPRESS官方建议为了BLOG的安全升级这两个版本。两个版本的修复的BUG列表请见下面两个网址:

2.0.10修复的BUG,可以在这里下载该版本。

2.1.3修复的BUG,可以在这里下载该版本。

不过4月22日Wordpress2.2版即将释出,估计现在升级也没多大意义。据Dougal介绍,2.2版本将不需要任何插件直接支持Tags,支持Atom 1.0,支持widget,改进外观等等。

阅读全文↓

牛博网开放注册了

也就是罗永浩开的博客网,http://www.bullog.cn。帖子原文请看这里:牛博网的博客已经开放注册了
也就是说牛博网不再是由老罗挑人去写博客,是谁都可以成为牛博的一员,彻底进入商业运作模式,原文中明确说明“在牛博用户自己注册的博客内,我们稍后会插入商业广告”。现在牛博网的知名度也不低,这样下去跟新浪、百度空间之类的博客就没什么区别了,都是垃圾博客和垃圾文章满天飞。认识这个博客网是因为认识了老罗,进去这个博客网之后倒是认识了很多更牛的人,什么观点都有,不管值不值得看,唯一让人有兴趣的特点就是不矫情。如果开放注册,试问牛博能有什么特点?比名人,比得过新浪?比系统,比得上大型的BSP?比服务,相信老罗也没这兴致。这样下去牛博也就不是牛博了。

阅读全文↓

2007年4月2日星期一

正在使用的WORDPRESS插件

在http://www.jianrongchen.net使用的WORDPRESS插件如下:

Collapsible More Link:提供展开收缩文章的功能,也即折叠功能。
CoolPlayer:国人开发的一个WP插件,可以播放几乎所有媒体,不过块头大了点。
External Links:提供在新窗口打开外部链接的功能。
Get Recent Comments:显示最新评论内容,WORDPRESS自带的只能显示帖子名和作者。
Google (XML) Sitemaps:自动生成网站的Sitemap,并通知GOOGLE和YAHOO,SEO插件之一。
Ultimate Tag Warrior:公认最强大的TAG管理插件,可以显示相关文章,相关标签,标签云等。
Google Sitemaps - UTW Tag Addon:把ultimate-tag-warrior生成的TAG加入Google (XML) Sitemaps生成的Sitemap中。
Pierre's Wordspew:生成一个AJAX效果的留言板,实时留言板。
Sidebar Widgets:一个图形化的侧边栏管理插件,有点像BLOGGER的LAYOUT。
ST Add Related Posts to Feed:在RSS FEED中加入相关文章。
:Tiger Style AdministrationWORDPRESS后台美化插件。
WordPress 缓存:提供对已访问页面的缓存,加快读取速度。
WP-AddQuicktag:方便地增加文章编辑器的标签,适合经常增加新插件的朋友。
WP-FLV:FLASH视频插件,块头挺小。
WP-PageNavi:替代WP原来的页面导航,改用 "共有 5 页: [1] 2 3 4 5 »"的形式。
Ajax-wp:能让Wordpress实现AJAX化的一个插件,安装有快速和定制两种方式。

阅读全文↓

去除链接中的"index.php"让WordPress实现全站AJAX

Ajax-wp是一个能让Wordpress实现AJAX化的一个插件,安装方便有快速和定制两种方式,当前版本为0.85。效果可见这里,我使用的是“定制”方式,点击链接时可以实现不用导入页眉、页脚和侧边栏,关于该插件的安装请看原文,在这里就不多说了。

作者的说法是所有链接结构Ajax-wp都可以支持,但是我使用“基于日期和名称”或“数字”时,该插件都会出现BUG,不知道大家有没有碰到这种情况,所以只能使用默认的链接结构了,也就是"homeroot/?p=123"的形式,但是使用这种结构时,页面导航都调用不了该插件,而要接所有的JS文件再LOAD一遍。

禁用该插件后,查看页面导航的链接发现是因为页面的链接使用了"homeroot/index.php?paged=X"的形式,因此只要删除"index.php"这几个字符也即改为"homeroot/?paged=X"的形式就可以让Ajax-wp发挥作用了。Google和Baidu了一圈都没有发现好用的解决方法,只能自己动手了。打开链接模版,路径在"/wp-includes/link-template.php",页面功能的函数为"function get_pagenum_link",研究了半天发现在这个函数里本来就有一句

$qstr = preg_replace("#/*" . $index . "/*#", '/', $qstr);
开发者在注释里说明这句的作用就是"trim the index":)。于是可以在后面加上这一句话,不论前面的$qstr如何替换,到最后把$index剪掉再赋值给$qstr就可以实现效果了。加入的位置见下面红色代码

if ( 1 === $pagenum ) {
$qstr = str_replace('page/1/', '', $qstr); // for mod_rewrite style
$qstr = remove_query_arg('paged', $qstr); // for query style
}
$qstr = preg_replace("#/*" . $index . "/*#", '/', $qstr);
return $qstr;
}

保存完成,体验一下什么叫Web2.0吧。除了评论基本上已实现AJAX化,AJAX评论的插件都与Ajax-wp有冲突,所以还是将就吧。另外把53K的protoype.js文件改为protoype.php让wordpress进行压缩,httpwatch测试了一下,文件大小减小为12K,传输时间大大减少。虽然这种方法让该文件要通过解释器解释,但是只读取一次,折衷吧,而且可以在浏览器CACHE调用。压缩的方法请见这篇文章,在这里不多说。

阅读全文↓

博客内容变更

为免自己的博客搞得不伦不类的,即日起BLOGSPOT博客只发布有关IT的文章,而自己架的WORDPRESS只发布扯淡文章。本地址其他文章已删除,请访问http://www.jianrongchen.net
另外给本博客做了个域名转向,可以用http://it.jianrongchen.net。试了一下FTP发布,发现发过去网页的显示方式有点问题,懒得去找原因了,而且本人也不喜欢BLOGGER的经典模版,最严重的是在输入文章的地址居然会跳到主页去,所以还是意淫一下,使用鸡肋吧。好好的域名就只能用来转向,小材大用,这得归功于ghs.google.com被“和谐”了,要不用域名绑定是最好的解决办法了,GFW不知道为国家的GDP作了多少的贡献。BLOGSPOT在上个月经历了两封两开,快佩服到地上了。

阅读全文↓

2007年3月22日星期四

架设了自己的博客

Great Firewall不知道出于什么心态,BLOGSPOT又被BAN了,域名绑定也早己被封,真是命运多舛。封封停停已经多次,GFW也就一嫖客,这次又不知道什么时候解封了,把BLOG托管在BLOGSPOT上真是不保险。
对于用惯BLOGGER的人来说,国内任何一个博客网的自由度都比较低,没办法,外国的月亮就是圆。最终选择投入WordPress的怀抱,WordPress本身提供的博客服务也在被封之列,虽然国内有免费的WordPress托管商,还是感觉不自由,选择自己架一个算了。基于WordPress的BLOG架设已经基本上完成,请访问Http://www.jianrong@chen.net,由于最近在忙开题的事情,暂时停止更新。
本博客会继续更新,权当备份。

阅读全文↓

2007年3月16日星期五

为BLOGGER添加“跳到底部导航”的链接

因为BLOGGER的导航链接放在下边,相当不方便。如果不想做页首导航栏,添加一个“跳到底部”的链接是个不错的解决方法,而且在帖子页也可以方便读者评论。方法很简单:
1.如果想跳到帖子区域的底部,可以在适当位置加入下面代码(如果想跳到导航及发表评论链接,使用该项即可):
<a href='javascript:scroll(0,main.scrollHeight)' title='Scroll to bottom of posts'>跳到导航链接↓</a>
如本BLOG加在日期显示后面:
<b:if cond='data:post.dateHeader'>
<h2 class='date-header'><data:post.dateHeader/><a href='javascript:scroll(0,main.scrollHeight)' title='Scroll to bottom of posts'> 跳到导航链接↓</a></h2>

2.如果想跳到侧边栏底部,可以在适当位置加入下面代码:
<a href='javascript:scroll(0,sidebar.scrollHeight)' title='Scroll to bottom of sidebar'>跳到侧边栏底部↓</a>
3.如果想跳到整个页面底部,可以在适当位置加入下面代码:
<a href='javascript:scroll(0,document.body.scrollHeight)' title='Scroll to bottom of this page'>跳到页面底部↓</a>

阅读全文↓

2007年3月13日星期二

I have my iPhone with me

阅读全文↓

精简BLOG

因为感觉打开BLOG太慢,刚刚把AJAX搜索和AJAX标签删了。毕竟BLOG最重要的是内容而不是花哨的功能,牛人自牛,不用靠点缀。还是少用点JS,网页速度快了,大家心情也好一点,多点击一下鼠标多用一下滚轮累不死人。简单才是生活的真谛。

阅读全文↓

2007年3月8日星期四

Blogger 实用 Hack 技巧总结之三

7.让某一元素只在首页或非首页显示
通过元素的title搜索到后,按需要加入下面红色代码。
<b:widget id='HTML1' locked='false' title='Recent Articles' type='HTML'>
<b:includable id='main'>

<b:if cond='data:blog.homepageUrl == data:blog.url'> /*只在首页显示*/
<b:if cond='data:blog.homepageUrl != data:blog.url'> /*不在首页显示*/

<!-- only display title if it's non-empty -->
<b:if cond='data:title != ""'>
<h2 class='title'><data:title/></h2>
</b:if>
<div class='widget-content'>
<data:content/>
</div>
<b:include name='quickedit'/>

</b:if>

</b:includable>
</b:widget>


8.高亮作者评论咖啡鱼原文
第一步,添加CSS:
.comment-body-author {
margin:0;
padding:20px 0 20px 40px;
}
.comment-body-author p {
font-size:100%;
margin:0 0 .2em 0;
color:#CC3300; /*字体颜色*/
text-decoration:bold; /*字体样式,默认加粗*/
}

第二步:找到以下类似代码,全部替换:
<a expr:name='"comment-" + data:comment.id'/>
<b:if cond='data:comment.authorUrl'>
<a expr:href='data:comment.authorUrl' rel='nofollow'><data:comment.author/></a>
<b:else/>
<data:comment.author/>
</b:if>
<data:commentPostedByMsg/>
</dt>
<b:if cond='data:comment.author == data:post.author'> <dd class='comment-body-author'> <p><data:comment.body/></p> </dd> <b:else/>
<dd class='comment-body'>
<b:if cond='data:comment.isDeleted'>
<span class='deleted-comment'><data:comment.body/></span>
<b:else/>
<p><data:comment.body/></p>
</b:if>
</dd>
</b:if>
<dd class='comment-footer'>


9.具有按钮效果的链接咖啡鱼原文
想在博客的某一部分加上这个效果,可以搜索a:hover,在属性里增加position: relative; top: 1px; left: 1px;。如:
a:hover {
text-decoration: underline;
color: #0094F0;
position: relative; top: 1px; left: 1px;
}

如果只想单独定义某个链接,请查看原文

10.收缩展开文章原文
原文已经介绍得很清楚,在这里不帖出原代码,需要注意的是,这一语句<script type='text/javascript' src='http://jrchen82.googlepages.com/hackosphere.js' />,必须粘在</head>前方。
这一语句:
<p><a expr:onclick='"javascript:showFull(\"post-" + data:post.id + "\");"' href='javascript:void(0);'>Read More...</a></p>
可以改为下面的形式,增加一小图片,
<p><a expr:onclick='"javascript:showFull(\"post-" + data:post.id + "\");"' href='javascript:void(0);'>显示全文<img border='0' src='http://jrchen82.googlepages.com/readmore.gif'/></a></p>
同理,
<p><a expr:onclick='"javascript:hideFull(\"post-" + data:post.id + "\");"'href='javascript:void(0);'>Summary only...</a></p>
可以改为:
<p><a expr:onclick='"javascript:hideFull(\"post-" + data:post.id + "\");"'href='javascript:void(0);'>显示摘要<img border='0'
src='http://jrchen82.googlepages.com/summary.gif'/></a></p>

11.添回到页首,回到帖子标题链接
找到下面的代码,并添加红色部分。如果使用了上一个HACK,可略过此步
<b:includable id='post' var='post'>
<div class='post' expr:id='"post-" + data:post.id' >

把下面代码粘在<b:include data='post' name='postQuickEdit'/>之后或任何你想让它出现的地方。
<a expr:onclick='"javascript:document.getElementById(\"post-" + data:post.id + "\").scrollIntoView(true);"' href='javascript:void(0);' title='Scroll to top of post'>回到开头↑</a>
<!-- to top of page and top of blog -->
<a href='javascript:scroll(0,0)' title='Scroll to top of this page'>回到页首↑</a>

同样这里可以仿照上一个HACK,加入小图标。

12.显示相关文章(原文
第一步:选中“扩展窗口小部件模板”,把下面代码放在</head>正前方
<script type="text/javascript">
//<![CDATA[
var relatedTitles = new Array();
var relatedTitlesNum = 0;
var relatedUrls = new Array();
function related_results_labels(json) {
for (var i = 0; i < json.feed.entry.length; i++) {
var entry = json.feed.entry[i];
relatedTitles[relatedTitlesNum] = entry.title.$t;
for (var k = 0; k < entry.link.length; k++) {
if (entry.link[k].rel == 'alternate') {
relatedUrls[relatedTitlesNum] = entry.link[k].href;
relatedTitlesNum++;
break;
}
}
}
}
function removeRelatedDuplicates() {
var tmp = new Array(0);
var tmp2 = new Array(0);
for(var i = 0; i < relatedUrls.length; i++) {
if(!contains(tmp, relatedUrls[i])) {
tmp.length += 1;
tmp[tmp.length - 1] = relatedUrls[i];
tmp2.length += 1;
tmp2[tmp2.length - 1] = relatedTitles[i];
}
}
relatedTitles = tmp2;
relatedUrls = tmp;
}
function contains(a, e) {
for(var j = 0; j < a.length; j++) if (a[j]==e) return true;
return false;
}
function printRelatedLabels() {
var r = Math.floor((relatedTitles.length - 1) * Math.random());
var i = 0;
document.write('<ul>');
while (i < relatedTitles.length && i < 20) {
document.write('<li><a href="' + relatedUrls[r] + '">' + relatedTitles[r] + '</a></li>');
if (r < relatedTitles.length - 1) {
r++;
} else {
r = 0;
}
i++;
}
document.write('</ul>');
}
//]]>
</script>

第二步:找到以下代码:
<b:if cond='data:post.labels'>
<data:postLabelsLabel/>
<b:loop values='data:post.labels' var='label'>
<a expr:href='data:label.url' rel='tag'><data:label.name/></a><b:if cond='data:label.isLast != "true"'>,</b:if>
</b:loop>
</b:if>

更改为:
<b:if cond='data:post.labels'>
<data:postLabelsLabel/>
<b:loop values='data:post.labels' var='label'>
<a expr:href='data:label.url' rel='tag'><data:label.name/></a><b:if cond='data:label.isLast != "true"'>,</b:if>
<b:if cond='data:blog.pageType == "item"'>
<script expr:src='"/feeds/posts/default/-/" + data:label.name + "?alt=json-in-script&callback=related_results_labels&max-results=10"' type='text/javascript'/>
</b:if>
</b:loop>
</b:if>

第三步:保存,跳转至页面元素,添加一个HTML/Javascript元素,命名为“相关文章”,放入以下代码:
<script type="text/javascript">
removeRelatedDuplicates();
printRelatedLabels();
</script>

第四步:回到Html编辑,选中“扩展窗口小部件模板”,查找“相关文章”,把该部分加入红色代码:
<b:widget id='HTML ' locked='false' title='相关文章' type='HTML'>
<b:includable id='main'>
<b:if cond='data:blog.pageType == "item"'>
<!-- only display title if it's non-empty -->
<b:if cond='data:title != ""'>
<h2 class='title'><data:title/></h2>
</b:if>
<div class='widget-content'>
<data:content/>
</div>
<b:include name='quickedit'/>
</b:if>
</b:includable>
</b:widget>

绿色部分为自定义项目。

阅读全文↓

BLOGGER上的AJAX应用

注意添加这两个效果之后,博客打开速度有所下降,记得装酷是要付出代价的。

1.Ajax搜索
原作者GG派,我把代码删减了,只留下博客的搜索结果,算是大材小用了:),要加上其他内容请查看原文
第一步:点击这里,输入你的博客地址,同意google条款,申请一个google AJAX API key。
第二步:COPY下面的代码,放在 ]]></b:skin>之后,</head>之前
<link href='http://www.google.com/uds/css/gsearch.css' rel='stylesheet'
type='text/css'/>
<style type='text/css'>
.gsc-control {
width: 95%;
}
</style>
<script src='http://www.google.com/uds/api?
file=uds.js&v=1.0&key=你申请到的KEY' type='text/javascript'/>
<script language='Javascript' type='text/javascript'>//<![CDATA[
function OnLoad() {
// create a search control
var searchControl = new GSearchControl();
// web search, open, alternate root
var options = new GsearcherOptions();
options.setExpandMode(GSearchControl.EXPAND_MODE_OPEN);
options.setRoot(document.getElementById("somewhere_else"));
var blogSearch = new GblogSearch();
blogSearch.setUserDefinedLabel("你的博客名称");
blogSearch.setSiteRestriction("http://你的网址.blogspot.com");
searchControl.addSearcher(blogSearch, options);
// tell the searcher to draw itself and tell it where to attach
searchControl.draw(document.getElementById("search_control"));
// execute an inital search
searchControl.execute(initSearch);
}
GSearch.setOnLoadCallback(OnLoad);
//]]>
</script>

第三步,切换到页面元素,弹出消息框,确定忽略,烦人的是以后到这里都会弹出这个消息框。
新建两个页面元素,放进以下代码:
下面代码放进的页面元素显示搜索框,可以改为任意你喜欢的图片,或者不显示任何图片:
<div id="search_control"><img
src="http://jrchen@82.googlepages.com/wbbar.gif"/></div>

下面代码放进的页面元素显示搜索结果,同样可以加入HTML语言:
<div id="somewhere_else"></div>
保存完成。

2.Ajax 标签
原作者Deepak点击这里查看原文,由GG派改进
第一步:COPY 下面代码 ,放在 ]]></b:skin>之后,</head>之前:
<style type='text/css'>
#indicator {position:fixed;z-index:1000;padding:15px 0;top:40%;background-color:white;border:1px solid #AAAAAA;width:180px;left:55%;text-align:center;}
* html #indicator{ /*IE6 only*/
position:absolute;
}
#search-result {border:1px solid #AAAAAA;padding:10px;padding-bottom:30px;font-size:85%;}
.search-result-meta {background:#EFEFEF;padding:2px;}
.search-result-meta img {border-width:0;vertical-align:text-bottom;}
.search-title {font-size:128%;padding-bottom:3px;font-weight:bold;text-align:left;text-decoration:underline;}
.search-cat {display:block;padding:3px;font-size:1em;margin-top:5px;margin-bottom:5px;border-bottom:1px solid #C0C0C0;font-weight:bold;}
.search-close {color:silver;float:right;font-weight:bold;border:1px solid #F5F5F5;margin-top:10px;cursor:pointer;}
.search-result-nav {font-size:1.2em;font-weight:bold;padding:5px 0pt;text-align:center;}
</style>
<script src='http://jrchen@82.googlepages.com/prototype.js' type='text/javascript'/>
<script type='text/javascript'>
//<![CDATA[
// 用户自定义参数
// ----------------------------
var maxresults = 5;//每页打开的文章数
var navFlag = 1; //是否打开翻页功能,不打开设为0
var feedLabel = "Subscribe to";//RSS标签文字
var catLabel = "Sorted into:";//描述分类标签文字
var closeLabel = "Click to close";//关闭按钮文字,可以使用HTML语言
//]]>
</script>
<script src='http://jrchen@82.googlepages.com/ajaxla.js' type='text/javascript'/>

第二步:找到下面的代码:
<b:loop values='data:post.labels' var='label'>
<a expr:href='data:label.url' rel='tag'><data:label.name/></a>

替换为:
<b:loop values='data:post.labels' var='label'><a href='#sres' expr:onclick='"javascript:getCat(\"" + data:label.name + "\",null)"' rel='tag'><data:label.name/></a>
找到标签元素的类似代码(没有添加标签元素的话先添加再修改):
<b:if cond='data:blog.url == data:label.url'>
<data:label.name/>
<b:else/>
<a href='data:label.url'><data:label.name/></a>
</b:if>

替换为:
<b:if cond='data:blog.url == data:label.url'>
<data:label.name/>
<b:else/>
<a href='#sres' expr:onclick='"javascript:getCat(\"" + data:label.name + "\",null)"' ><data:label.name/></a>
</b:if>

第三步,增加一个新的页面元素用来显示点击标签后的结果,建议放在帖子上方。
页面元素内部添加代码如下:
<div id="indicator" style="display:none"><img alt="Indicator" src="http://bloggerhacked.googlepages.com/indicator.gif"/> Loading...</div><div id="search-result" style="display:none"><a name="sres"></a><div class="search-close" onclick="javascript:Element.hide('search-result');Element.show('Blog1');"><script type="text/javascript">document.write(closeLabel);</script></div><div id="show-result"></div><div class="search-close" onclick="javascript:Element.hide('search-result');Element.show('Blog1');"><script type="text/javascript">document.write(closeLabel);</script></div></div>
保存完成。

阅读全文↓

2007年3月7日星期三

使用Google Blog Search为Blogger添加全文搜索

前些日子介绍了使用Blogger本身提供的Search功能为本站添加搜索,但是该功能只能搜索帖子标题,对全文搜索无能为力。对于BLOG内容较多,帖子标题又无法反映全部内容的,增加一个全文搜索确实必要。很多朋友都在BLOG里调用Google搜索引擎进行全文搜索,但对于BLOG来说及时性很差,往往需要几天时间才能更新。而Google Blog Search(以下简称GBS)的更新非常快,几乎是当天就可以检索到。所以这里介绍如何在Blogger里添加GBS功能进行本站全文搜索,使用Javascript实现。
1.COPY下面源代码(yourname改为你自己的名字)<script type="text/javascript">
function blogsearch () {
var wq=document.getElementsByName("wq")[0].value;
var link="http://blogsearch.google.com/blogsearch?hl=en&ie=UTF-8&q=blogurl:http://yourname.blogspot.com+"+wq;
window.open(link); }
</script>
<input id="query" name="wq" type="text"/>
<input id="b-searchbtn" value="Search" onclick="javascript:blogsearch()" type="submit"/>

2.进入控制台——模版——页面元素——添加页面元素——添加HTML/JavaScript——粘贴源代码——输入标题——保存。
3.同样如果想更改该控件格式,可以在CSS样式表中加入下面代码(已有的不用再添加)#query {
width:150px;
border:1px solid #999;
background: #fff;
}
#searchbtn {
border:1px solid #999;
background: #fff;
}

4.如果你嫌GBS更新还不够快,可以使用它的Ping服务功能,每次你更新Blog之后可以访问http://blogsearch.google.com/ping,手动提交你的BLOG,可以使你的BLOG更新更快。因为GBS更新已经非常快,自动Ping在这里就不介绍了。

阅读全文↓

2007年3月2日星期五

Blogger 实用 Hack 技巧总结之二

4.去除Blogger页面顶端的NavBar
进入控制台——模版——修改HTML,在CSS样式表中间加入下面代码
#navbar-iframe {
height:0px;
visibility:hidden;
display:none
}

保存退出

5.在Blogger页面添加站内搜索
如果去除了NavBar,又想增加一个站内搜索,可以COPY下面源代码

<form id="searchthis" action="http://yourname.blogspot.com/search" style="display:inline;" method="get"><br/>
<input id="query" name="q" type="text"/>
<input id="b-searchbtn" value="搜索" type="submit"/><br/></form>

进入控制台——模版——页面元素——添加页面元素——添加HTML/JavaScript——粘贴源代码——输入标题——保存。 如果想更改该控件格式,可以在CSS样式表中加入下面代码
#query {
width:150px;
border:1px solid #999;
background: #fff;
}

#searchbtn {
border:1px solid #999;
background: #fff;
}

根据需要修改搜索框长度,背景色,边框等等。

6.在文章中粘贴代码
将所有的<替换成&lt;然后再发表,用这种方法不仅可以在Blogger里正常输出文件,而且COPY后不用再去替换全角,很是方便。如有必要,还可以将>替换成> 。如果要像本BLOG那样显示代码,可以在CSS样式表中加入下面代码。
CODE {
display: block; /* fixes a strange ie margin bug */
font-family: Courier New;
font-size: 8pt;
overflow:auto;
background: #f0f0f0 url(http://klcintw.images.googlepages.com/Code_BG.gif) left top repeat-y;
border: 1px solid #ccc;
padding: 0px 10px 10px 21px;
max-height:200px;
line-height: 1.2em;
}

在编写帖子时,在代码两边加上<code>和</code>

阅读全文↓

Blogger 实用 Hack 技巧总结之一

不讨论经典模版的技巧,在修改模版前建议保存一份副本。
1.在Blogger首页显示摘要
进入控制台——模版——修改HTML——点选扩展窗口小部件模板
定位红色代码 <p><data:post.body/></p>
替换为蓝色代码 <b:if cond='data:blog.pageType == "item"'>
<style>.fullpost{display:inline;}</style>
<p><data:post.body/></p>
<b:else/>
<style>.fullpost{display:none;}</style>
<p><data:post.body/>
<br></br>
<b:if cond='data:post.url'>
<a expr:href='data:post.url'>显示全文......</a>
<b:else/>
<data:post.title/>
</b:if>
</p>
</b:if>

进入控制台——设置——格式设定——文章模版中加入如下代码
<span class="fullpost"></span>
代码中“显示全文......”可以更改为任意你喜欢的文字,编写帖子时,要隐藏的内容写在<span class="fullpost">与</span>之间。
此方法只对新编写的帖子有用,如果以前的文章要以摘要方式显示,必须编辑文章,在隐藏文字两边分别加上<span class="fullpost">和</span>;另一种方法是对每篇文章截取固定像素,使首页看起来很整齐,不用编辑以前的帖子,但是如果文章开始是一个大图片,该方法只会截取一段显示,反而影响美观,在这里不介绍。

2.在Blogger右侧栏显示最新文章
进入控制台——模版——页面元素——添加页面元素——供稿——输入供稿地址http://yourname.blogspot.com/feeds/posts/default(其中yourname改为你博客的地址,以下相同)——更改标题和选项——保存。这个方法虽然简单,但是只能显示5条信息。
另一方法是登录GOOGLE READER,在左侧导航栏点击Add subscription——输入http://yourname.blogspot.com/feeds/posts/default——Add——点击上侧导航 Settings——Subscriptions——Change folders... ——New folder...——输入myblog——确定后进入Tag——点击private左边的小图标,将该文件夹公开——点击add a clip to your site——设置标题,样式,显示条目等——如果你觉得10条不够,可以把下面源代码中的myblog?n=10改为myblog?n=XX(1000条以下)——COPY源代码;
进入控制台——模版——页面元素——添加页面元素——添加HTML/JavaScript——粘贴源代码——输入标题——保存。

3.在Blogger右侧栏显示最新评论
与显示最新文章方法相同,只需要把供稿地址,也即RSS Feeds地址改为http://yourname.blogspot.com/feeds/comments/default。2和3使用GOOGLE READER的方法必须有帖子或评论才能成功。

阅读全文↓

2007年3月1日星期四

使用Trixie插件访问GOOGLE快照

作为GOOGLE的FANS却一直在使用BAIDU,只因GOOGLE的网页快照在国内不能用,网上一直有访问GOOGLE快照的方法,基本原理就是把快照网址里的“search?q=cache”进行断句,如改成"search?shit=&q=cache”,但是每次打开都要改一下,烦得很,像我这种懒人总希望找个一劳永逸的方法。于是想到了IE的“Trixie”进行网址自动更改,搜索了一下,已经有很多人介绍了,不灵光的也多;网上也有叫“GOOGLE快照助手”的软件,没有用过,懒人可以下来试用一下。下面提供一种方法,经测试可行。
需要工具
1.Microsoft .NET Framework 华军下载地址
2.Trixie 官方下载地址
装完上面两个软件后,粘贴下面代码到一文本文档中
// ==UserScript==
// @name Enable Google Caches
// @namespace http://jianrongchen.blogsopt.com/
// @description Enable Google caches
// @include search
// ==/UserScript==

(function()
{
var allLinks = document.links;
if (allLinks != null)
{
for (i = 0; i < allLinks.length; ++i)
{
if (allLinks [i].href.indexOf ("/search?q=cache:") > 0)
{
allLinks [i].href = allLinks [i].href.replace ("/search?q=cache:", "/search?shit&q=cache:");
}
}
}
}
)();

另存为Googlecache.user.js,保存至Trixie的Scripts文件夹,默认为“C:\Program Files\Bhelpuri\Trixie\Scripts”,打开IE——工具——Trixie Options...——Reload Scripts——点选Enable Google Caches——OK退出。
注:代码里面的search?shit&q=cache可能会过期,一段时间后不能用可以把“shit”改为任意你喜欢的字符,这是很多所谓“GOOGLE快照助手”所不具有的优点。
测试环境:Windows XP SP2;IE 6.0;.NET Framework 1.1。
也可以参考孤掌难鸣博客另一种Trixie脚本,可以直接下载;孤掌难鸣也编写了一个IE插件,懒人可以看一下。

阅读全文↓

2007年2月24日星期六

自己动手在极品9生涯里添加BMW M3

这是我以前在一论坛上发的帖子,对极品9感兴趣的朋友可以研究一下,有问题可以留言,转载请注明出处和作者,非出自风轮博客的均为盗版。
经过这些步骤,你可以在生涯的任何时刻使用男主角的BMW M3 GTR,包括完成度为0并且可以加上全U套件和究极N2O,只需简单几个步骤,你就可以拥有这辆超强的M3动心了没有?那就接着看吧

需要工具
1:16进制编辑器,如Ultraedit,到这里下载。
2:Need For Speed Most Wanted Save Editor(修复存盘文件用),点击这里下载。
首先备份自己的存盘文件,然后用Ultraedit打开存盘文件存盘文件位于:我的文档\NFS Most Wanted按CTRF+F 查找 4E 4A CC 23 B3 5F 08 4E 20,找到后将后面的20改成01,如下图
保存退出用Need For Speed Most Wanted Save Editor修复这个存盘文件,如下图所示
进入游戏,进入汽车商店购买这辆BMW M3 GTR, 这一步非常重要,否则下面无法进行在商店里的这辆车是红色的,购买后退出游戏。下面将说说如何将这辆车改成男主角刚开始驾驶的M3,并加上全U套件和究极N2O。
再用Ultraedit打开存盘文件,查找4E 4A CC 23 B3 5F 08 4E 02,注意这里后面的数字是02,代表你的车库中已有的车,02后面为 00 0F 00 XX,XX代表这辆BMW的修改位,每个人都可能不同,我这里是21,见下图
再按CTRF+F 向下查找XX CD CD CD,比如我是21,就查找21 CD CD CD ,注意找到21CDCDCD之后要往前看,这辆车的修改位置我用红色笔圈起来了,大家可以看到它是在20CDCDCD之后开始到21CDCDCD结束。注意下图圆圈中的代码
改为下图圆圈中的代码,如果不改性能,则不要动蓝色圆圈中的代码,其中03为N2O,5F为U件的和
保存退出再用Need For Speed Most Wanted Save Editor修复这个存盘文件。
OK,大功告成,进入游戏,享受你的生涯吧。
注:已经完成生涯模式的,如果需要加上加上全U套件和究极N2O,查找车库中BMW M3的代码 为4E 4A CC 23 B3 5F 08 4E 42,注意这里是42,代表赢得的车,同样用42后面的修改位,查找 XX CD CD CD更改上图蓝色圆圈中的数字,保存后用Need For Speed Most Wanted Save Editor修复即可

阅读全文↓