适用于Blogger Beta的页内评论
以前介绍过Webleon的Blogger页内评论方法,但是升级到Blogger Beta后这种方法也就随之失效了。别郁闷,世界上还有很多人和你一样在忍受着Blogger Beta自带的那个难看又烦人留言系统,不过当高手们试图通过修改以前的JS代码使之适用于新系统时,却被更加Blogger Beta那更加先进的防Spam程序难住了。原来的路走不通了,所以 Singpolyma 另辟蹊径,用一种很巧妙的方法实现了页内评论-Lightbox!(关于Lightbox的Blog应用实例请参看这里)
先解释下原理:Blogger Beta原有的评论方式是点击post a comment,然后进入(可选弹出新窗口)评论页面。Singpolyma 的新思路是,点击post a comment后,让评论页以Lightbox效果的形式(周围全黑,中间是输入框),发完评论后自动恢复到当前页,虽然跟原来的js调用大法有点区别,但这种方式也确确实实实现了“页内评论”。至于实际效果如何,请到这里测试。
实现这个功能,请严格按照以下步骤操作:
- 进入后台,选“模版“-“修改HTML“.
- 选中“扩展窗口小部件模板“一项前面的小格子,打钩。
- 将以下代码插入到模版中的</head>标签的正前方:
<script src='http://jscripts.ning.com/get.php?xn_auth=no&amp;id=1093361' type='text/javascript'/>
<script src='http://jscripts.ning.com/get.php?xn_auth=no&amp;id=2655847' type='text/javascript'/>
<link href='http://singpolyma.googlepages.com/lightbox.css' rel='stylesheet' type='text/css'/> - 查找代码
<a expr:href='data:post.addCommentUrl' expr
nclick='data:post.addCommentOnclick'><data:postCommentMsg/></a>
替换成<a class='lbOn' expr:href='"#comment-form-" + data:post.id'><data:postCommentMsg/></a> - 查找代码
<b:if cond='data:post.allowComments'>
<a class='comment-link' expr:href='data:post.addCommentUrl' expr
nclick='data:post.addCommentOnclick'><b:if cond='data:post.numComments == 1'>1 <data:top.commentLabel/><b:else/><data:post.numComments/> <data:top.commentLabelPlural/></b:if></a>
</b:if>
替换成<b:if cond='data:post.allowComments'>
<a class='comment-link lbOn' expr:href='"#comment-form-" + data:post.id'><b:if cond='data:post.numComments == 1'>1 <data:top.commentLabel/><b:else/><data:post.numComments/> <data:top.commentLabelPlural/></b:if></a>
</b:if> - 找出以下代码
<b:loop values='data:posts' var='post'>
<b:if cond='data:post.dateHeader'>
<h2 class='date-header'><data:post.dateHeader/></h2>
</b:if>
紧接其后加入<script type='text/javascript'>
var isLoad<data:post.id/> = 0;
function checkDeactivate<data:post.id/>() {
if(isLoad<data:post.id/> > 1) {
//<![CDATA[
document.getElementById('lbContent').innerHTML = '<div style="text-align:center;width:100%;font-size:16pt;font-family:sans-serif;"><br /><br /><br />Reloading...</div>';
//]]>
window.location.reload();
}//end if isLoad
isLoad<data:post.id/>++;
}//end function checkDeactivate
</script>
<div expr:id='"comment-form-" + data:post.id' style='display:none;'>
<iframe expr
nload='"checkDeactivate" + data:post.id + "();"' expr:src='data:post.addCommentUrl + "&amp;isPopup=true"' frameborder='0' style='border-width:0px;width:100%;height:380px;'/>
<div style='text-align: right;'><a class='lbAction' href='#' rel='deactivate'><img alt='' src='http://www.ning.com/xnstatic/icn/cross.gif' style='display: inline; width: 10px; height: 10px;'/> Close</a></div>
</div> - 保存模版,完成!
十二月 22nd, 2006 at 1:27 下午
哈哈
十二月 22nd, 2006 at 5:04 下午
script 的 src 错了吧?多了半个amp...
用到了prototype?太巨大了
十二月 24th, 2006 at 11:24 上午
圣诞快乐! 经常在偷师,呵呵
十二月 24th, 2006 at 11:47 下午
非常感谢,算是圣诞礼物给收下了。请问blogger可否不用借助bloggerspaces绑定域名?
十二月 24th, 2006 at 11:55 下午
可以。参考 http://help.blogger.com/bin/topic.py?topic=19
一月 22nd, 2007 at 10:57 上午
好事挺好,但是超级慢!还有什么好办法?
请问你这个页内评论是BETA版的吗?
一月 22nd, 2007 at 1:07 下午
我现在用wordpress
二月 14th, 2007 at 11:10 下午
我想用那个评论系统,但是去掉BETA以后代码变了,我很想知道怎样弄。
三月 9th, 2007 at 12:42 上午
ME too~
三月 10th, 2007 at 11:52 上午
请看这里 http://singpolyma.net/2006/12/comment-forms-and-blogger-beta/
原作者说问题可能出在第6步,用他的代码试试看吧。
七月 10th, 2007 at 9:37 下午
你的博客怎么这么强啊,传授下经验啊!
十一月 8th, 2007 at 12:21 上午
为什么没有英文好点的人,直接写封Email给Blogger方面,叫他们方便我们做评论,把模板升级为页内评论嘛
三月 21st, 2009 at 3:18 下午
图片已经失效了 !!!